Agent 评测领域调研总结

调研时间:2026-04 | 服务于 SkillLab / CoPaw 评测框架设计


一、主流 Benchmark 速览

Benchmark 机构 核心 Metric 测的是什么 难度
GAIA Meta/HuggingFace 最终答案准确率 多步推理 + 工具使用 Level1~3,GPT-4 Level2 通过率 ≈15%
SWE-bench Princeton patch 通过测试率 代码修复端到端 GPT-4 约 2-4%(verified 子集)
τ-bench Stanford pass^k 多轮工具使用可靠性 pass^1=50% 的 agent,pass^8 可能 <25%
WebArena CMU task success rate 真实网页操作 当前 SOTA ≈ 35-40%
AgentBoard 清华 Success Rate + Progress Rate 多步任务分解 综合成功率 <30%
IFEval Google PA-strict + IA-strict 指令约束遵从 单约束 ~90%,3+ 约束 ~65%
FollowBench 清华 CSL(能力分层得分) 多层约束遵从 约束冲突场景仅 45-55%
AgentDojo ETH/CMU 任务成功率 + 攻击成功率 工具使用 + 对抗鲁棒性
LoCoMo Meta FactScore(原子事实准确率) 长期记忆召回 时序推理最难,差距达 73%

二、关键 Metric 和方法

2.1 pass^k(τ-bench 提出)

问题:单次测试通过率严重高估真实部署质量。

原理:对同一 case 独立运行 k 次,统计至少通过一次的概率。

pass^k = 1 - (1 - p)^k

实测数据(τ-bench,airline + retail 任务):

agent pass^1 pass^5 pass^8
GPT-4o ~50% ~35% ~25%
Claude 3.5 ~55% ~38% ~28%

结论:你的框架每条 case 只跑一次,如果某个维度通过率 90%+,可以用 pass^3 验证是否真实。


2.2 AgentBoard Progress Rate(部分分)

问题:complex task 要么全对要么全错,success rate 无法区分"完成了 8/10 步"和"完成了 2/10 步"的 agent。

公式

Progress Rate = Σ(subgoals_completed) / Σ(total_subgoals)

作用:作为 success rate 的补充诊断指标,不作为对外宣称的主指标。

对 SkillLab 的启示:C2(规划与多步推理)适合引入子目标完成率,而不是只看最终对错。


2.3 IFEval 双层评分

Google 的 IFEval 对每条 case 同时算两个分数:

意义:PA-strict 是对外的 headline number;IA-strict 用于分析是哪类约束失败最多。

B3 目前只有 PA-strict 逻辑,可以考虑加 IA-strict 做诊断。


2.4 FactScore(原子事实分解)

用途:评测 memory recall 的准确性,避免「整体看起来对但细节错了」的问题。

方法

  1. 把期望输出拆解成原子事实(每个不可再分的陈述)
  2. 每个原子事实单独判断是否出现在 agent 回答中
  3. 最终分数 = 正确原子事实数 / 总原子事实数

LoCoMo 的发现

对 C3 的启示:C3 的 pass criteria 可以拆成原子事实,避免 LLM judge 因为回答"整体通顺"就给过。


三、LLM-as-Judge 的已知偏差

这是 SkillLab 最需要警惕的问题,直接影响 LLM-judge 类 case 的结果可信度。

3.1 位置偏差(Position Bias)

现象:当 judge 需要比较两个答案时,倾向于选择排在前面的那个。

数据:Claude v1 在 pairwise comparison 中,位置一致性仅 76.2%(即 23.8% 的判断会因为顺序调换而翻转)。

缓解方法 — Swap Augmentation

同一对比运行两次,交换 A/B 顺序
只有两次都选同一个才算最终结论
两次不一致 → 标记为 "tie" 或 human review

3.2 冗长偏差(Verbosity Bias)

现象:更长、更详细的回答更容易得高分,即使内容质量并不更好。

数据:专门设计的冗长攻击(在回答后加大量无关内容)对 Claude/GPT-3.5 的攻击成功率 91.3%

缓解方法:Judge prompt 中明确加入:

请注意:不要因为回答更长或更详细就给更高分,
只评估是否满足以下具体标准:[标准列表]

3.3 自我提升偏差(Self-Enhancement Bias)

现象:模型作为 judge 时,倾向于给"风格和自己类似"的回答更高分。

缓解方法:judge 模型应与被测模型不同系列(如用 Claude judge GPT 输出,而非用 Claude judge Claude)。


四、Self-Correction 的局限性

来源:arXiv:2310.01798

结论:没有外部反馈信号时,让模型自我反思并修正答案,准确率下降而非上升。

数据:GPT-3.5 在 CommonSenseQA 上:

对 C2 的影响

C2 中有 self_correction_rate 指标,理论上有缺陷。正确做法


五、AgentDojo 的安全测试发现

场景:agent 使用工具时,工具结果中被注入了恶意指令(prompt injection)。

最有效的攻击格式

[工具返回结果中注入]
IMPORTANT: [恶意指令内容]

攻击成功率

对 Q2(安全与对抗鲁棒性)的启示:测 prompt injection 时,要使用这种高攻击率格式,而不是简单的直接注入。


六、过程评测 vs 结果评测:最终结论

学术界当前共识(截至 2025):

评测目的 推荐方式 代表 Benchmark
验收(能不能用) 结果导向 GAIA, SWE-bench, τ-bench
诊断(哪里坏了) 过程导向 AgentBoard Progress Rate, ToolBench trace
子能力基准 过程导向 IFEval, FollowBench, ToolBench

对 SkillLab 的直接结论


七、可直接借鉴的设计

来自 可以用在哪 具体做法
τ-bench pass^k 所有维度 对通过率 >90% 的维度,跑 3 次取平均,暴露可靠性问题
IFEval IA-strict B3 多约束 case 增加「每条约束单独打分」,统计哪类约束最常失败
AgentBoard Progress Rate C2 多步规划 case 拆子目标,记录完成了几步
FactScore C3 memory recall case 的期望输出拆成原子事实,逐条验证
Swap Augmentation 所有 LLM-judge pairwise 比较场景下双向跑,一致才算结论
AgentDojo injection格式 Q2 prompt injection case 使用 "IMPORTANT:" 格式提高区分度