ReplayRCA: Measuring Post-hoc Diagnosis and Live Oversight of Agent Failures by Counterfactual Replay
Abstract
When a language-model agent fails a multi-step task, can another model find the decisive mistake and fix it with a single action? We introduce ReplayRCA, a benchmark that scores such diagnoses by intervention rather than by agreement with annotations: the environment is restored to the state preceding the chosen step, the proposed action replaces the agent's own, and the same agent continues. The score, causal repair, is the continuation success rate minus that of a paired placebo that replays the agent's original action through the same mechanism. Two tracks share this protocol: a post-hoc autopsy, where the diagnoser sees the whole failed run and is told that it failed, and live oversight, where a supervisor watches the run unfold and may intervene once, before an irreversible action, without knowing whether the run will fail. Tasks come from OpsWorld, a deterministic, procedurally generated back-office environment with six difficulty levels, the last of which is multimodal (QR codes, handwriting). On 62 calibrated systematic failures, the best of 13 frontier models (Grok 4.7) reaches a causal repair of +51.3 points; the top eight models are statistically indistinguishable, the flagship models of the two largest vendors rank 8th and 12th, and 5 items are repaired by no model. Forcing a strong model to intervene at the last step costs it 17.1 points, so the last-step shortcut of annotation-based attribution benchmarks does not transfer. On 87 runs, the two best live supervisors are statistically tied and one of them is a small open-weight model (DeepSeek V4.1 Flash); the supervisor that is among the best post-hoc diagnosers (GPT-6.1 Sol) is the weakest live one (-14.5 points on the same runs, p = 0.002), so post-hoc diagnostic performance can be a poor proxy for live oversight. The environment and the evaluation code are released at https://github.com/jeremy1392/RCAreplay.
Figures & tables
| # | Model | Vendor | Effort | Causal repair | 95% CI | Fix rate | Fully fixed | Valid | Reasoning tokens | Output tokens |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Grok 4.7 | xAI | xhigh | 55.8% | 27 | 62 | 38 820 | 38 996 | ||
| 2 | Kimi K3 | Moonshot | max | 53.5% | 23 | 62 | 12 099 | 12 570 | ||
| 3 | Gemini 4 Argon | high | 52.3% | 24 | 60 | 19 125 | 19 399 | |||
| 4 | Gemini 3.8 Flash | high | 53.5% | 25 | 55 | 41 704 | 42 445 | |||
| 5 | GPT-6.1 Sol | OpenAI | max | 50.6% | 18 | 62 | 3 385 | 3 491 | ||
| 6 | GLM 5.3 † | Z.ai | max | 49.0% | 16 | 59 | 26 772 | 26 986 |
| Diagnoser | Step | Replacement action | Fix | Placebo | Causal repair |
|---|---|---|---|---|---|
| Grok 4.7 | 43 | send_email {"to":"[email protected]","subject":"EUR259.40... | 5/5 | 1/5 | |
| Kimi K3 | 43 | send_email {"to":"[email protected]","subject":"Late-deliv... | 5/5 | 1/5 | |
| Gemini 4 Argon | 43 | send_email {"to":"[email protected]","subject":"Late-deliv... | 5/5 | 1/5 | |
| GPT-6.1 Sol | 43 | send_email {"to":"[email protected]","subject":"Late-deliv... | 5/5 | 1/5 | |
| GLM 5.3 | 43 | send_email {"to":"[email protected]","subject":"Late-deliv... | 5/5 | 1/5 | |
| Claude Opus 5.5 | 43 | send_email {"to":"[email protected]","subject":"Late-deliv... | 5/5 | 1/5 |
| # | Supervisor | Net | 95% CI | Effect, failing runs | Intervened | Effect, succeeding runs | False alarms | Calls | Tokens / call |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Gemini 3.8 Flash | 59/62 | 2/25 | 872 | 5 906 | ||||
| 2 | DeepSeek V4.1 Flash | 62/62 | 3/25 | 790 | 8 660 | ||||
| 3 | Claude Haiku 5.5 | 61/62 | 1/25 | 964 | 1 732 | ||||
| 4 | GPT-6 Luna | 62/62 | 8/25 | 812 | 1 766 | ||||
| 5 | GPT-6.1 Sol | 62/62 | 3/25 | 746 | 1 008 |
| Supervisor | False alarms, Qwen successes | False alarms, other successes | Net, all its runs | Net, non-Qwen runs |
|---|---|---|---|---|
| Gemini 3.8 Flash | 2/18 | 0/7 | (87) | (69) |
| DeepSeek V4.1 Flash | 3/18 | 1/13 | (93) | (75) |
| Claude Haiku 5.5 | 1/18 | 0/13 | (93) | (75) |
| GPT-6 Luna | 7/18 | 2/13 | (93) | (75) |
| GPT-6.1 Sol | 3/18 | 2/13 | (93) | (75) |
| Model | Autopsy | Live oversight | 95% CI | ||
|---|---|---|---|---|---|
| GPT-6.1 Sol | 0.002 | ||||
| GPT-6 Luna | 0.452 | ||||
| Gemini 3.8 Flash | 0.765 | ||||
| Claude Haiku 5.5 | 0.609 |
| Configuration | Causal repair | 95% CI | Reasoning tokens |
|---|---|---|---|
| GPT-6.1 Sol, medium effort | 283 | ||
| GPT-6.1 Sol, max effort | 3 385 | ||
| GPT-6.1 Sol, max effort, forced last step | — | ||
| Claude Haiku 5.5, high effort | 3 921 | ||
| Claude Haiku 5.5, max effort | 47 602 | ||
| GPT-6 Luna, max effort, first sample | 13 214 |
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| Tool | Arguments (? = optional) | Description |
|---|---|---|
| list_docs | List the internal documents (policies, notices, handbooks). | |
| read_doc | name: string | Read an internal document. |
| list_tickets | status?: string, page?: integer | List support tickets, 5 per page, oldest first. |
| read_ticket | ticket_id: string | Read a support ticket. |
| search_customers | query: string | Search customers by (part of) name or email. |
| get_customer | customer_id: string | Get a customer’s details. |
| Task family | Level | Failing worker | Items |
|---|---|---|---|
| late delivery | 4 | Claude Haiku 5.5 | 1 |
| late delivery | 4 | DeepSeek V4.1 Flash | 7 |
| late delivery | 4 | GPT-6 Luna | 4 |
| late delivery | 5 | DeepSeek V4.1 Flash | 9 |
| late delivery | 5 | GPT-6 Luna | 1 |
| late delivery | 6 | DeepSeek V4.1 Flash | 12 |
| Worker | Late delivery (L4 / L5 / L6) | Recall (L4 / L5 / L6) | Damage (L4 / L5 / L6) | ||||||
|---|---|---|---|---|---|---|---|---|---|
| DeepSeek V4.1 Flash | 63% (30) | 60% (30) | 53% (30) | 93% (30) | 87% (30) | 43% (30) | 100% (10) | 100% (10) | 93% (30) |
| Qwen 3.8 Flash | 94% (77) | 91% (80) | 92% (80) | 100% (30) | 100% (30) | 100% (30) | 100% (10) | 100% (10) | 90% (30) |
| GPT-6 Luna | 40% (10) | 40% (10) | 30% (10) | 80% (10) | 80% (10) | 50% (10) | 100% (10) | 80% (10) | 100% (10) |
| Claude Haiku 5.5 | 90% (10) | 100% (10) | 100% (10) | 90% (10) | 50% (10) | 30% (10) | 100% (10) | 100% (10) | 90% (10) |
| Checker violations of the failing run | Items | Model-averaged causal repair |
|---|---|---|
| 3+ kinds | 13 | |
| missing/incomplete email + missing refund | 12 | |
| missing/incomplete email + unexpected refund | 8 | |
| unexpected refund | 6 | |
| wrong refund amount | 6 | |
| missing/incomplete email | 5 |
| Trap present in the task | Items | Model-averaged causal repair |
|---|---|---|
| pagination | 62 | |
| outdated policy | 37 | |
| unread memo | 37 | |
| boundary | 35 | |
| namesake | 34 | |
| prior refunds | 34 |
| Model | Levels 4–5 | Level 6 | |
|---|---|---|---|
| Gemini 4 Argon | |||
| Grok 4.7 | |||
| Gemini 3.8 Flash | |||
| Kimi K3 | |||
| GPT-6.1 Sol | |||
| DeepSeek V4 Pro † |
| Relative position of the chosen step | Diagnoses | Placebo success | Fix success | Causal repair |
|---|---|---|---|---|
| 62 | 19% | 66% | ||
| 50 | 5% | 40% | ||
| 206 | 2% | 29% | ||
| 357 | 9% | 48% | ||
| final step | 117 | 0% | 90% |
| Model | Causal repair | Rank | Agreement with the consensus step | Rank |
|---|---|---|---|---|
| Grok 4.7 | 1 | 79% | 3 | |
| Kimi K3 | 2 | 74% | 6 | |
| Gemini 4 Argon | 3 | 74% | 6 | |
| Gemini 3.8 Flash | 4 | 65% | 11 | |
| GPT-6.1 Sol | 5 | 84% | 2 | |
| GLM 5.3 | 6 | 76% | 5 |
| Supervisor | ||||
|---|---|---|---|---|
| Gemini 3.8 Flash | ||||
| DeepSeek V4.1 Flash | ||||
| Claude Haiku 5.5 | ||||
| GPT-6 Luna | ||||
| GPT-6.1 Sol |
| Role | Model | Gateway identifier | Reasoning effort | Images | Output budget | Dates (2026) |
|---|---|---|---|---|---|---|
| Diagnoser | Grok 4.7 | x-ai/grok-4.7 | xhigh | yes | 64 000 | 22–23 Oct |
| Diagnoser | Kimi K3 | moonshotai/kimi-k3 | max | yes | 64 000 | 22–23 Oct |
| Diagnoser | Gemini 4 Argon | google/gemini-4-argon | high | yes | 64 000 | 22–23 Oct |
| Diagnoser | Gemini 3.8 Flash | google/gemini-3.8-flash | high | yes | 64 000 | 23–26 Oct |
| Diagnoser | GPT-6.1 Sol | openai/gpt-6.1-sol | max | yes | 64 000 | 22–26 Oct |
| Diagnoser | GLM 5.3 | z-ai/glm-5.3 | max | no | 64 000 | 22–23 Oct |
AI Agent Evaluation
AI agent evaluation measures whether tool-using systems complete tasks reliably, safely, and efficiently across interactive settings.
See all 544 papers