Diagnosing with Insights: Structured Analysis of Agent Failures via Behavioral Abstractions
Jiayi Bi, Yanjie Gao, Yuanmin Xie, Liqun Li, Tianyin Xu, Fan Yang, Mao Yang
cs.AI
2026-09-02
清华与微软把 agent 轨迹编成推理-动作图,用神经不变量查失败。自建 303 条 AgentErrata 上精确步定位约 30%、分类约 44%,整段 LLM 裁判只有 2%–4% 与 18%–21%。
LLM agent 的失败藏在几十上百步的轨迹里。推理走偏、工具调错、该停不停,都会在后面级联成任务失败。人肉翻日志不可行。传统软件调试盯的是代码和符号执行,对不上「这一步用了不该用的上下文」这种错。
把整条轨迹一次性丢给 LLM 当裁判,结果更糟。GPT-5.1 在他们的失败归因数据上,分类准确率只有 18.15%。模型分不清相关症状和真因,也扛不住长上下文的位置偏差。诊断需要指到某一步,并说出是哪一类错。
清华与微软研究院先把轨迹变成可检查的结构,再让 LLM 只在结构上做有限判断。
轨迹被编成 Reasoning-Action Graph(ReAG,推理-动作图):有向无环图,每个节点是一步,带角色、操作内容和一块中间语义表示 ISR。ISR 压成三块,意图与上下文、推理与动作、信号与校验,后面的检查就不必重读膨胀的原始日志。边记录控制依赖或数据依赖。API 调用、工具输入输出、非结构化日志都能灌进去。
图上跑一组 neural invariants(神经不变量)。十种失败模式各写成一条「不该发生」的条件,违反即命中。Action Mismatch 最清楚:动作节点必须对齐前一步推理的意图,工具选得合理,并且这一步真的在推进任务。对齐函数 aligned() 是带结构 prompt 的 LLM 二分类,所以这是神经条件,不是 Hoare 逻辑那种可机器证明的符号不变量。十种失败分三维:推理(Wrong Context、Instruction Unfollowing、Insufficient Context、Context Miss)、控制流(Termination Miss、Premature Termination、Step Loop)、动作(Action Mismatch、Invocation Issue、Execution Failure)。
流水线故意拆成三阶段。先建图并对齐步骤;再按失败模式分别做局部不变量检查,多个候选都留着;最后用整条轨迹挑 decisive error,定义为最能解释最终任务变差的那一步,不是最早的异常。找异常和定根因被分开,以后也可以改成找最早出错点、不可恢复点或最终提交步。
两个基准。公开 Who&When 共 184 条人工标注轨迹,算法生成 126 条、手写 58 条,只标失败步。自建 AgentErrata 共 303 条,在 OpenManus、OWL、Mini SWE-Agent 的成功轨迹上按分类注入失败,任务来自 BrowseComp、SWE-Bench Lite、WebArena,同时标步和类型。三维比例大约推理 36%、控制流 31%、动作 36%。
精确步定位(允许偏差 0 步,不给标准答案):
| 数据 / 骨干 | AgentScope | Step-by-step | All-at-once |
| AgentErrata / GPT-4o | 30.03% | 8.91% | 2.09% |
| AgentErrata / GPT-5.1 | 31.35% | 1.32% | 3.30% |
| AgentErrata / DeepSeek-V3.2 | 34.98% | 17.82% | 0.66% |
| Who&When 算法生成 / GPT-4o | 28.57% | 15.08% | 16.67% |
| Who&When 手写 / GPT-4o | 22.41% | 17.24% | 5.17% |
失败类型分类在 AgentErrata 上,GPT-5.1 的 AgentScope 达到 45.87%,整段 LLM-as-Judge 只有 18.15%。允许前后差 3 步时,同一设置下 AgentScope 到 54.13%,两个基线分别是 13.20% 和 18.81%。
Who&When 上换 GPT-5.1 就没那么好看:算法生成子集上 AgentScope 与 Step-by-step 都是 25.40%。Who&When 标的是最早可检出的错,AgentScope 选的是对最终结果影响最大的步,两道题本来就不一样。
给 agent 做事后诊断,换更强基座不够。GPT-5.1 走逐步检查这条基线时,AgentErrata 精确步定位掉到 1.32%,比 GPT-4o 的 8.91% 还差。收益来自把整段自由发挥收成按模式检查,不来自模型变强。
能用的场景是离线复盘长轨迹,尤其是要同时回答「哪一步」和「哪一类」。在线开销不小:抽样 20 条轨迹,4 步约 25 秒、7 次调用,120 步约 750 秒、242 次调用。Step Loop 因窗口两两比较最贵,约 85 秒。论文也写了,减调用次数比减 prompt 更划算,检查之间可以并行。
同名提醒:阿里开源的 agent 框架也叫 AgentScope。这篇是微软研究院的诊断工具链,不是同一个项目。
AgentErrata 是往成功轨迹里注入失败,不是自然失败分布;注入前还用 LLM 判断该轨迹适不适合某种失败,附录承认这会带来轻微偏差。绝对数字仍然低:精确步大约三成,分类大约四成四,离生产调试器还远。
神经不变量的判定函数仍是 LLM 二分类。结构收窄了搜索空间,并没有把正确性变成可证明的符号条件。Who&When 上的口径冲突说明,「定位准确率」高度依赖你把根因定义成最早出错还是最终致命错,别的选择策略被留作后续。正文没有独立的 Limitations 节。运行时间、标注定义、注入式数据这三块,读数字时都得打折。