工具让单 Agent 更准,也让三轮运行忽高忽低;naive MAS 只在错误发生后纠正,AWorld 先用离线系统辨识给 Execution Agent 做一份“性能指纹”,让 Guard Agent 在错误发生前预防。代价是额外的模型调用,而且验证只覆盖 GAIA 的 L1/L2。
论文把 Agent 设计放进控制论框架:Execution Agent 是被控对象(plant),Guard Agent 是控制器,工具输出与幻觉是 disturbance。naive MAS 做的是反馈控制,PA-MAS 在反馈之外加了一路前馈。
从 LLM 到 SAS 再到 MAS、PA-MAS,Pass@1 均值 31.50 → 61.47 → 66.97 → 70.95。加工具把标准差从 0.00863 推到 0.03265(相对增加 279.07%),通用 Guard 只压回 0.02701(相对降低 17.18%),带性能指纹的 Guard 压到 0.01147(相对降低 57.41%)。
关键不是“多一个 Agent”,而是 Guard 的 prompt 里有没有 Execution Agent 的离线失败画像。没有画像时,Guard 只能看到已经发生的错误;有画像时,它按已知的失败模式提前拦截。
边界也很清楚:109 个 GAIA L1/L2 题,L3(需要浏览器)被排除;只测了 Gemini 2.5 Pro;论文没有报告 Guard 调用带来的 token、延迟或费用。
这一节建立问题:为什么“多工具 Agent 不稳定”不是调 prompt 能顺手解决的小毛病。
Base 模型只靠参数知识,Pass@1 均值 31.50。SAS 把 MCP 工具接进来,均值到 61.47,但三轮成绩在 56.88 到 64.22 之间,极差 7.34 个百分点;标准差从 0.00863 升到 0.03265,相对增加 279.07%(原文值;按 Table 1 复算 278.33%)。工具输出越多,上下文越长,错误工具输出和幻觉越容易把推理链带偏。
论文把这个现象写成控制问题:工具带来的噪声是 disturbance,Execution Agent 的推理轨迹是被控输出;如果没有控制器,系统只能“开环”地一路走到底。
| 系统 | 三轮 Pass@1 | 极差(百分点) | Pass@1 均值 | Pass@1 标准差 |
|---|---|---|---|---|
| LLM | 30.28 – 32.11 | 1.83 | 31.50% | 0.00863 |
| SAS | 56.88 – 64.22 | 7.34 | 61.47% | 0.03265 |
| MAS | 64.22 – 70.64 | 6.42 | 66.97% | 0.02701 |
| PA-MAS | 69.72 – 72.48 | 2.76 | 70.95% | 0.01147 |
读懂这张“控制升级”阶梯,后面的数字才有位置。
没有工具,也没有控制器。Pass@1 均值 31.50,标准差 0.00863。它最“稳”,但不是因为系统好,而是因为没有随机工具调用。
Gemini 2.5 Pro 加系统提示与 MCP 工具,自行决定何时调用。均值到 61.47,标准差升到 0.03265。能力上去了,稳定性掉下来。
把 Guard Agent 做成一个额外工具,Execution Agent 遇到逻辑僵局时调用。均值 66.97,标准差 0.02701。它只比 SAS 好一点,因为 Guard 是“通用审查者”。
为什么 naive MAS 还不够。Guard Agent 只在 Execution Agent 遇到逻辑僵局时被调用,看到的是当前轨迹;它不知道这个 Execution Agent 在哪些题型上习惯犯什么错。论文的比喻是:反馈控制只能在误差已经出现后压低它,不能提前抵消。
PA-MAS 的改动只有一处。把离线阶段生成的“性能指纹”注入 Guard 的 prompt。Guard 从通用审查者变成“了解这个队友的审查者”;它同时看当前轨迹和已知失败模式,于是能给出前馈式的、针对性的批评。
这一节只回答一个问题:Guard Agent 的“前馈”到底前馈了什么。
论文先做变量映射(§2.2):Plant 是 Execution Agent,Controlled Variable 是它的输出 y_E,Setpoint 是正确推理路径 r,Error 是 e = r − y_E,Disturbance 是幻觉、逻辑谬误与工具噪声,Controller 是 Guard Agent,Control Signal 是 Guard 的批评 y_G。
naive MAS:ut = fθ(𝒯E,t+1)PA-MAS:ut′ = fθ(𝒯E,t+1 ⊕ 𝒫E)
naive MAS 的控制律里只有轨迹,所以 Guard 是反应式的:错误必须先发生,才能被看见。PA-MAS 把指纹 𝒫E 也放进 Guard 的上下文,Guard 可以按已知的失败模式预判“这个 Agent 接下来可能会在哪里错”,在错误发生前给出提醒。
论文用线性控制理论解释为什么前馈可能更稳(§2.3.4)。纯反馈系统的输出是:
Y(s) = P·Cfb/(1 + P·Cfb) · R(s) + 1/(1 + P·Cfb) · D(s)
加入前馈 Cff 后,disturbance 项变成 (1 + P·Cff)/(1 + P·Cfb)。理想情况下 Cff = −1/P 可以让分子为零,从而在 disturbance 影响输出之前把它抵消。论文同时说明,𝒫E 不是字面上的 −1/P,而是 Guard 从失败画像里学到的“反向纠正”语义。
这个推导的边界。论文在 §2.3.4 明确声称该推导 “prove[s]” 复合控制在理论上更优,并把指纹描述为 empirically-derived model of the plant。推断 页面层面的保留是:传递函数本身是线性控制理论;LLM 是非线性系统,指纹也只是经验画像,不是精确的 plant model。因此这个形式推导不能直接当作非线性 LLM 系统的性能保证(依据:§2.3.4 的推导假设线性系统,且把指纹描述为经验模型)。
这一节说明 𝒫E 是怎么来的,以及它和 RL 的区别。
让 Execution Agent 在 GAIA validation 上跑题,收集日志;论文说分析的是“在某些任务类型下反复出现的失败模式”(§2.3.3)。
把日志整理成结构化、人类可读的 performance fingerprint。论文举的例子是“容易在代码上幻觉”这类特征;指纹是文本,不是一组权重。
部署时把指纹放进 Guard 的 prompt。Guard 同时看当前轨迹和已知 failure mode,给出针对性的批评。
这不是 RL。RL 改的是模型参数,策略留在权重里;这里不改参数,改的是 Guard 的上下文,论文叫 Context-Level Reinforcement。好处是可读、可审计、可直接编辑:发现新的失败模式,改指纹文本即可,不用重训。论文把这种区别比作“练肌肉记忆”和“给飞行员一张针对已知习惯的检查清单”。
代价。Guard Agent 是额外的一次模型调用;离线 profiling 也要跑一轮基准。论文没有给出 token、延迟或费用的数字。对生产系统来说,这两项开销需要单独测,不能只看准确率。
切换下面的按钮,看同一对 Agent 在不同控制架构里的连线变化。
这一节把 Table 1 的原始数字、相对变化和反直觉发现放在一起。
实验设置:GAIA test set 的 109 个问题,56 个 Level 1、53 个 Level 2;Level 3 因为通常需要浏览器而被排除(§3)。每个版本独立跑 3 次,模型固定为 Gemini 2.5 Pro,temperature 0.1;如果答案格式无效,会重复直到拿到有效格式。每个版本报告 109 题上的 pass@1,以及跨三次运行的 pass@3。
| 指标 | LLM | SAS | MAS | PA-MAS |
|---|---|---|---|---|
| Round 1 P@1 | 32.11% | 56.88% | 70.64% | 72.48% |
| Round 2 P@1 | 30.28% | 63.30% | 64.22% | 70.64% |
| Round 3 P@1 | 32.11% | 64.22% | 66.06% | 69.72% |
| Pass@3 | 38.53% | 80.73% | 82.57% | 84.40% |
| Pass@1_avg | 31.50% | 61.47% | 66.97% | 70.95% |
| Pass@1_std | 0.00863 | 0.03265 | 0.02701 | 0.01147 |
| P@3 − P@1_avg | 0.0703 | 0.1926 | 0.15597 | 0.13453 |
Pass@1_std 与 P@3 − P@1_avg 两行原文以小数记;0.03265 即 3.265 个百分点,0.1926 即 19.26 个百分点。下表把首答差距统一写成百分点。
| 对比 | Pass@1 均值 | Pass@1 标准差 | Pass@3 | P@3−P@1_avg |
|---|---|---|---|---|
| SAS vs LLM | +95.14% | +279.07% | +109.53% | +173.97% |
| MAS vs SAS | +8.95% | −17.18% | +2.28% | −19.02% |
| PA-MAS vs MAS | +5.93% | −57.41% | +2.22% | −13.75% |
下面把 Table 1 的四个系统按三种视角重画。柱高以 100 为满格;标签是表格原值,不是归一化后的分数。标准差以小数记,0.03265 就是 3.265 个百分点。
“Pass@3 与首答差距”视图里,每个系统的第一个柱是 Pass@3,第二个灰柱是 P@3 − P@1_avg;灰柱越短,首答越接近三轮里的最好成绩。
配置 A:MAS 对 SAS。Pass@1 均值 61.47 → 66.97,绝对差 66.97 − 61.47 = 5.50 个百分点;相对变化 (66.97 − 61.47) / 61.47 = 8.95%。标准差 0.03265 → 0.02701,相对变化 (0.02701 − 0.03265) / 0.03265 = −17.27%;原文记 −17.18%,页面并列两个口径。
配置 B:PA-MAS 对 MAS。均值 66.97 → 70.95,绝对差 70.95 − 66.97 = 3.98 个百分点;相对变化 (70.95 − 66.97) / 66.97 = 5.94%;原文记 5.93%。标准差 0.02701 → 0.01147,相对变化 (0.01147 − 0.02701) / 0.02701 = −57.53%;原文记 −57.41%。
标准差口径。用 Table 1 的三轮成绩按总体标准差(÷3)复算:SAS 的三轮 56.88 / 63.30 / 64.22,均值 61.47,标准差 0.03265;PA-MAS 的三轮 72.48 / 70.64 / 69.72,均值 70.95,标准差 0.01147;两者都与 Table 1 的五位小数一致。原文正文没有写标准差的分母口径,页面按总体标准差理解。
Pass@1 均值从 31.50 到 61.47,绝对增加 29.97 个百分点(相对 95.14%);再到 66.97,绝对增加 5.50 个百分点(相对 8.95%);再到 70.95,绝对增加 3.98 个百分点(相对 5.93%)。工具接入带来的第一跳最大,Guard 的两级增益都只有几个点。
标准差从 0.00863 到 0.03265(相对增加 279.07%),再到 0.02701(相对降低 17.18%),最后到 0.01147(相对降低 57.41%)。PA-MAS 的波动已经接近无工具的 LLM,但均值高出一大截;这是论文最想强调的“能力与稳定性同时改善”。
Pass@3 与 Pass@1 均值的差距(论文叫 regret):LLM 7.03,SAS 19.26,MAS 15.60,PA-MAS 13.45 个百分点。SAS 的差距最大:三轮里最好能到 80.73%,首答均值只有 61.47%。PA-MAS 把差距压到 13.45,是三个 Agent 系统里最小的;MAS 相对 SAS 收窄 19.02%,PA-MAS 再相对 MAS 收窄 13.75%。
同轮对比,PA-MAS 三轮都高于 MAS(72.48>70.64,70.64>64.22,69.72>66.06)。跨轮看,PA-MAS 最差一轮 69.72 低于 MAS 最好一轮 70.64;这不能读成“同轮落后”,只能说明 PA-MAS 的下限低于 MAS 的上限。论文的结论是平均值与稳定性,不是逐轮碾压。推断 把这一点和标准差一起看,PA-MAS 的优势更像是“把最差的一轮抬起来”,而不是“每一轮都刷新最好成绩”。
另一个反直觉发现来自 §5。有些题 Base 模型在 Pass@3 里能做对,SAS 和 naive MAS 反而做不对。作者的解释是:agent mode 的系统提示、工具列表和注入输出会把模型推向 first-order reasoning,抑制它原本的内部知识。也就是说,加工具不是单调改进;工具带来的能力提升和模式切换损失会同时存在。
这些限制决定了 AWorld 的数字能推广到哪里,以及部署时要额外补什么。
109 题,56 个 Level 1、53 个 Level 2;Level 3 因为通常需要浏览器而被排除。L3 未测;论文没有说 L3 是否最容易受工具噪声影响。
所有版本都用同一个模型,temperature 0.1。换成更强的模型、开源模型或更小的模型,Guard 的增益是否还在,论文没有回答。
Guard Agent 是额外的一次模型调用,离线 profiling 还要跑一轮基准;论文没有报告 token、墙钟时间或 API 费用。准确率提升几个点,是否值得这些开销,需要按场景算。
指纹是离线的,可能过期。PA-MAS 的性能指纹来自一次离线系统辨识;论文在 §6 把 online system identification 列为未来工作,也就是让 Guard 在部署中实时更新对 Execution Agent 的行为模型。推断 在这之前,如果线上任务的分布和离线基准不同,指纹可能不再覆盖新的失败模式(原文没有直接讨论“过期”,只是把在线辨识列为未来工作)。
Guard 自己也会错。推断 Guard Agent 和 Execution Agent 用的是同一个基础模型 fθ(§2.2),它同样可能幻觉或误判;论文没有分析“Guard 给出错误批评”时系统会怎样,也没有做 guard-of-guard 的实验。这个失效模式在页面里只能标出来,不能替论文补数据。
“排行榜第一”要带限定词。论文报告 AWorld 在 GAIA 排行榜的“open-source projects”中位列第一(作者自述)。这不是“所有系统第一”,页面也没有独立核验排行榜的时点与口径;引用时应保留“among open-source projects”这个限定。
什么时候别用:如果任务只需要单轮问答、工具调用很少,Guard 的额外调用是多余开销;如果延迟或费用是硬约束,先测 PA-MAS 的端到端成本;如果线上失败模式变化很快,静态指纹需要更频繁地重做离线辨识。反过来,在工具多、推理链长、错误代价高的场景里,让 Guard 带着失败画像提前拦截,比事后重试更直接。