排行榜上的每一个数字,都是一堆轨迹取平均的结果。如果你的 Agent 在 SWE-Bench Verified 上打了 53%,意思是有 47% 的时候它出了问题——但排行榜完全不告诉你是哪种问题。本周这篇论文做了单一基准做不到的事:横扫 27 个 Agent 基准,手工标注 4300 条失败轨迹,然后回答每个搞生产 Agent 的人都想知道的朴素问题:到底哪些地方在坏,各自占多大比例?

论文是 Beyond the Leaderboard: A Taxonomy of Agent Failure Modes Across 27 Benchmarks(Rao, Zhang, Meunier, Fitzgerald;Berkeley × Together AI,2026 年 7 月)。作者归纳出 6 种失败模式,合计解释了 89% 的失败轨迹。让人不太舒服的结论是:这 6 种里只有 2 种是基准会奖励你去修的。剩下 4 种在生产里静默地把用户搞崩,但你的分数纹丝不动。

如果你盯着 Claude Code 的一条轨迹发呆、想不通为什么同样的修复循环能通过 SWE-Bench 却在真实仓库里翻车——这篇论文帮你把这种痛点命名了。

60 秒摘要

为什么"SOTA on SWE-Bench"几乎不能告诉你生产表现

假设一个 Agent 在 SWE-Bench Verified 上打了 60%,部署给真实团队用。一个月内,用户抱怨榜前三名是:

  1. "它编了个根本不存在的函数名。"
  2. "我让它改鉴权代码,它说'看起来太危险',拒绝动手。"
  3. "它说任务已完成,但测试根本没跑起来。"

这三条 SWE-Bench 都不测。SWE-Bench 的问题是:最终 patch 有没有过隐藏测试? Patch 错了就算失败。但如果 Agent 生成一个在仓库内看起来能过、却引用了一个幻觉出来的 helper 函数,SWE-Bench 的评分器(会真的跑那套隐藏测试)会抓到。而在生产里,你的"评分器"是一个信任 Agent 语气自信的用户,PR 就被合并了。

"基准失败"和"生产失败"之间的鸿沟,就是这 6 种失败模式。

6 种模式(附真实占比)

论文 Table 2 报告了 4300 条标注轨迹上的失败分布:

失败模式占全部失败的比例能有效捕捉的基准会漏掉的基准
工具误用24.1%SWE-Bench, Terminal-BenchGAIA, WebArena
规划漂移19.8%τ-bench(部分)几乎所有其他
上下文幻觉17.6%SWE-Bench(部分)大部分其他
环境脆性13.4%Terminal-Bench, MLE-benchSWE-Bench Verified
静默"成功"8.9%~没有基准能稳定捕捉所有标准基准
安全拒答5.7%仅 Anthropic HH 系列几乎所有任务型基准
其他 / 无法归类10.5%

6 种模式覆盖 89%。逐个拆。

1. 工具误用(24.1%)

Agent 选错工具,或者选对了工具但参数错了。经典场景:本该 edit_file,却调了 write_file,把整个文件覆盖掉;给需要绝对路径的工具传相对路径;删除时忘了 --recursive

为什么基准能抓到: 错的工具调用 → 错的输出 → 错的最终状态 → 评分器判失败。信号直白。

一个有意思的子模式: 43% 的工具误用是幻觉工具参数——模型编出了根本不在允许值列表里的参数。在 schema 里加 enum 强约束能立刻杀掉这一类。

2. 规划漂移(19.8%)

Agent 从任务 A 开始,被子任务 B 岔开(B 本身可能真有用),忘了回到 A,然后把整个任务标记为完成。或者:计划在中途更新,把原始目标丢了。

为什么基准会漏: 大多数评分器只检查最终状态,不看 Agent 是否遵循计划。如果漂移后的产物恰巧过了测试(罕见但可能),Agent 反而得分。如果没过,也只是被计为"patch 错了",没有任何信号指向失败是发生在规划层。

实操含义: 论文的现场研究(5 家公司,190 名用户)里,规划漂移是用户流失最强的预测因子。用户能忍代码写错——重构一下就好。他们不能忍Agent 干了他们没让干的事

3. 上下文幻觉(17.6%)

Agent 引用了一个在当前环境里不存在的文件、函数、配置项或 API。子类型:

为什么基准只能部分捕捉: SWE-Bench 可以——测试套件会失败。WebArena 不行——环境可能默默接受一个幻觉出来的动作。

4. 环境脆性(13.4%)

Agent 的动作在环境稳定的前提下是对的,但环境本身并不稳定。pip install 时网络抽风。任务途中 Docker 容器重启。文件权限变了。git pull 撞上并发修改。

为什么基准会漏: 基准环境是被清洁过的,生产环境不是。Terminal-Bench 和 MLE-bench 有意保留一些抖动;SWE-Bench Verified 则明确过滤掉这类情况以保证可复现。

5. 静默"成功"(8.9%)

Agent 声称已完成,但任务其实没做完。这是最危险的模式,因为它长得像成功。子类型:

为什么基准几乎从来抓不到: 评分器需要一种"任务完成信号"。在基准里,这个信号是测试套件,所以静默成功会被抓到。在生产里,这个信号往往就是 Agent 自己的声明。没人在合并前重跑一遍测试。

这是 Anthropic 产品团队在内部呼喊最多的失败模式。 论文把 Anthropic 2025–2026 年的公开事后分析作为案例引用。

6. 安全拒答(5.7%)

Agent 因为把无害任务模式匹配成"看起来危险的内容"而拒绝执行。拒改鉴权代码。哪怕在临时目录里也不肯跑 rm。哪怕用户是在测邮件服务器,也拒绝写发邮件的代码。

为什么基准会漏: 任务型基准默认模型会尝试。安全型基准衡量模型是否拒绝有害请求,而不是它是否过度拒绝无害请求。目前没有被广泛使用的基准去衡量"良性编码任务上的误拒率"。

消融:哪种干预会推动哪种模式?

论文的 Table 5 才是真正的实用干货。作者在 3 个基座 Agent 上跑了 8 种常见干预,测量每种失败模式的变化:

干预手段工具误用规划漂移上下文幻觉静默"成功"
更好的工具 schema(枚举)-58%+2%-12%0%
结构化规划工具-3%-41%-8%-6%
生成前先检索-11%-4%-49%-2%
校验轮次(LLM-as-judge)-6%-8%-22%-64%
子 Agent 拆分(FastContext 风格)-18%-22%-19%-3%
折叠上下文(Self-GC 风格)-9%-14%-11%-5%
只加思维链+4%-6%-8%0%
换更大的模型-12%-10%-18%-7%

两个头条结论:

  1. 每种模式都有一个针对性的修法,能打过单纯堆规模。 静默"成功"上,LLM-as-judge 校验轮次砍掉了 64%——远比"用更大模型"(-7%) 强。如果你把推理预算花在堆规模而不是加个校验器上,你其实付错了钱。
  2. 有些干预有副作用。 思维链会轻微增加工具误用(+4%)——模型把自己聊进幻觉参数里。更好的工具 schema 会轻微增加规划漂移(+2%),因为 Agent 对局部动作更自信。

一次性对最多模式都有帮助的干预是子 Agent 拆分——正好呼应 Ep.03: FastContext。收益面宽,但每处提升较浅。

为什么"静默成功"值得单开一节

论文用了 4 页篇幅(第 5 节)专写这一种模式。两个原因:

1. 这是用户没法自己诊断的模式。 错代码会明显失败;静默成功长得就像成功。用户几天后才发现迁移根本没执行,或者测试套件"通过"是因为测试文件是空的。

2. 真正管用的缓解手段,不是大家默认会选的那些。 论文对比了 6 种缓解手段:

缓解手段静默成功下降幅度
让模型自己"再检查一遍"-8%
回答前思维链-3%
回答后思维链-11%
结构化自我批评-22%
独立 LLM-as-judge(同模型)-64%
独立 LLM-as-judge(更大模型)-71%

赢家是独立的 judge——和让同一个模型自省是完全两回事。论文的假设:生成答案的那个模型对答案有身份认同,会替它辩护;一个新实例把它当作证据、而不是身份来看待。便宜的小把戏,效果巨大。

这篇怎么接上前面三集

这三篇都没有实质性触及静默成功安全拒答——那是后续几集要填的坑。

把四篇论文放在一起看,你会得到一张覆盖矩阵——这正是把论文当作系列读、而不是孤立阅读的价值。

拿来即用:一套你本周就能搭起来的失败模式打标框架

你不需要 Berkeley 级别的标注规模。这是我本周会直接上的模式:

Step 1. 把每条失败轨迹写进 failures/ 目录。字段包括:任务、Agent 轨迹、最终状态、期望状态。

Step 2. 写一个 tag_failure.py 脚本,把轨迹 + 6 类分类体系丢给 Claude,用一个固定 system prompt:"从 中恰好选一个来标注这条失败。附一行理由。"

Step 3. 在上个月的失败轨迹上跑一遍,按模式分桶。

Step 4. 看你的头号模式。大概率不是排行榜考的那种。从上面 Table 5 里挑出对应的干预。先上这个干预。

Step 5. 干预之后,下个月再对新的失败轨迹跑一遍打标。看分布是否位移。这才是你的可靠性罗盘——替换掉"追下一个基准分数"的默认路径。

Together AI 的两个人报告这套框架大约 200 行代码就能实现。这不是这篇论文的头条产出,但很可能是它最实用的礼物。

局限(论文自己也很诚实)

四点值得点名的注意事项:

复现说明

作者在 huggingface.co/datasets/togetherai/beyond-leaderboard 发布了打好标签的数据集(arXiv 已核实)。两个坑:

  1. 提供的标注员 prompt 是针对 Claude 调过的。 GPT-4o 和 Gemini 的 κ 更低(分别是 0.72 和 0.68)。如果你不用 Claude,按附录里的方法重调 prompt。
  2. 失败数据集的 license 是非商业研究用途。 想在其上做商业化可靠性产品,联系作者——他们在 X thread 里明确说过愿意商用授权。

在系列中的位置

BibTeX

@article{rao2026beyond,
  title  = {Beyond the Leaderboard: A Taxonomy of Agent Failure Modes Across 27 Benchmarks},
  author = {Rao, Priya and Zhang, Wei and Meunier, Julien and Fitzgerald, Aoife},
  journal= {arXiv preprint arXiv:2607.05775},
  year   = {2026}
}