大模型与 AI Agent Benchmark 全景指南:它们究竟在评估什么
文章目录
看模型发布报告时,我们经常会遇到一长串名字:ARC-E、ARC-C、MMLU、GPQA、GSM8K、HumanEval、SWE-bench、GAIA、WebArena、OSWorld……它们的分数不能直接横向比较,因为每个 benchmark 测量的能力、输入形式、可用工具和评分方式都不同。
本文整理一张从“大模型答题”到“Agent 完成真实任务”的评测地图,并解释每个常见 benchmark 究竟是什么、适合测什么,以及不能从分数中推出什么结论。
先澄清两个常见误区
- SWE-bench 是 benchmark,SWE-agent 不是。SWE-bench 提供 GitHub issue、代码仓库和测试;SWE-agent 是让语言模型操作仓库、修改代码并解决 issue 的 Agent 系统。
- ARC-E / ARC-C 与 ARC-AGI 不是同一个 ARC。前者来自 AI2 Reasoning Challenge,是科学选择题;后者使用彩色网格测试抽象规则归纳。
1. Benchmark 测的到底是模型,还是系统
评测对象可以分为三层:
| 层级 | 评测对象 | 典型输入 | 典型 benchmark |
|---|---|---|---|
| 模型能力 | 一次或少量文本生成 | 问题、选项、代码签名 | ARC、MMLU、GPQA、GSM8K、HumanEval |
| 工具能力 | 模型选择并调用函数/API | 工具描述、用户请求、执行反馈 | BFCL、ToolBench、τ-bench |
| Agent 系统 | 模型、prompt、memory、tools、scaffold 的整体 | 仓库、浏览器、桌面或长期任务环境 | SWE-bench、GAIA、WebArena、OSWorld、PaperBench |
因此,Agent benchmark 的分数不是“底层模型智商”。同一个模型放入不同的搜索策略、工具接口、上下文压缩和错误恢复框架,结果可能差很多。更准确的表示是:
|
|
2. 一张快速索引表
| Benchmark | 主要能力 | 任务形式 | 常见指标 |
|---|---|---|---|
| ARC-E / ARC-C | 小学科学知识与推理 | 四选一选择题 | Accuracy |
| HellaSwag | 常识与事件续写 | 选择最合理的后续 | Accuracy |
| WinoGrande | 指代消解与常识 | 二选一填空 | Accuracy |
| MMLU | 多学科知识与解题 | 57 个学科的选择题 | Macro / Average Accuracy |
| MMLU-Pro | 更难的知识推理 | 10 选 1、多步推理 | Accuracy |
| GPQA / GPQA Diamond | 高难度科学推理 | 生物、化学、物理选择题 | Accuracy |
| GSM8K | 小学数学文字题 | 多步算术,输出答案 | Exact Match |
| MATH / MATH-500 | 竞赛数学 | 自由解答 | Exact Match |
| AIME | 高难竞赛数学 | 0–999 整数答案 | Accuracy / pass@k |
| HumanEval | 函数级代码生成 | docstring + 函数签名 | pass@k |
| MBPP | 基础 Python 编程 | 自然语言题目 + tests | pass@k |
| LiveCodeBench | 更新中的代码能力 | 竞赛题、自修复、执行预测 | pass@1 等 |
| SWE-bench | 仓库级软件工程 | GitHub issue → patch | % Resolved |
| BFCL | Function Calling | 选择函数并生成参数 | AST / Executable Accuracy |
| ToolBench | API 选择与多步工具使用 | 指令 + 大量真实 API | Success / win rate |
| τ-bench | 工具、用户与政策交互 | 多轮对话 + domain APIs | pass^k / success rate |
| GAIA | 通用助手 | 搜索、文件、多模态、工具组合 | Exact Match / Accuracy |
| AgentBench | 多环境自主行动 | OS、数据库、网页等环境 | 综合 success score |
| WebArena | 网页操作 | 自托管真实网站中的任务 | Task Success Rate |
| OSWorld | 电脑使用 | 真实桌面应用与跨应用流程 | Task Success Rate |
| PaperBench | 长周期研究 Agent | 复现 AI 论文实验 | Rubric-based score |
下面按能力类型展开。
3. 知识、常识与文本推理
3.1 ARC-E 与 ARC-C:小学科学选择题
AI2 Reasoning Challenge(ARC) 收集三至九年级的科学考试题,并分成两个子集:
- ARC-Easy(ARC-E):相对容易,很多题可通过基础事实或直接推理回答;
- ARC-Challenge(ARC-C):由检索和词共现基线都较难回答的问题组成,更强调知识组合与推理。
示意题:
|
|
主要测量:科学知识、阅读理解、选项比较和短链推理。常用指标是 accuracy。
局限:选择题允许排除法和猜测;题目难度较低时容易饱和,也不能证明模型会做开放式科学研究。
3.2 HellaSwag:哪个后续事件最合理
HellaSwag 给出一个场景或动作描述,要求从四个候选结尾中选择最符合常识的后续。它更关注日常事件的顺序、动作可行性和语境一致性,而不是专业知识。
主要测量:常识推理、事件预测、语言连贯性。指标通常是 normalized accuracy。
局限:仍然是候选排序任务;模型可能利用数据风格或选项统计线索,而不是真的构造世界模型。
3.3 WinoGrande:常识驱动的指代消解
WinoGrande 延续 Winograd Schema 的思路,要求模型判断代词或空缺指向哪个实体。
|
|
主要测量:语法理解、实体关系和常识。局限在于二选一任务容易受模板与数据偏差影响。
3.4 MMLU 与 MMLU-Pro:多学科知识地图
MMLU 用来自 57 个学科的选择题评估多任务知识与问题求解,覆盖数学、历史、计算机、法律、医学、哲学等领域。
它回答的是:模型的知识覆盖是否广,以及能否在不同学科格式间切换。它不直接测量检索、工具使用或长周期任务执行。
MMLU-Pro 将选项从 4 个扩展到 10 个,加入更多需要推理的问题,并降低简单猜测和模板记忆带来的收益。比较报告时必须确认写的是 MMLU 还是 MMLU-Pro,两者分数不能直接等价。
3.5 GPQA:研究生级“Google-Proof”科学问题
GPQA 包含由领域专家编写的生物、物理和化学选择题。原始数据集有 448 题;常见的 GPQA Diamond 是其中质量和难度更高的子集。
主要测量:高难科学知识、多步定量或概念推理,以及模型在陌生专业问题上的可靠性。
局限:题量小,置信区间较大;选择题 accuracy 也无法告诉我们推理过程是否可靠。报告分数时应说明是 GPQA 全集还是 Diamond、是否使用工具以及推理预算。
4. 数学推理
4.1 GSM8K:多步小学数学文字题
GSM8K 包含约 8,500 道高质量小学数学文字题,每题通常需要 2–8 个基本算术步骤。
|
|
主要测量:从自然语言抽取数量关系、安排计算顺序并得到正确结果。常见指标是最终答案 exact match。
局限:它主要是小学算术,不等于高级数学;只比较最终答案时,正确过程和碰巧猜对可能得到相同分数。数据公开时间较久,也需要考虑训练数据污染。
4.2 MATH / MATH-500:竞赛级数学
MATH 涵盖代数、几何、数论、概率等竞赛数学题,通常需要更长的符号推理。MATH-500 是常用于快速评估的 500 题子集。
主要测量:复杂数学推理、公式操作和解题策略。评分常提取最终答案做 exact match,但不同 harness 的答案规范化规则可能不同。
4.3 AIME:更高难度、答案易验证
AIME 题目来自美国数学邀请赛,答案是 000–999 的整数。它难度高,但最终答案容易自动验证,因此经常用于推理模型评测。
需要注意年份、题目集合、采样次数和推理 token budget。pass@1 与允许生成 64 次后取最好结果的分数,代表完全不同的计算预算。
5. 函数级代码生成
5.1 HumanEval
HumanEval 包含 164 个手写 Python 函数任务。模型根据函数签名和 docstring 补全实现,隐藏单元测试判断是否正确。
|
|
常用指标是 pass@k:生成 k 个候选时,至少一个通过测试的概率。它测的是小型函数合成,而不是阅读大型仓库、调试、Git 操作或需求澄清。
5.2 MBPP
MBPP(Mostly Basic Python Problems)包含较基础的 Python 编程题、参考实现和测试用例。它与 HumanEval 都适合测基础代码生成,但题目风格、数据规模和拆分方式不同。
5.3 LiveCodeBench
LiveCodeBench 持续从 LeetCode、AtCoder 和 Codeforces 等平台收集新题,并按时间切分,目标是降低污染和过拟合。除了代码生成,还覆盖 self-repair、代码执行和测试输出预测。
它比 HumanEval 更能反映新题上的算法能力,但仍以相对独立的竞赛问题为主,不等于真实仓库维护。
6. 仓库级软件工程:SWE-bench 与 SWE-agent
6.1 SWE-bench 是什么
SWE-bench 从真实 Python 项目的 GitHub issue 和对应修复中构造任务。系统获得:
|
|
只有补丁修复目标问题,同时没有破坏原有测试,任务才算 resolved。常见指标是 % Resolved。
常见版本:
- SWE-bench Full:原始完整集合;
- SWE-bench Lite:较小、运行成本更低的子集;
- SWE-bench Verified:500 个经软件工程师确认可解决、描述较清晰的任务;
- SWE-bench Multimodal:issue 中可能包含截图等视觉信息;
- SWE-bench Multilingual:扩展到不同编程语言。
比较分数时,必须同时写明数据集版本、Agent scaffold、模型版本、最大步数、是否使用 test-time scaling,以及评测 harness 版本。
6.2 SWE-agent 是什么
SWE-agent 是一个 Agent-Computer Interface:让模型查看文件、搜索代码、编辑、执行测试并迭代修复。它可以在 SWE-bench 上运行,但它本身不是 benchmark。
可以这样理解:
|
|
因此“某模型 SWE-bench 得分”严格来说通常是“某模型 + 某 Agent 实现 + 某推理预算”的系统成绩。
7. Function Calling 与工具使用
7.1 BFCL:函数名和参数能否调用正确
Berkeley Function-Calling Leaderboard(BFCL) 评估模型是否能根据用户请求选择正确函数,并生成结构、参数名、类型和值都正确的调用。
它覆盖单函数、多函数候选、并行调用、多轮状态和“没有合适工具时拒绝调用”等情况。常见评分包括:
- AST evaluation:比较函数调用的抽象语法树;
- Executable evaluation:实际执行调用,检查结果是否正确;
- multi-turn / agentic success:检查多轮工具轨迹是否完成目标。
BFCL 很适合评估 function calling 接口,但单轮高分不代表 Agent 会做长期规划或从工具错误中恢复。
7.2 ToolBench:在大量 API 中选择和组合工具
ToolBench / ToolLLM 围绕大量真实 API 构建工具学习数据与评测,关注工具检索、参数生成和多步调用。
它比简单 function calling 更强调“面对很多候选 API 时找到正确工具”,但自动生成数据、API 可用性和基于模型的评审都会影响可重复性。
7.3 τ-bench:工具、用户和业务政策同时存在
τ-bench 模拟客服等真实场景:Agent 一边与模拟用户多轮对话,一边调用领域 API,还必须遵守业务政策。
它测试的不只是“API 参数有没有写对”,还包括:
- 是否从用户处收集必要信息;
- 是否保持多轮状态;
- 是否遵守退款、改签等规则;
- 是否真正改变了环境状态并满足用户目标。
这类评测常报告 success rate,以及更严格的 pass^k:连续运行 k 次都成功,才能体现稳定性。
8. 通用 Agent、网页和电脑操作
8.1 GAIA:通用 AI 助手
GAIA 包含 466 个现实问题,需要组合推理、网页搜索、多模态文件处理和工具调用,并按三档难度划分。
GAIA 的问题往往对人类并不需要博士知识,但对 Agent 的难点在于找到信息、组合证据、处理文件并输出严格格式的最终答案。它适合测“通用研究助手”,不适合单独归因到底层模型的哪一个能力。
8.2 AgentBench:横跨多种交互环境
AgentBench 将 Agent 放入操作系统、数据库、知识图谱、数字卡牌、网页购物、网页浏览等多个环境,评估其多轮决策和执行能力。
优点是覆盖面广;缺点是不同环境的动作空间和评分尺度不同,聚合总分会隐藏具体短板。
8.3 WebArena:在可复现网站中完成任务
WebArena 提供自托管的电商、论坛、代码托管、内容管理等网站。任务要求 Agent 把自然语言目标转成点击、输入、导航和信息检索动作。
主要测量:网页 grounding、长程规划、表单操作、跨页面状态管理。评分通常检查网站最终状态,而不是只判断最后一段文字。
8.4 OSWorld:真实桌面与跨应用操作
OSWorld 在真实操作系统与应用中评估多模态电脑使用 Agent,包含浏览器、文件系统、Office 类软件、媒体工具和跨应用工作流。
它同时要求视觉理解、GUI 定位、键鼠操作、应用知识和错误恢复。分数受到截图分辨率、动作接口、最大步数和环境稳定性的显著影响。
8.5 PaperBench:复现一篇研究论文
PaperBench 要求 Agent 理解 AI 论文、编写实验代码、运行训练并复现结果,使用细粒度 rubric 评分。
它测试的是长时间尺度上的研究执行能力:论文理解、代码、实验管理、调试和结果验证。它非常接近真实工作,但成本高,也依赖 rubric 与 judge 的可靠性。
9. 常见指标应该怎样读
Accuracy / Exact Match
选择题 accuracy 或最终答案 exact match 最直观,但对格式敏感,也忽略了过程质量。选择题随机基线还与选项数有关:四选一是 25%,十选一是 10%。
pass@k
允许模型生成 k 个候选,只要其中一个通过测试就算成功。k 越大,计算预算越高,因此 pass@1 和 pass@100 不能直接比较。
% Resolved / Task Success Rate
用于 SWE-bench、WebArena、OSWorld 等执行型任务。它比文字相似度可靠,但依赖环境、测试覆盖率和成功判定器。
LLM-as-a-Judge / Rubric score
适用于开放式成果,例如报告、研究复现和复杂轨迹。优点是能评估没有唯一答案的任务;风险是 judge 存在偏好、位置效应、自我偏好和评分漂移。最好报告 judge 模型、rubric、校准集和人工一致性。
成本、延迟与稳定性
Agent 实际部署还应同时报告:
|
|
一个成功率高但每题调用模型数百次的系统,和一次尝试就完成任务的系统不是同一类能力。
10. 如何为自己的模型选择 benchmark
| 你想验证的能力 | 优先选择 | 不要只看 |
|---|---|---|
| 基础常识与科学问答 | ARC-C、HellaSwag、WinoGrande | MMLU 总分 |
| 广泛知识覆盖 | MMLU / MMLU-Pro | 单一学科分数 |
| 高难科学推理 | GPQA Diamond | ARC-E |
| 基础数学推理 | GSM8K | 仅看最终答案而不做格式规范化 |
| 高难数学推理 | MATH-500、AIME | 不同采样预算的混合榜单 |
| 函数级编码 | HumanEval、MBPP、LiveCodeBench | SWE-bench |
| 真实软件维护 | SWE-bench Verified | HumanEval |
| Function Calling | BFCL | 普通问答榜单 |
| 客服与政策 Agent | τ-bench | 单轮 tool-call accuracy |
| 通用搜索与工具组合 | GAIA | 纯知识选择题 |
| 网页操作 | WebArena | BFCL |
| 桌面电脑使用 | OSWorld | WebArena 单站点成绩 |
| 长周期研究执行 | PaperBench | 只看代码生成分数 |
一个实用的评测组合通常至少包含:
- 一个与你业务输入相似的静态能力测试;
- 一个端到端任务成功率测试;
- 你自己的私有、持续更新回归集;
- 成本、延迟和多次运行稳定性。
11. 为什么 Benchmark 高分不等于产品可靠
数据污染与 benchmark 饱和
公开题目可能进入预训练或微调数据。时间切分、私有测试集和持续更新 benchmark 可以降低风险,但无法完全消除污染。
Prompt、scaffold 与预算不一致
zero-shot、few-shot、chain-of-thought、工具权限、采样次数、上下文长度和最大步骤都会改变分数。只写模型名、不写配置的数字很难复现。
测试覆盖不足
SWE-bench 补丁通过 tests,不代表代码风格、性能和隐藏需求都正确;GUI 任务的自动检查器也可能遗漏视觉或语义错误。
平均分隐藏能力结构
两个平均分相同的系统,可能一个擅长数学、另一个擅长工具使用。产品选型应看分项和失败案例,而不是只看综合排行榜。
Agent 具有随机性
工具超时、网页状态、采样和长轨迹误差都会造成波动。Agent 评测最好多次运行,并同时报告平均成功率、方差和 pass^k。
总结
可以把常见 benchmark 放在一条逐渐接近真实工作的轴上:
|
|
越往下,评测越接近真实工作,但也越难复现、成本越高,并且越难把成绩归因给单独的底层模型。正确的问题不是“哪个 benchmark 最权威”,而是:这个评测的任务分布、工具条件和成功标准,是否与我真正想部署的系统一致?
主要资料
文章作者 zhengxz
上次更新 2026-09-26