8.2 Agent 评测基准:AgentBench、GAIA、SWE-bench、WebArena、τ-bench 「我的 Agent 到底好不好?」——这是每个 Agent 开发者都要面对的问题。但 Agent 评测远比 LLM 评测复杂:LLM 评测一道题一个答案,Agent 评测是多步行动 + 工具调用 + 环境交互 + 最终结果。这一节讲清 Agent 评测的难点,以及业界主流基准各自评什么。 8.2.1 Agent 评测为什么难 LLM 评测相对简单——给一道题,看答案对不对。
「我的 Agent 到底好不好?」——这是每个 Agent 开发者都要面对的问题。但 Agent 评测远比 LLM 评测复杂:LLM 评测一道题一个答案,Agent 评测是多步行动 + 工具调用 + 环境交互 + 最终结果。这一节讲清 Agent 评测的难点,以及业界主流基准各自评什么。
LLM 评测相对简单——给一道题,看答案对不对。Agent 评测难得多:
| 维度 | LLM 评测 | Agent 评测 |
|---|---|---|
| 输出 | 单次文本 | 多步轨迹 |
| 交互 | 无 | 与环境/工具交互 |
| 标准 | 答案对错 | 任务是否真正完成 |
| 评测 | 自动化容易 | 难(涉及真实环境) |
| 成本 | 低 | 高(多步调用) |
| 难点 | 表现 |
|---|---|
| 多步轨迹 | 不能只看最终答案,过程也重要 |
| 真实环境 | 评测需真实工具/API/系统,搭建复杂 |
| 结果判定 | 任务完成与否有时模糊(部分成功?) |
| 成本高 | 一个任务多次 LLM 调用,评测成本翻倍 |
💡 Agent 评测的核心难题是「真实环境」:要测一个 Web Agent,得有真实网页;要测一个 Coding Agent,得有真实代码库;要测一个数据库 Agent,得有真实数据库。搭建可重复、隔离、安全的评测环境,是 Agent 评测的最大工程挑战。
<svg viewBox="0 0 520 360" xmlns="http://www.w3.org/2000/svg"> <!-- 雷达图五边形 --> <polygon points="260,40 460,180 380,320 140,320 60,180" fill="none" stroke="#475569" stroke-width="1"/> <polygon points="260,100 400,180 340,280 180,280 120,180" fill="none" stroke="#94a3b8" stroke-width="1"/> <polygon points="260,160 340,180 300,240 220,240 180,180" fill="none" stroke="#cbd5e1" stroke-width="1"/> <!-- 轴 --> <line x1="260" y1="180" x2="260" y2="40" stroke="#475569"/> <line x1="260" y1="180" x2="460" y2="180" stroke="#475569"/> <line x1="260" y1="180" x2="380" y2="320" stroke="#475569"/> <line x1="260" y1="180" x2="140" y2="320" stroke="#475569"/> <line x1="260" y1="180" x2="60" y2="180" stroke="#475569"/> <text x="260" y="30" font-size="13" fill="#475569" text-anchor="middle" font-weight="bold">成功率</text> <text x="475" y="184" font-size="13" fill="#475569" font-weight="bold">效率</text> <text x="395" y="345" font-size="13" fill="#475569" font-weight="bold">成本</text> <text x="120" y="345" font-size="13" fill="#475569" text-anchor="end" font-weight="bold">安全</text> <text x="50" y="184" font-size="13" fill="#475569" text-anchor="end" font-weight="bold">鲁棒性</text> <text x="260" y="200" font-size="13" fill="#db2777" text-anchor="middle" font-weight="bold">Agent 评测五维度</text> </svg>
Agent 评测至少要看五个维度:
| 维度 | 含义 | 衡量 |
|---|---|---|
| 成功率 | 任务是否真正完成 | 完成率 |
| 效率 | 完成任务的步数/时间 | 平均步数、延迟 |
| 成本 | 完成任务的 Token/金钱 | 平均 Token 数 |
| 安全 | 是否越权/出错 | 越权次数、错误率 |
| 鲁棒性 | 对扰动/边界的稳定性 | 边界场景表现 |
⚠️ 只看成功率是远远不够的。一个成功率 90% 但要 50 步、烧光预算的 Agent,不如成功率 80% 但 10 步完成的 Agent。生产 Agent 评测必须多维度权衡。
AgentBench(Liu et al. 2023, 清华)是最早的系统化 Agent 评测基准之一,覆盖 8 类环境:
| 环境 | 测什么 |
|---|---|
| 操作系统 | 终端操作 |
| 数据库 | SQL 查询 |
| 知识图谱 | 复杂推理 |
| 卡牌游戏 | 策略 |
| 情景猜词 | 沟通 |
| Web 仿真 | 网页操作 |
| 居家环境 | 家务任务(具身) |
| 网店购物 | 电商操作 |
AgentBench 的价值:首次系统比较各 LLM 作为 Agent 的能力,揭示「会聊天 ≠ 会办事」——很多对话表现好的模型,Agent 能力反而弱。
GAIA(General AI Assistants, Mets et al. 2023, Meta)专门测「真实世界通用助手」能力。它的任务设计有几个特点:
| 特点 | 含义 |
|---|---|
| 多步推理 | 答案需要多步查证 |
| 多工具 | 需用搜索、计算、文件处理 |
| 真实场景 | 像人类助理会遇到的 |
| 答案唯一 | 易自动评分 |
GAIA 把任务按难度分 Level 1/2/3,是衡量「通用 Agent 助手」水平的重要基准。
SWE-bench(Jimenez et al. 2023)专测软件工程能力——给 Agent 一个真实 GitHub 项目的 issue,让它修改代码解决问题。
| 维度 | 内容 |
|---|---|
| 任务 | 真实 GitHub issue |
| 输入 | issue 描述 + 代码库 |
| 输出 | 代码修改(patch) |
| 评判 | 是否通过测试 |
SWE-bench 是衡量「Coding Agent」水平的核心基准。Devin、OpenDevin、SWE-Agent 等都在它上比拼。它非常难——早期最强模型也只能解几个百分点。
WebArena(Zhou et al. 2024)专测网页操作能力——让 Agent 在仿真的多网站环境里完成 Web 任务(购物、发帖、查资料)。
| 维度 | 内容 |
|---|---|
| 任务 | 真实 Web 操作 |
| 环境 | 多个仿真网站(电商、论坛、CMS) |
| 评判 | 任务是否正确完成 |
WebArena 衡量「Web Agent / GUI Agent」的能力,是 Computer Use 类产品的关键基准。
τ-bench(tau-bench, Shinn et al. 2024)专测工具使用与政策遵循——给 Agent 一组工具和政策,让它在与模拟用户的对话中完成任务。
| 维度 | 内容 |
|---|---|
| 任务 | 模拟用户对话 + 工具调用 |
| 重点 | 政策遵循、工具正确使用 |
| 评判 | 任务是否按政策完成 |
τ-bench 关注「Agent 是否按规则安全办事」,与第 6.4 节安全主题紧密相关。
| 基准 | 测什么 | 环境 | 难度 |
|---|---|---|---|
| AgentBench | 综合 Agent 能力 | 8 类(OS/DB/Web/...) | 中-高 |
| GAIA | 通用助手 | 真实世界多工具 | 高 |
| SWE-bench | 软件工程 | 真实 GitHub | 极高 |
| WebArena | Web 操作 | 仿真多网站 | 高 |
| τ-bench | 工具使用与政策 | 模拟对话+工具 | 中-高 |
| 指标 | 含义 |
|---|---|
| Success Rate | 任务完成率 |
| Step Count | 平均完成步数 |
| Token Cost | 平均 Token 消耗 |
| Latency | 平均延迟 |
| Tool Call Accuracy | 工具调用正确率 |
| Policy Compliance | 政策遵循率(τ-bench) |
| Hallucination Rate | 幻觉率 |
| 类型 | 含义 | 例子 |
|---|---|---|
| 结果指标 | 任务最终是否完成 | Success Rate |
| 过程指标 | 过程是否合理 | 工具调用准确率、步数 |
💡 过程指标的价值:只看结果会漏掉「侥幸成功」(瞎猫碰上死耗子)和「低效成功」(绕了一大圈)。过程指标能区分「真懂」和「碰巧」。生产 Agent 评测应当结果 + 过程并重。
Agent 评测理想是「全自动化」——CI 流水线里跑评测。但有几个难点:
每个基准都要专门环境(Web 仿真、代码库、数据库等),搭建成本高。
有些任务的结果难以自动判定:
| 任务 | 判定难点 |
|---|---|
| 写一篇文章 | 主观质量 |
| 设计一个方案 | 多解 |
| 部分成功 | 边界模糊 |
同一 Agent 同一任务,跑两次结果可能不同(LLM 采样随机)。要多次跑取平均。
Agent 评测一个任务要多次 LLM 调用,跑完整套基准成本不低。
完全自动化很难,人工评估仍是 Agent 评测不可替代的一环:
| 维度 | 自动 | 人工 |
|---|---|---|
| 客观任务(写代码) | 强 | 弱(如 SWE-bench) |
| 主观任务(写文章) | 弱 | 强 |
| 过程合理性 | 中 | 强 |
| 用户体验 | 弱 | 强 |
让一个强 LLM 当评委,对 Agent 输出打分——介于全自动与人工之间。优点是成本低、可规模化,缺点是评委 LLM 本身可能有偏见。
⚠️ LLM-as-a-Judge 的陷阱:评委 LLM 会偏好「像自己」的答案——GPT-4 评委可能偏好 GPT-4 风格。关键评测应当多个模型交叉评判 + 抽样人工复核。
| 反模式 | 表现 | 后果 | 正确做法 |
|---|---|---|---|
| 只看成功率 | 忽视过程与成本 | 选错 Agent | 多维度评测 |
| 只跑一次 | 不防随机性 | 数据不稳 | 多次取平均 |
| 只测 happy path | 不测边界 | 高估能力 | 测长尾场景 |
| 环境不隔离 | 任务互相污染 | 评测失真 | 每次重置环境 |
| 盲目信 LLM 评委 | 评委有偏见 | 评分偏 | 多模型+人工抽样 |
| 不看过程 | 漏掉低效与侥幸 | 误判 | 过程+结果并重 |
| 不评测就上线 | 凭感觉 | 上线即翻车 | 强制评测门禁 |
除公共基准,生产 Agent 还应有自评体系:
| 层 | 内容 |
|---|---|
| 单元测试 | 单工具调用是否正确 |
| 集成测试 | 多步流程是否走通 |
| 回归测试 | 升级后能力是否下降 |
| A/B 测试 | 不同版本对比 |
| 线上监控 | 真实场景表现 |
| 用户反馈 | 用户满意度 |
💡 公共基准 vs 自评体系:公共基准(GAIA、SWE-bench)衡量「通用能力」;自评体系衡量「业务场景能力」。两者都不可少——只看公共基准会脱离业务,只看自评会脱离行业水平。