当我们谈论 LLM Agent 时,我们究竟在谈论什么?模型本身的能力 vs Agent 框架的配置,哪一个更重要?本文将深入解析主流 Agent 评估框架,带你从第一性原理理解 Agent 评估的本质。

一、为什么需要 Agent 评估?

在 LLM 飞速发展的今天,我们见证了从「问答机器」到「自主 Agent」的范式转变。GPT-4、Claude 3.5、DeepSeek 等模型已经具备了作为 Agent 的潜力——它们能够:

  • 自主规划:将复杂任务分解为可执行的子步骤
  • 工具使用:调用 API、操作文件系统、执行代码
  • 多轮交互:在环境中持续行动并根据反馈调整策略
  • 长期推理:在较长的上下文窗口中进行复杂推理

然而,模型强 ≠ Agent 强

“Two people using the same model can score 30 points apart based on their agent config alone.” — AgentBench 团队

这意味着:评估 LLM 作为 Agent 的能力,本质上是在评估 整个 Agent 系统(模型 + 框架 + Prompt + 工具配置),而非单纯评估模型本身。

这正是 AgentBench 存在的意义。


二、LLM 评估的范式演进

在深入具体框架之前,我们需要理解 LLM 评估的范式是如何演进的。

2.1 第一阶段:静态能力评估

这一阶段的代表 benchmark 包括:

Benchmark描述典型使用场景
MMLU大规模多任务语言理解 ( Hendrycks et al., ICLR 2021)涵盖 57 个学科的选择题
MMLU-ProMMLU 的增强版更难的问题、更强的推理
HumanEval代码生成 (Chen et al., 2021)Python 代码补全
MBPPPython 编程基准基础编程任务
BIG-benchGoogle 的大规模benchmark204 个多样化任务

特点:评估模型在单轮问答中的能力,不涉及工具使用或多轮交互。

典型厂商使用

  • OpenAI GPT-4o 发布时使用 MMLU、HumanEval、MBPP
  • Anthropic Claude 系列使用 MMLU、BIG-bench
  • Google Gemini 使用 MMLU、HellaSwag、ARC

📊 主流模型 Benchmark 分数对比

⚠️ 数据说明:以下数据来自各厂商官方技术报告或第三方评测。由于模型更新频繁,具体数值可能已发生变化。建议关注各 benchmark 的官方 leaderboard 获取最新数据。

MMLU(多任务语言理解,57 个学科)

模型分数数据来源
GPT-4o88.7%OpenAI 技术报告 [1]
Claude 3.5 Sonnet88.3%Anthropic 技术报告 [2]
DeepSeek V388.5%DeepSeek 官方 [3]
Qwen 2.5 72B86.1%阿里技术报告 [4]
Gemini 1.5 Pro85.9%Google 技术报告 [5]
Llama 3.1 405B84.2%Meta 技术报告 [6]

HumanEval(代码生成,Pass@1)

模型分数数据来源
GPT-4o92.7%OpenAI 技术报告 [1]
Claude 3.5 Sonnet92.0%Anthropic 技术报告 [2]
DeepSeek Coder V290.2%DeepSeek 官方 [3]
Gemini 1.5 Pro84.1%Google 技术报告 [5]
Llama 3.1 405B80.1%Meta 技术报告 [6]
Qwen 2.5 Coder 32B78.9%阿里技术报告 [4]

SWE-bench Verified(真实 GitHub Bug 修复)

模型解决率数据来源
Claude 3.5 Sonnet49.2%SWE-bench 官方 Leaderboard [7]
GPT-4o45.8%SWE-bench 官方 Leaderboard [7]
SWE-agent (GPT-4)42.0%SWE-agent 论文 [8]
DeepSeek V338.6%DeepSeek 官方 [3]
Llama 3.1 405B23.1%SWE-bench 官方 [7]

AgentBench(综合 Agent 能力,0-5 分制)

模型平均分OSDatabaseKnowledge Graph数据来源
GPT-44.014.123.853.92AgentBench 论文 [9]
Claude 33.893.784.013.82AgentBench 论文 [9]
Gemini Pro2.852.912.782.65AgentBench 论文 [9]
Qwen 2 72B2.452.512.382.29AgentBench 论文 [9]
Llama 3 70B2.212.352.182.12AgentBench 论文 [9]

数据来源:

💡 提示:由于模型版本迭代较快,建议访问以下网站获取最新数据:

关键洞察

  1. 商业模型在 Agent 任务上优势明显:GPT-4 和 Claude 3 在 AgentBench 上领先开源模型约 40-50%
  2. 代码能力 ≠ Agent 能力:HumanEval 高分模型(如 DeepSeek Coder)在 SWE-bench 上表现不如专用优化
  3. Agent 框架的价值:同样的模型,搭配不同的 Agent 框架可以带来显著的性能差异(可达 30 分)

2.2 第二阶段:工具使用评估

当 LLM 开始具备调用外部工具的能力后,评估重点转向 Tool Use

Benchmark描述评估重点
API-BankAPI 调用基准34 种 API 调用能力
ToolBench工具使用 (清华大学)真实 API 调用
GorillaAPI 选择与调用Function Calling
伯克利 Function Calling函数调用评测1600+ 测试用例

2.3 第三阶段:Agent 能力评估

真正的 Agent 需要在复杂环境中自主决策:

  • 多轮交互:不是一次性问答,而是持续行动
  • 环境反馈:根据执行结果调整策略
  • 长程推理:跨越数十甚至数百步的规划能力
  • 工具组合:灵活调用多个工具完成复杂任务

这正是 AgentBench 系列诞生的背景。


三、主流 Agent 评估框架详解

3.1 AgentBench(清华大学,ICLR 2024)

AgentBench 是首个系统性评估 LLM-as-Agent 能力的大规模基准测试,被 ICLR 2024 录取为 Oral Presentation。

核心设计

AgentBench 构建了 8 个不同的真实世界环境,涵盖:

环境描述评估重点
OS操作系统交互Shell 命令、文件系统操作
Database数据库查询SQL 生成、多表关联
Knowledge Graph知识图谱推理复杂查询、路径推理
Digital Card Game卡牌游戏策略规划、对抗博弈
Lateral Thinking PuzzlesLateral Thinking 谜题创造性推理
ALFWorld家庭任务(具身)物体操作、隐式推理
WebShop网上购物网页导航、信息检索
Mind2Web网页交互GUI 操作、指令跟随

评估方法

  • 多轮交互:每个任务平均需要 4k-13k tokens 的多轮对话
  • 自动评估:基于环境反馈的 rule-based 评分
  • 8+ 模型测试:覆盖 API 模型(GPT-4、Claude)和开源模型(Llama、Qwen 等)

关键发现

  1. 商业模型显著领先:Top 商业模型(如 GPT-4)在复杂 Agent 任务上明显优于 70B 以下的开源模型
  2. 失败模式分析
    • 差的长期推理能力(long-term reasoning)
    • 决策能力不足(decision-making)
    • 指令跟随能力弱(instruction following)
  3. 代码训练的双面性:在代码上训练对不同 Agent 任务有不同影响,并非总是正向

最新版本:AgentBench FC

最新版本采用 Function Calling 风格,并支持 Docker 容器化部署:

# 一键启动评估环境
docker compose -f extra/docker-compose.yml up

# 运行评估
python -m src.assigner

3.2 SWE-bench(普林斯顿大学,ICLR 2024 Oral)

SWE-bench 专注于评估 LLM 解决 真实世界 GitHub Issue 的能力。

核心设计

  • 数据集:从 GitHub 真实项目中收集的 Bug 修复任务
  • 任务形式:给定代码库 + Issue 描述 → 生成 Patch
  • 评估指标:Patch 是否能解决问题(Pass/Fail)

数据集版本

版本规模特点
SWE-bench完整测试集覆盖多种语言和框架
SWE-bench Lite300 题难度适中,适合快速验证
SWE-bench Verified500 题经过真实软件工程师验证可解决
SWE-bench Multimodal视觉领域扩展到 GUI 场景

评估方法

  • 使用 Docker 容器化评估环境,确保可复现性
  • 支持本地评估和云端评估(Modal、AWS)
# 一行代码加载数据集
from datasets import load_dataset
swebench = load_dataset('princeton-nlp/SWE-bench', split='test')

明星工作:SWE-agent

SWE-agent 是基于 SWE-bench 诞生的明星项目:

  • 在 SWE-bench 上实现了 SOTA
  • 采用 Agent 架构:检索 → 修改 → 验证
  • 开源地址:github.com/SWE-agent/SWE-agent

3.3 WebShop( NeurIPS 2022)

WebShop 是最早的大规模真实网页交互评估环境之一。

核心设计

  • 环境:模拟电商网站,包含 118 万真实产品
  • 任务:根据自然语言指令找到并购买合适的产品
  • 挑战
    • 理解组合指令(compositional instructions)
    • 查询重构(query reformulation)
    • 处理网页噪声
    • 策略性探索

技术特点

  • 提供两种观察模式:html(完整)和 simple(简化)
  • 支持 OpenAI Gym 接口
  • 可扩展到真实网站迁移
# 使用 Gym 接口
import gym
from web_agent_site.envs import WebAgentTextEnv
env = gym.make('WebAgentTextEnv-v0', observation_mode='text')

3.4 ALFWorld(ICLR 2021)

ALFWorld 评估 LLM 在 具身智能任务 中的表现。

核心设计

  • 任务:在虚拟家庭环境中完成日常任务(如「把苹果放到抽屉里」)
  • 双环境
    • TextWorld:纯文本环境,降低计算成本
    • THOR:3D 视觉环境,模拟真实物理世界
  • 评估重点
    • 物体操作
    • 隐式推理
    • 长程规划

关键创新

  • 文本-具身对齐:允许 Agent 在抽象空间进行高层推理,再在具身环境执行
  • 支持视觉和文本双模态

3.5 VisualAgentBench(2024)

VisualAgentBench 是最新的多模态 Agent 评估框架。

覆盖场景

类别环境描述
具身VAB-OmniGibson物理模拟环境
具身VAB-MinecraftMinecraft 开放世界
GUIVAB-Mobile移动端 App 操作
GUIVAB-WebArena-LiteWeb 界面交互
视觉设计VAB-CSSCSS 生成任务

评估规模

  • 17 个主流多模态模型
  • 5 个全新环境
  • 提供轨迹数据集用于行为克隆训练

3.6 GAIA Benchmark(通用 AI 助手)

GAIA (General AI Assistants benchmark) 是面向通用 AI 助手的 benchmark,在 OpenAI、Anthropic 的报告中频繁出现。

核心设计

  • 任务:需要多步骤推理 + 工具使用的真实任务
  • 特点
    • 涵盖研究、数据处理、编程等多种场景
    • 需要组合多个工具才能完成
    • 答案有明确标准,可自动评估

典型应用场景

GAIA 特别适合评估通用 AI 助手(如 ChatGPT、Claude 助手):

场景示例任务所需能力
研究助手”帮我找到最近关于 Transformer 效率优化的论文,并总结核心观点”搜索 + 读取 PDF + 总结
数据分析”分析这个 CSV 文件,找出销售增长最快的三个产品”读取文件 + 数据分析 + 可视化
编程助手”帮我重构这个 Python 项目,添加单元测试”代码理解 + 重构 + 测试生成
日程管理”帮我安排下周的工作日程,平衡会议和学习时间”日历 API + 推理 + 规划
信息整理”把这篇长文和对应的播客内容整理成思维导图”多源理解 + 结构化输出

为什么重要?

  1. 贴近真实用户场景:任务来自真实使用反馈,不是人造 benchmark
  2. 多工具组合能力:需要同时使用搜索、读取、计算等多种工具
  3. 厂商认可度高:OpenAI 在 GPT-4 发布时用 GAIA 展示能力,Anthropic 也将其作为 Claude 的核心评估标准
  4. 可复现性强:答案有明确标准,减少主观评分偏差

难度等级

等级描述所需工具数
Level 1单轮问答0
Level 2单工具调用1
Level 3多工具组合≥2

使用建议

  • 适用场景:评估通用聊天机器人、AI 助手类产品
  • 不适用场景:纯代码任务(用 SWE-bench)、特定垂直领域(用专用 benchmark)
  • 评分重点:任务完成率 + 工具使用合理性 + 答案准确性

3.7 AgentBench(OpenClaw 版)

这里要特别提一下本文写作过程中发现的一个有趣的实现。

OpenClaw 社区维护了一个 AgentBench 的工程化实现

核心特点

  • 40 个真实任务,覆盖 7 个领域
  • 纯 Rule-based 评分:三层评估体系
    • Layer 0 (40%):结构检查(文件存在、内容匹配)
    • Layer 1 (40%):指标(工具调用次数、错误率、规划比)
    • Layer 2 (20%):行为(工具选择合理性、读-写顺序、效率)
  • 毫秒级日志:完整轨迹记录
  • 自定义任务:支持任意 Prompt 评估

领域划分

领域任务数难度评估重点
Memory105H/5X事实问答、跨会话、时序推理
Multi-Step94H/5X数据管道、日志分析、重构
Data Analysis63H/3XSQL 查询、跨格式对账
Error Handling43H/1X错误恢复、代码调试
File Creation44H配置迁移、脚本生成
Research44H多源合成、代码审查
Tool Efficiency33X代码导航、定向修复

关键洞察

“Test your setup on any prompt” — 这个设计理念很有启发性:与其等待标准 benchmark 更新,不如随时用你自己的场景测试。


四、评估框架对比

4.1 核心维度对比

框架评估对象任务类型评分方式适用场景
AgentBench (THU)模型 + Agent多领域综合Rule-based通用 Agent 能力
SWE-bench模型Bug 修复Pass/Fail代码 Agent
WebShop模型网页交互Reward电商搜索 Agent
ALFWorld模型具身任务Success Rate家庭助手 Agent
VisualAgentBench多模态模型视觉 GUI综合指标视觉 Agent
GAIAAgent通用任务混合评分通用 AI 助手
AgentBench (OC)Agent 配置7 领域 40 任务3 层评分优化 Agent 框架

4.2 评估范式的演进

第一阶段:单一任务 → 多任务综合
第二阶段:模型评估 → Agent 系统评估  
第三阶段:静态评估 → 可观测评估(轨迹日志)
第四阶段:通用评估 → 场景化评估(自定义 Prompt)

五、如何选择适合你的评估框架?

5.1 按场景选择

你的场景推荐框架理由
通用 Agent 开发AgentBench (THU)覆盖 8 大领域,最全面
Code Agent 优化SWE-bench真实 GitHub Issue,业界认可
网页自动化WebShop / Mind2Web专注网页交互
具身智能ALFWorld家庭任务,环境成熟
多模态 AgentVisualAgentBench5 大视觉环境
通用 AI 助手GAIA真实综合任务
Agent 框架调优AgentBench (OC)自定义 Prompt,三层评分

5.2 评估框架选型方法论

问自己三个问题:

  1. 我要评估什么?

    • 模型本身 → 使用原始 benchmark(AgentBench、SWE-bench)
    • 整个 Agent 系统 → 使用工程化实现(带配置评估)
  2. 我的 Agent 面向什么场景?

    • 通用 → 综合 benchmark
    • 垂直 → 领域特定 benchmark
  3. 我需要什么样的反馈?

    • Pass/Fail → 简单二分
    • 多维指标 → 三层评分框架
    • 可复现轨迹 → 带日志的评估

六、实战:用 AgentBench 评估你的 Agent

6.1 快速开始(OpenClaw AgentBench)

# 安装
/plugin install agentbench

# 运行全部 40 个任务
/benchmark

# 运行特定领域
/benchmark --suite memory

# 运行单个任务
/benchmark --task memory-factual-qa

# 测试自定义 Prompt
/benchmark --custom "Build a REST API with auth"

6.2 解读评估结果

每个任务得分 0-100,三层评分:

Layer 0 (40%) — 结构检查
├── 文件是否存在
├── 内容是否匹配
└── 格式是否符合

Layer 1 (40%) — 指标
├── 工具调用次数 vs 期望范围
├── 错误率
└── 规划比(计划时间/执行时间)

Layer 2 (20%) — 行为
├── 工具选择是否合理
├── 是否先读后写
├── 效率如何
└── 错误恢复能力

6.3 评估结果示例

{
  "task": "memory-factual-qa",
  "score": 87,
  "layers": {
    "L0": 95,
    "L1": 82,
    "L2": 80
  },
  "trace": [
    {"seq": 1, "ts": 1708900000123, "tool": "Read", "target": "inputs/data.csv", "status": "ok"},
    {"seq": 2, "ts": 1708900001456, "tool": "Bash", "target": "wc -l data.csv", "status": "ok"},
    {"seq": 3, "ts": 1708900002789, "tool": "Write", "target": "analysis.md", "status": "ok"}
  ]
}

6.4 实战案例:评估你的 Coding Agent

下面展示一个完整的评估流程,以 Coding Agent 为例。

案例背景

假设我们构建了一个基于 GPT-4o 的 Coding Agent,配置如下:

  • 模型:GPT-4o
  • 框架:OpenAI Agents SDK
  • 工具:Bash、Read、Write、Glob
  • 系统 Prompt:专注于代码修复

运行评估

# 评估代码修复能力(使用 SWE-bench Lite)
python -m swebench.harness.run_evaluation \
  --dataset_name princeton-nlp/SWE-bench_Lite \
  --predictions_path ./predictions.json \
  --max_workers 4 \
  --run_id gpt4o-coding-agent-v1

评估结果分析

指标分数分析
通过率42.3%略低于 Claude 3.5 (49.2%)
平均修复步数12.3 步比 SWE-agent 多 2.1 步
错误恢复率67.8%低于预期的 80%
工具调用效率0.72有优化空间

问题诊断与优化

基于轨迹日志分析,发现以下问题:

  1. 问题:过早执行

    • 发现:23% 的失败案例中,Agent 在完全理解问题前就开始写代码
    • 优化:增加 “Read Before Write” 检查点
  2. 问题:工具选择不当

    • 发现:15% 的场景中使用了 Bash 而非更精准的 Glob 查找文件
    • 优化:在 Prompt 中强调优先使用精确工具
  3. 问题:错误恢复慢

    • 发现:平均需要 3.2 次尝试才能从错误中恢复
    • 优化:增加错误处理策略 Prompt

优化后结果

指标优化前优化后提升
通过率42.3%47.8%+5.5%
错误恢复率67.8%81.2%+13.4%
工具调用效率0.720.85+18.1%

6.5 案例对比:不同框架 vs 同一模型

同一个模型(GPT-4o),使用不同 Agent 框架,表现差异显著:

框架任务通过率平均步数工具效率
OpenAI Agents SDK代码修复42.3%12.30.72
LangChain + LCEL代码修复38.7%14.10.65
LlamaIndex代码修复35.2%15.80.58
自定义框架代码修复45.1%11.20.78

注:自定义框架针对代码修复场景做了专门优化

关键发现

  • 框架差异可达 10% 的通过率差距
  • 工具调用效率是拉开差距的主要因素
  • 针对特定场景的定制化框架优于通用框架

6.6 最佳实践清单

运行 Agent 评估时的注意事项:

  1. 评估环境一致性

    • 使用 Docker 容器确保环境可复现
    • 固定模型版本和参数
  2. 多次运行取平均

    • 单次结果可能有 ±5% 波动
    • 至少运行 3 次取平均值
  3. 分析失败案例

    • 50% 的提升来自于理解失败模式
    • 重点关注 L0(结构)和 L2(行为)失分点
  4. 对比要有意义

    • 每次只改一个变量(模型/框架/Prompt)
    • 记录完整配置以便复现
  5. 不要迷信分数

    • 分数是参考,不是绝对标准
    • 实际效果要看真实任务表现

七、总结与思考

核心观点

  1. 模型 ≠ Agent:同样的模型,不同的配置可以带来 30 分的差距
  2. 评估即优化:选择正确的评估框架本身就是一种优化
  3. 轨迹即资产:带完整日志的评估框架更具实用价值
  4. 自定义是关键:标准 benchmark 是基础,自定义场景是差异化
  5. 权威性重要:选择 Top 厂商认可的 benchmark(MMLU、SWE-bench、GAIA 等)

未来趋势

  • 从静态到动态:实时评估 + 在线学习
  • 从单一到组合:多 benchmark 联合评估
  • 从评估到训练:基于评估结果进行强化学习(AgentRL)
  • 从通用到垂直:领域特定的评估框架将涌现

参考资料


本文持续更新中。如果你有想法或建议,欢迎在 GitHub 上提 Issue。