AgenTracer
LLM Agent · 失败归因 · arXiv 2025

AgenTracer:多智能体系统失败了,是谁在哪一步造成的?

多智能体系统越复杂,失败越难查:日志很长,错误可能藏在很早的一步,表面看却像后面才坏。AgenTracer 把「失败归因」做成数据问题:对失败轨迹做反事实回放,逐步用分析器提供的正确动作替换、重跑,最早能让任务转成功的那一步就是关键错误;对成功轨迹做程序化故障注入,主动制造已知位置的失败。两条路合成 TracerTraj-2.5K,再用多粒度 GRPO 训练 8B 追踪器。Who&When 自动子集 step-level 上(w/ G),它拿到 42.86%,Claude-4-Sonnet 是 40.65%;同一格去掉 G 后 Claude 38.83 反超 AgenTracer 的 37.30。

Guibin Zhang、Junhao Wang、Junjie Chen、Wangchunshu Zhou、Kun Wang、Shuicheng Yan · NUS / CUHK / OPPO / NTU 原文 v2 ↗
TL;DR · 30 秒抓住核心

论文把「关键错误」定义为决定性的最早错误:轨迹里存在某一步,把它替换成 oracle 给出的修正动作并重跑后续步骤后,整个任务从失败变成成功;所有满足条件的位置里取时间最早的那个。对失败轨迹,作者让 DeepSeek-R1 扮演分析器,逐步给出「最小侵入」的修正动作,重跑并检查结果,找到最早成功点。对成功轨迹,则随机选 K 个注入点,用扰动算子改掉动作再重跑;一旦诱发失败,注入点就是已知标签。

训练侧,AgenTracer-8B 以 Qwen3-8B 为底座,用去掉 KL 的 GRPO。奖励是三段式:格式必须严格包在 <think> 与 <answer> 里(二值门控);agent 级是否正确(二值);step 级用高斯核按距离给部分分。最终输出 <agentID> | <stepID>。这套组合在 Who&When 两个子集上多数单元格超过 Claude-4-Sonnet 与 Gemini-2.5-Pro,但并非每个单元格都赢:automated step-level 去掉 G 后 Claude 38.83 高于 AgenTracer 37.30;TracerTraj-agentic 的 agent-level(w/ G)Claude 55.20 也高于 AgenTracer 53.28。

42.86
Who&When automated · Step-level(w/ G);Claude-4-Sonnet 40.65,Gemini-2.5-Pro 29.52(均 w/ G)
69.10
Who&When handcraft · Agent-level(w/ G);GPT-4.1 43.10,Claude-4-Sonnet 56.90(均 w/ G)
+14.21%
MaAS + MATH-500 · baseline + 3 轮(Trial 1–4)后 +14.21%,原文未说明相对/绝对;OWL + GAIA 为 +4.8%
01

系统越像团队,失败越像谜案

读完这节你应该知道:失败归因要回答什么,以及为什么现成的大模型做不好。

一个由 Planner、Coder、Tester 等多个角色组成的系统,执行一条长轨迹后给出错误答案。最终答案错了,但错误可能来自很早就下载错的文档、某个 agent 传错的参数、或某次工具调用的静默失败;后面的步骤看起来都「正常」,只是在错误前提上继续推理。论文引用的 Berkeley 研究显示,流行多智能体框架的失败率最高可达 86.7%。§1

论文把任务形式化为:给定失败轨迹 τ 和二元判定 Ω(τ)∈{0,1},找到责任 agent i* 与决定性错误步 t*。这里的「决定性」不是「看起来最可疑」,而是「修正它就能让任务成功」;若有多个这样的位置,取时间最早的那个。这个定义把归因从主观阅读日志,变成可复现的反事实实验。§3

现成模型的表现并不好:论文称当前推理模型在该任务上的准确率通常低于 10%;Table 1 里 Who&When handcraft 的 step-level,GPT-4.1 只有 3.44/3.44(w/ G 与 w/o G),Gemini-2.5-Pro 只有 9.72/6.90。AgenTracer-8B 在这一格是 20.68/20.68。Table 1

输入

一条失败轨迹

包含每一步的状态、动作与执行 agent;日志长,错误可能被后续「看似正常」的步骤掩盖。

输出

责任 agent + 错误步

输出格式固定为 <agentID> | <stepID>;两个粒度分别评分,避免只猜对 agent 或只猜近步骤。

难点

错误早、信号晚

Figure 4 的案例里,根因在第 2 步(Web Surfer 取到旧文件),直到第 11 步才出现能证明它的证据。

02

已有方案:人工标注太贵,直接让 LLM 读日志又太弱

读完这节你应该知道:Who&When、MAST 与 AgenTracer 的数据规模差在哪里。

路线 A

人工标注的失败数据集

Who&When 是公开的失败归因基准,含 handcraft 与 automated 两个子集;MAST 也提供人工标注的失败轨迹。论文指出 MAST 与 Who&When 分别只有约 200 与 127 条人工标注的多智能体失败轨迹,规模不足以系统训练归因模型。§1

路线 B

让通用 LLM 直接推理

把整条轨迹一次性喂给 GPT-4.1、Gemini-2.5-Pro、Claude-4-Sonnet 等模型,让它们输出错误位置;这是论文的 all-at-once 设定 §5.1。Table 1/2 显示这类直接推理在 step-level 上普遍很弱,且给不给 ground truth G 并不稳定提升准确率,有时反而更差 §5.2。

AgenTracer 的不同点是先自动造数据、再训专用小模型:用反事实实验与故障注入生成「错误位置已知」的监督信号;论文把这套标注流程称为 automatic trajectory annotation;训练时再用格式门控与高斯核把「接近正确步骤」变成可学习的部分分。§4

03

方法:反事实回放找「最早能救活」的那一步,故障注入造「已知错在哪」的样本

读完这节你应该知道:两条标注路径怎么工作、奖励函数怎么拆、为什么可以去掉 KL。

3.1 反事实回放(失败轨迹)

对每条失败轨迹 τ,按时间从 0 到 T 逐步尝试:分析器 πanalyzer 拿到当前状态、原动作、历史、环境反馈 F 与标准答案 G,给出一个「最小侵入」的修正动作 a't;用修正动作替换原动作,重跑后续步骤得到 τ'。若 Ω(τ')=1,说明第 t 步是能翻转结果的位置;取最早满足条件的 t 作为 t*,该步执行 agent μ(t*) 即 i*。分析器被要求只给修复指导,不泄露完整答案。§4.1

3.2 程序化故障注入(成功轨迹)

对每条成功轨迹,从 0..T 中随机抽 K 个注入点;在每个点用扰动算子 Π 改掉原动作,得到 ãt,再重跑。若注入后 Ω(τ̃)=0,则注入点 (μ(t), t) 按构造就是决定性错误:因为我们知道错误是亲手放进去的。每条成功轨迹取第一个成功诱发失败的点,避免同一轨迹重复标注。两条路径合并成 Dtracer = D− ∪ D+,即 TracerTraj-2.5K。§4.1

3.3 训练:去 KL 的 GRPO + 三段奖励

底座是 Qwen3-8B,RL 算法用 GRPO,但去掉 KL 项,并把裁剪参数改成随训练步数衰减的 Bs = max(0.2·B0, B0(1 − s/Stotal)):前期裁剪宽、鼓励探索,后期收窄、稳定利用。论文没有给出 B0 的具体取值。§4.2

Eq.11–12 的奖励结构;格式是门控,agent 是二值,step 是高斯核。
项定义作用
Iformat输出必须为 <think>…</think> + <answer>agentID | stepID</answer>不满足则总奖励为 0
ragentI(îk = i*)责任 agent 是否猜对
rstepexp(−(t̂k − t*)² / 2σ²)预测步骤离真值越近,奖励越高;σ=1

总奖励是 R = Iformat · (λ·rstep + (1−λ)·ragent),λ=0.5。论文把这样设计的收益写成 smoother reward landscape:step 奖励提供部分分与平滑梯度,格式门控(hard gating)保证输出可解析;agent 奖励是二值信号,直接监督责任主体是否判对。§4.2

04

工程账:8 张 H100、2,476 条标注、batch 32

读完这节你应该知道:复现需要哪些设置,以及论文没有报告什么。

数据

TracerTraj-2.5K:2,476 条

六个多智能体系统(MetaGPT、AutoGen、Smolagents、AgentPrune、AFlow、OWL-Workforce)× 六个基准(MBPP+、KodCode、Blackjack、GAIA、MATH、GSM8K);测试集按 9:1 划分 §5.1。Table 3 的分域统计:Curated Trajectories 为 2,170 / 1,185 / 1,300,其中带错误步标注的 TracerTraj-2.5K 为 code 1,288、math 630、agentic 558,合计 2,476;测试集三域分别 147 / 63 / 56 Appendix A。

训练

verl、batch 32、rollout 8、lr 1e-6

8 张 NVIDIA H100 80GB;RL 用 verl;batch size 32,rollout 数 8,学习率 1×10−6;奖励 λ=0.5,高斯核 σ=1;分析器与扰动算子都用 DeepSeek-R1。论文没有给 B0、训练步数、训练显存占用或总 GPU 小时。§5.1

Table 3 与实验设置还有一处统计口径差异:论文说六个基准 §5.1,Table 3 的 General Agentic Tasks 下列了 GAIA 与 HotpotQA 两个,合计七个 Appendix A。论文没有解释 HotpotQA 是否只用于某个系统子集;页面按 Table 3 转录,并标出这一差异。

05

一条轨迹的旅程:先分流,再反事实或注入,最后进 GRPO

读完这节你应该知道:失败轨迹与成功轨迹分别走哪条分支,标签在什么时候确定。

6 MAS × 6/7 基准 §5.1 六 / Table 3 七 收集轨迹 τ = (s0,a0,…,sT) 按 Ω 分流 成功 / 失败 两条标注路径 反事实 / 故障注入 失败轨迹:反事实回放 t = 0..T:分析器给 a′t,替换后重跑 最早 Ω(τ′)=1 的 t 即 t* 标签 (μ(t*), t*) 成功轨迹:故障注入 随机 K 个点:Π(at) → ãt,重跑 首个 Ω(τ̃)=0 的注入点即标签 标签 (μ(t), t) TracerTraj-2.5K 多粒度 GRPO(无 KL) 格式门控 + agent 二值 + step 高斯核 输出 <agentID> | <stepID>
按 Figure 2、Algorithm 1 与 §4.2 重绘。反事实路径逐 t 扫描并早停;注入路径每条成功轨迹只取第一个成功诱发失败的点。Figure 2 图内标作 AgenTracer-3k,正文与图注称 TracerTraj-2.5K,页面按正文写法。系统与基准清单见 §5.1;Table 3 另列 HotpotQA,故图内写 6/7 基准。
06

效果:Who&When 上领先,但 TracerTraj-agentic 有一个单元格输给 Claude

读完这节你应该知道:两张表怎么读、w/ G 与 w/o G 的差别,以及论文自己的百分比口径。

6.1 Table 1 完整转录(Who&When)

Table 1(完整转录):每格为 w/ G / w/o G;G 在 Table 1 原注中指 ground truth trajectory(“the failure tracer has access to ground truth trajectory”),在 §5.1 指 ground truth G / solution,两种原话并列。原文粗体/下划线未复刻。
模型Handcraft · AgentHandcraft · StepAutomated · AgentAutomated · Step
w/ Gw/o Gw/ Gw/o Gw/ Gw/o Gw/ Gw/o G
Qwen3-8B42.1039.501.723.4558.7360.323.975.56
LLaMA-3.2-3B37.9350.001.723.4537.3045.232.388.73
Qwen3-32B44.8044.801.721.7263.4957.939.528.73
Qwen3-Coder51.7260.358.6213.7942.8636.5034.1332.54
GPT-4.143.1037.933.443.4455.5559.5229.5221.90
DeepSeek-R156.9053.4413.296.9066.6765.0831.3229.52
Gemini-2.5-Pro51.7251.729.726.9061.1157.1429.5225.86
Claude-4-Sonnet56.9050.0017.2418.9757.9351.1140.6538.83
AgenTracer-8B69.1063.8220.6820.6869.6263.7342.8637.30

6.2 Table 2 完整转录(TracerTraj)

Table 2(完整转录):每格为 w/ G / w/o G(G 的两种原话见 Table 1 caption)。代码、数学、通用智能体三个域;测试集按 9:1 从 TracerTraj-2.5K 划分。
模型Code · AgentCode · StepMATH · AgentMATH · StepAgentic · AgentAgentic · Step
w/ Gw/o Gw/ Gw/o Gw/ Gw/o Gw/ Gw/o Gw/ Gw/o Gw/ Gw/o G
Qwen3-8B45.3532.992.361.1531.7433.589.5212.9627.9330.1613.4915.31
LLaMA-3.2-3B13.3811.812.363.9315.8714.284.763.178.1113.152.185.09
Qwen3-32B62.9963.782.361.7517.4617.464.767.9330.5530.5518.6015.31
Qwen3-Coder69.2966.9214.9614.1728.5733.5811.1122.2240.6743.1224.9925.69
GPT-4.159.8453.5412.5911.0239.5535.1835.8126.6343.6140.6724.9925.69
DeepSeek-R111.8111.8110.2310.2342.6838.5829.5218.5145.1246.1927.1321.80
Gemini-2.5-Pro70.0766.9211.026.2958.7958.7932.2227.4037.1632.1818.6017.04
Claude-4-Sonnet65.9863.7815.5111.0246.0350.7938.1046.0355.2049.1330.3329.80
AgenTracer-8B72.9572.2118.8518.8559.3266.1057.6357.6353.2850.6136.1735.55

6.3 交互:切换数据集与粒度,看 w/ G 与 w/o G

每行一个模型,两根柱依次为 w/ G 与 w/o G;柱高按百分比直接换算(满格 100)。AgenTracer 行用强调色标出。

手算对账 两组视图的柱高与差值

视图 A:Who&When handcraft · Agent-level,w/ G。Table 1 给 AgenTracer 69.10、GPT-4.1 43.10、Claude-4-Sonnet 56.90、Gemini-2.5-Pro 51.72。柱高按 JS 公式 Math.round(v / 100 × 1000) / 10 保留一位小数,分别为 69.1% / 43.1% / 56.9% / 51.7%(占 track 高度)。readout 只显示与 w/ G 最高基线 56.90(Claude 与 DeepSeek-R1 并列)的差:69.10 − 56.90 = 12.20。手算另列:AgenTracer − GPT-4.1 = 26.0,− Gemini = 17.38,这两个差值不在 readout 中。

视图 B:TracerTraj agentic · Step-level,w/ G。Table 2 给 AgenTracer 36.17、Qwen3-8B 13.49、DeepSeek-R1 27.13、Gemini-2.5-Pro 18.60。柱高分别为 36.2% / 13.5% / 27.1% / 18.6%;readout 的 w/ G 最高基线是 Claude-4-Sonnet 30.33,36.17 − 30.33 = 5.84。手算另列:− Qwen3-8B = 22.68,− DeepSeek-R1 = 9.04,− Gemini = 17.57,均不在 readout 中。

反例对账:TracerTraj agentic · Agent-level,w/ G。Claude-4-Sonnet 55.20、AgenTracer 53.28,差 55.20 − 53.28 = 1.92,方向是 Claude 更高;页面在 §6.4 明确写出,不把该单元格算作 AgenTracer 的胜利。

6.4 读表:领先项与反例

先看论文主打的 Who&When。Handcraft agent-level(w/ G):AgenTracer 69.10,Claude 56.90,GPT-4.1 43.10,分别高 12.2 与 26.0 点;Automated step-level(w/ G):AgenTracer 42.86,Claude 40.65,Gemini 29.52,分别高 2.21 与 13.34 点。w/o G 时并非每一项都领先:automated step 上 Claude 38.83 高于 AgenTracer 37.30,AgenTracer 低 1.53 点;论文没有在正文点出这一格,页面并列。Table 1

在 TracerTraj 上,AgenTracer 的优势主要集中在 math 与 code:Code agent(w/ G)72.95 对 Gemini 70.07;MATH step(w/ G)57.63 对 Claude 38.10;agentic step(w/ G)36.17 对 Claude 30.33。但 agentic agent-level(w/ G)Claude 55.20 高于 AgenTracer 53.28(+1.92),所以「全面超越 Claude-4-Sonnet」不能成立。Table 2

论文的百分比口径也有两处对不上。论文说 DeepSeek-R1 在 TracerTraj-math 去掉 G 后「suffers a 9.21% drop」,Table 2 的 MATH step 是 29.52 → 18.51,绝对差 11.01 点(相对 37.3%),9.21 无法由该行复算 §5.2;同一句说 AgenTracer 保持 57.63,这一格 w/ G 与 w/o G 都是 57.63,确实没掉。摘要与引言说在 Who&When 上比 Gemini-2.5-Pro 高「约 18.18%」 §1,但 Table 1 里 handcraft agent 的最大差是 17.38 点(69.10−51.72),automated step 的最大差是 13.34 点(42.86−29.52),18.18 没有直接对应的单元格;页面并列原文写法与表格复算,不替原文统一。

07

边界:标注质量依赖分析器,合成失败未必像真实失败

读完这节你应该知道:哪些结论有表格支撑,哪些是论文没有验证的空白。

分析器

oracle 上限决定标签质量

反事实回放依赖 DeepSeek-R1 给出「最小侵入」的修正动作;若分析器本身判断错,最早成功点可能标错。论文没有报告分析器自身的修正成功率或人工抽检一致率。§4.1

合成分布

注入失败 ≠ 真实失败

故障注入制造的失败由扰动算子决定,模式可能比真实系统里的交互错误、环境变化、幻觉更简单推断(论文只描述注入机制,未做合成 vs 真实的分布对比)。§4.1

统计

没有种子与方差

Table 1 / Table 2 在每个设定下只有一个数(每格为 w/ G / w/o G 两值);没有报告多种子、标准差或置信区间。AgenTracer 与 Claude 在 automated step w/o G 的 1.53 点差(Table 1)、agentic agent w/ G 的 1.92 点差(Table 2),都无法判断是否稳定。

还有两点。第一,「最早决定性错误」是一个有用但单一的定义:如果失败是多个小偏差累积、或真正的根因在更晚但更深的策略层,最早翻转点可能只是表层症状推断(由定义只取最早满足条件的位置推出);论文没有讨论这种归因偏差。第二,Table 3(Appendix A)的 TracerTraj 测试集按域划分后每域只有 147 / 63 / 56 条,math 与 agentic 的单元格样本量很小,百分比的一位小数并不代表高精度推断(样本量小,论文未给方差)。Appendix A

Table 1 与 Table 2 的粗体/下划线声称标出最好与次好,但抽取文本无法复现格式;页面不据此判定最优,只按数值转录。Table 1 / Table 2

最后,论文只验证了 coding、math 与通用 agentic 三类任务 Table 2;机器人控制、多智能体博弈、实时环境等更开放场景没有实验。论文结论只说这条路线 paves the way for self-correcting and self-evolving agentic systems §6;「自动修复」与「实时归因」是笔记列出的未来方向,不是该节的内容。