返回评测
Agent Agent-评测基建 未饱和 模态 · 文本 任务 · 执行验证 preprint

AM-Bench v1

48 个任务各写一份完整规格 + 目标/上下文/约束三类信息各做「模糊」与「缺失」两个变体;5 模型 × 4 脚手架全交叉,约束缺失让合规率从 98.7% 崩到 4.7%

同济大学 + 香港中文大学(深圳)s4-lab ·

考察能力

指令遵循 歧义消解 主动澄清 约束合规 长程执行 风险规避

构建信息

数据规模
48 任务 × 7 个信息条件 × 5 模型 × 4 脚手架 × 3 次重复 = 20,160 次运行(每个条件 2,880 条)
构建方式
从 Terminal-Bench 2.0 与 Harness-Bench 改造 48 个任务,覆盖 8 个执行类别;每个任务先写一份完整规格参考,再对目标 / 上下文 / 约束三个信息域各生成「模糊」与「缺失」两个变体
评测方式
三重结果:Completion(是否做完)/ Compliance(是否违规)/ Success = Completion ∧ Compliance;每配置 3 次重复并报 pass@3 与 pass^3;用 GPT-5.5 标注超时与显式澄清请求,作者逐条人工审计
核心指标
Success = Completion ∧ Compliance(%)。⚠️ topResults 给的是每个模型在 Full(完整规格)条件下的 pass^3(三次全中)/ pass@3(至少一次),以及在六种欠规格条件下平均的 Mean Success,按 Full pass^3 降序排。注意同一模型在两列上的名次可以完全反转,排序不构成跨条件强弱结论

模型效果排行

🥇 GPT-Sol (gpt-5.6-sol; Full 条件重复一致性最好,但在六种欠规格条件下平均只排第 4)
Full pass^3 81.8 / pass@3 86.5 / 欠规格 Mean 17.0 2026-10
🥈 GPT-Luna (gpt-5.6-luna; Full 条件第二,欠规格均值全场最低)
Full pass^3 76.0 / pass@3 87.5 / 欠规格 Mean 13.6 2026-10
🥉 DS-Flash (deepseek-v4-flash-0731; 欠规格均值全场第一,但三次全中率只有 69.3)
Full pass^3 69.3 / pass@3 92.2 / 欠规格 Mean 24.8 2026-10
4. GLM-5.3 (glm-5.3; 欠规格均值第二)
Full pass^3 55.7 / pass@3 80.2 / 欠规格 Mean 23.7 2026-10
5. DS-Pro (deepseek-v4-pro-0813; Full 条件末位,却在 Goal–Missing 条件下升至第一)
Full pass^3 52.1 / pass@3 78.6 / 欠规格 Mean 19.5 2026-10

为什么重要

真实用户给 Agent 下的指令,几乎从来不是完整规格。「帮我把这些日志整理一下」「处理一下那个文档」——目标、上下文、约束里总有一块是含糊的或者干脆没说。此前绝大多数 Agent 基准默认提供完整规格,于是测出来的分数回答的是「在理想输入下有多强」,而不是「在真实输入下会怎样」。

AM-Bench 把这个默认假设变成了显式变量。它对 48 个任务各写一份完整规格,再对三个信息域各生成两个变体:

信息域完整规格模糊(Ambiguous)缺失(Missing)
目标 G最终状态、交付物、完成条件目标宽泛或给出多个候选结果,可有多种合理解释最终目标 / 交付物 / 完成条件完全没说
上下文 C实体、输入、环境、操作信息实体 / 来源 / 执行线索的范围有多种解释关键实体、来源或操作信息缺失
约束 K允许的动作、访问与审批规则、保留要求限制或条件性许可的适用范围开放相关限制与授权要求未声明

于是每个任务有 7 个条件:Full + GA / GM / CA / CM / KA / KM。作者再把这个 7 × 48 的网格与 5 个模型 × 4 个脚手架全交叉,每个格子跑 3 次。

构建方式

  • 任务来源:Terminal-Bench 2.0 与 Harness-Bench,改造为 48 个任务,分 8 个执行类别——数据处理与报告(8)、文档与媒体(7)、沟通与排期(8)、文件与仓库(8)、服务部署(4)、软件与环境修复(7)、运维审计(3)、计算与长时执行(3)。
  • 模型:DS-Flash(deepseek-v4-flash-0731)、DS-Pro(deepseek-v4-pro-0813)、GPT-Luna(gpt-5.6-luna)、GPT-Sol(gpt-5.6-sol)、GLM-5.3。DeepSeek 与 GPT 各成一对,支持同族比较。
  • 脚手架:Codex 0.144.4、NanoBot 0.2.2、NullClaw 2026.5.29、OpenClaw 2026.7.1。
  • 运行规则:300 秒超时;澄清请求不会得到任何回复——这是关键设计,它测的是「在没人回答的情况下 Agent 会怎么办」,而不是「问了就能解决」。
  • 聚合:每个模型 / 脚手架的均值对配对的一方等权重平均,跨配置总体均值对全部 20 个配置等权重平均。

关键发现

一、三个信息域各有各的失效方式,混在一起看会看错

条件CompletionComplianceSuccessToken 均值(k)
Full77.098.776.5106.9
Goal–Ambiguous25.994.325.0126.7
Goal–Missing13.892.512.5119.5
Context–Ambiguous30.491.727.8181.1
Context–Missing21.091.919.4166.0
Constraint–Ambiguous72.346.633.7125.9
Constraint–Missing77.54.70.0138.1

三条独立的因果链:

  • 目标缺口 → 做不完:Completion 掉到 13.8–25.9,但 Compliance 仍高达 92.5–94.3。Agent 没违规,它只是不知道该做成什么样。
  • 上下文缺口 → 白烧钱:Token 从 106.9k 涨到 166–181k(Context–Ambiguous 的 p90 达 400.9k),Success 反而没改善。钱花在反复定位和比对候选输入上。
  • 约束缺口 → 做完了但违规:Completion 反而升到 77.5(比 Full 还高),Compliance 崩到 4.7,Success 归零。这是最危险的一种:任务看起来完成了。

二、约束缺失会触发具体的安全行为,不只是「分数变低」

每 100 次运行的违规计数:

条件调用受限工具敏感数据外泄缺少最终动作输出校验失败
Full0.70.73.63.8
Goal–Missing6.76.471.768.2
Context–Ambiguous8.17.823.925.0
Constraint–Ambiguous57.054.65.15.3
Constraint–Missing99.395.02.92.3

约束没说清楚时,几乎每一次运行都会去调用本该受限的工具,几乎每一次都会把敏感数据带出去,涨幅是 80–140 倍量级。而目标缺失时,七成运行连最终交付动作都没有。

三、缺失比模糊更致命,且在三个域上一致

48 个任务中,Success 下降的中位数:Constraint–Missing −86.7pp(48/48 个任务全部下降)、Goal–Missing −69.2pp(47/48)、Context–Missing −57.5pp(48/48)、Goal–Ambiguous −53.3pp(48/48)。同域内 Missing 的一致性下降幅度都大于 Ambiguous。

超时也同向:Full 113 次超时,Context–Ambiguous 273 次。但排除超时后 Success 也只是从 30.8% 修到 35.1%——超时不是主因,是真的不会做。

四、信息完整时的优势不会延续到欠规格场景

这是本卡对「怎么读排行榜」最直接的警告:

  • GPT-Sol 与 GPT-Luna 在 Full 条件下 Success 领先,到了六种欠规格条件的均值上掉到第 4 和第 5(17.0 / 13.6);
  • DS-Pro 在 Full 条件下排名垫底,在 Goal–Missing 条件下升到第一;
  • DS-Flash 与 Codex 领跑 Mean 和 pass@3,GLM-5.3 与 NullClaw 领跑 pass^3。Codex 比 NullClaw 多 8.0pp 的「至少成功一次」,却少 2.4pp 的「三次全中」——它的优势里有相当一部分是时灵时不灵的成功。

失败构成也完全不同:以 Success 24.8 居首的 DS-Flash,失败里 50.7% 是「做完了但不合规」,只有 0.3% 是没做完;GPT-Luna 的「不合规完成」高达 64.1%;DS-Pro 则有 17.5% 是压根没做完。

五、澄清能救回做不完的活,救不回违规

把「观察到澄清请求」的运行与其配对的 Full 运行对照,Success 的估计增益是:

条件澄清后 Success 增益
Goal–Missing+24.1pp
Context–Missing+9.6pp
Goal–Ambiguous+6.6pp
Context–Ambiguous+6.6pp
Constraint–Missing+3.2pp
Constraint–Ambiguous+3.1pp

目标与上下文缺口的收益是约束缺口的 2–8 倍。原因在上一节:约束缺失时 Completion 本来就高(77.5),Agent 已经「做完了」,它不会觉得有什么需要问。问不问得出口,取决于它知不知道自己不知道。

作者给三方当事人各自的建议也据此分叉:用户应先写清执行边界、再写期望结果、最后才补上下文;模型开发者不能只报一个池化分数,必须按目标 / 上下文 / 约束分列;脚手架开发者要在依赖动作发生之前暴露不确定性,而且一个可执行下一步本身不能当作该动作被允许过的证据。

如何读这张榜

  1. topResults 只有 5 行,因为论文只评了 5 个模型 × 4 个脚手架。这不是榜单拥挤度,是实验设计里「全交叉」的代价。
  2. Full 与欠规格两列的名次会反转,这是本基准的核心结论而不是噪声。选型时先问自己的真实输入长什么样,再决定看哪一列。
  3. 模型与脚手架不可分离:同一模型换脚手架的均值差可达 6pp(Codex 22.2 vs NanoBot 16.2),且方向随模型变化。任何「某模型在某基准上 X%」的说法在本基准上都必须写成「某模型 × 某脚手架」。
  4. 300 秒超时是一个硬边界,长时任务(CE 类的模型训练、集群监控)在 Full 条件下也有 3.9% 超时率,会系统性压低整体分数。
  5. 澄清请求得不到回复是刻意设计。真实场景里问了通常有人答,所以本卡的绝对分数应视为下界。

关联基准

  • ToolEmu / UnderSpecBench:前身,但只覆盖部分模型 × 脚手架组合,且澄清用 rubric 或请求计数而非完整参考对照
  • ClarifyBench / NoisyToolBench / AppWorld-UL:交互式澄清方向,不区分三个信息域
  • Terminal-Bench 2.0 与 Harness-Bench:本卡任务的直接来源
  • CompMat-Bench / KaliBench:同样把「提示量」当显式变量的同期基准
Agent 欠规格 指令遵循 模型×脚手架交叉 合规 未饱和