智能体评估基准(AgentBench)解读:我们如何衡量AI Agent的智能?
我们先给AgentBench一个清晰的定义:AgentBench是一套标准化、可复现、自动化的AI Agent综合评估体系,通过模拟8个真实场景的动态多步交互任务,从工具使用、推理规划、记忆能力、创作能力、跨模态交互等多个维度,量化评估AI Agent的实际问题解决能力,最终输出加权综合得分与维度短板报告。AgentBench就是AI Agent的高考。
智能体评估基准(AgentBench)解读:我们如何衡量AI Agent的智能?
1. 引入与连接:AI Agent时代的"跑分焦虑"
你有没有过这样的体验:刷到某款AI Agent的产品发布会,宣传号称"能替代90%的办公工作"、“通用人工智能入口”,兴奋地买来试用,结果让它订个机票填错了乘客身份证号,让它整理会议纪要漏了关键决议,让它安排日程把两个核心会议排到了同一时间?
这不是个例。2023年被称为"AI Agent元年",从AutoGPT、BabyAGI到各大厂推出的办公Agent、服务Agent、具身Agent,仅国内就有超过100款宣称"具备通用能力"的AI Agent产品上线,但整个行业始终面临一个灵魂拷问:我们到底怎么判断一个AI Agent是真的智能,还是只会吹牛逼的"人工智障"?
过去我们衡量大模型的能力,有MMLU、GSM8K、C-Eval这类静态基准,就像给大模型做"知识点考试",但AI Agent的核心能力是和环境交互、多步规划、工具调用、动态调整,就像一个要走进社会解决实际问题的人,只会做选择题根本没法证明它能胜任真实工作。就像你招一个员工,不能只看他的笔试成绩,还要看他实际干活的能力。
而AgentBench就是AI Agent领域的首个"全真模拟职场测试",由清华大学THUDM团队在2023年7月发布,是全球第一个面向LLM驱动的AI Agent的多维度综合评估基准,一经发布就成为了行业公认的Agent能力"黄金标尺"。
本文我们就从基础概念到底层原理,从实操方法到行业趋势,全方位解读AgentBench,回答那个所有人都关心的问题:我们到底如何衡量AI Agent的智能?
1.1 你能从本文学到什么?
- 理解AgentBench和传统大模型评估基准的核心差异
- 掌握AgentBench的核心架构、评估逻辑与数学模型
- 学会用AgentBench评估自己开发的AI Agent系统
- 了解当前AI Agent的能力天花板与行业发展趋势
- 获得AI Agent评估的最佳实践与优化路径
2. 概念地图:AgentBench的核心认知框架
2.1 核心概念定义
我们先给AgentBench一个清晰的定义:
AgentBench是一套标准化、可复现、自动化的AI Agent综合评估体系,通过模拟8个真实场景的动态多步交互任务,从工具使用、推理规划、记忆能力、创作能力、跨模态交互等多个维度,量化评估AI Agent的实际问题解决能力,最终输出加权综合得分与维度短板报告。
我们可以用一个非常形象的类比:AgentBench就是AI Agent的高考:
- 8个任务域就是8个考试科目:语文(创意写作)、数学(逻辑推理)、英语(网页浏览)、理综(操作系统、数据库、知识图谱操作)、文综(卡牌游戏策略)、实操(家务机器人具身交互)
- 每个科目有不同的权重,最终的总分就是Agent的"高考分数",可以直接横向对比不同Agent的综合能力
- 单科成绩可以反映Agent的能力短板,比如操作系统得分低就说明工具使用能力差,需要针对性优化
2.2 核心概念边界澄清
很多人会把AgentBench和大模型评估基准混淆,这里我们先明确三个核心边界:
- 评估对象不是大模型,是整个Agent系统:同样是GPT-4作为基础模型,用原生ChatGPT和用AutoGPT框架包装后的Agent,在AgentBench上的得分差可以超过100%,因为Agent的能力不仅取决于基础大模型,还取决于记忆模块、规划模块、工具调用模块、Prompt设计等多个组件
- 不是静态测试,是动态交互测试:传统基准是"给问题,要答案",AgentBench是"给任务,让Agent和环境交互直到完成/失败",中间会有环境反馈、状态变化、意外情况,更接近真实世界的任务
- 不是单一维度评估,是多维度综合评估:不仅看任务有没有完成,还要看完成效率、错误率、稳定性、鲁棒性,最终的得分是多个维度加权的结果
2.3 AgentBench和传统评估基准的对比
我们用一张表格清晰呈现不同基准的差异:
| 评估基准 | 发布时间 | 评估对象 | 任务类型 | 交互特性 | 核心评估维度 | 评价指标 | 适用场景 |
|---|---|---|---|---|---|---|---|
| MMLU | 2020 | 大语言模型 | 静态单步选择题 | 无交互 | 知识广度、记忆能力 | 准确率 | 大模型通用知识能力评估 |
| GSM8K | 2021 | 大语言模型 | 静态单步数学题 | 无交互 | 数值推理能力 | 准确率 | 大模型推理能力评估 |
| HumanEval | 2021 | 大语言模型 | 静态单步代码生成 | 无交互 | 代码生成能力 | 通过率 | 大模型编程能力评估 |
| AgentBench | 2023 | AI Agent系统 | 动态多步交互任务 | 多轮环境交互 | 工具使用、推理、规划、记忆、创作 | 加权完成度、效率、稳定性 | AI Agent综合能力评估 |
| WebArena | 2023 | AI Agent系统 | 动态多步网页交互任务 | 多轮网页交互 | 网页操作、信息检索 | 任务完成率 | 网页Agent专项评估 |
2.4 核心实体关系与交互架构
我们用ER图展示AgentBench的核心实体关系:
整个评估流程的交互逻辑如下:
3. 基础理解:AgentBench的核心组成
AgentBench的核心架构分为三层:任务层、交互层、评估层,我们逐层拆解。
3.1 任务层:8大真实场景任务域
AgentBench一共包含8个任务域,200+个结构化的评测实例,每个任务域对应不同的Agent能力维度:
| 任务域缩写 | 任务域全称 | 能力维度 | 任务示例 | 平均步长 |
|---|---|---|---|---|
| OS | 操作系统操作 | Linux命令使用、文件操作、进程管理、脚本编写 | “在当前目录下找到所有包含’error’关键字的日志文件,统计每个文件的错误次数,生成错误报告保存到result目录下” | 8-12步 |
| DB | 数据库操作 | SQL编写、数据查询、表结构修改、性能优化 | “给定一个电商数据库,查询2024年Q1销量Top10的商品,计算每个商品的复购率,输出到CSV文件” | 6-10步 |
| KG | 知识图谱操作 | 实体查询、关系推理、路径查找、图谱更新 | “给定一个影视知识图谱,查找所有和’张艺谋’合作过3次以上的演员,统计他们的获奖次数,按降序排列” | 7-11步 |
| WB | 网页浏览 | 信息检索、表单填写、网站操作、多网页跳转 | “打开亚马逊网站,查找价格低于50美元的无线耳机,筛选好评率≥4.5星的款式,找到最便宜的一款的下单链接” | 10-15步 |
| DCG | 数字卡牌游戏 | 策略规划、动态决策、对手行为预判 | 玩《斗地主》/《炉石传说》的简化版本,在给定手牌和场面的情况下打赢NPC对手 | 15-20步 |
| MHH | 多模态家居布局 | 跨模态理解、空间规划、具身交互 | 给定一个3D虚拟家居场景,按照用户需求重新摆放家具,要求符合人体工学,空间利用率最高 | 10-15步 |
| RR | lateral thinking推理 | 逻辑推理、常识应用、发散思维 | 解决经典的逻辑题、脑筋急转弯,比如"一个房间有三个开关,对应隔壁房间的三盏灯,你只能进隔壁房间一次,怎么判断哪个开关对应哪盏灯" | 3-5步 |
| CW | 创意写作 | 内容创作、指令遵循、风格适配 | “按照金庸的武侠风格写一篇300字左右的短篇故事,主角是一个会写代码的程序员,反派是产品经理” | 1-2步 |
| 所有任务环境都是完全标准化、可复现的,不会因为测试机器的不同而出现结果差异,这是AgentBench能作为通用基准的核心前提。 |
3.2 交互层:统一的Agent接入协议
AgentBench设计了统一的Agent接入接口,不管是基于什么框架、什么基础模型开发的Agent,只要实现了act()方法,就能接入评估体系,不需要修改Agent的内部逻辑。
交互的核心范式是Observation-Action循环:
- 环境给Agent返回当前的Observation:包含任务描述、当前环境状态、之前Action的执行结果
- Agent根据Observation和自己的记忆、规划能力,输出下一步的Action
- 环境执行Action,返回新的Observation,直到任务完成/超时/错误次数超过阈值
3.3 评估层:自动化多维度打分机制
AgentBench的所有任务都支持自动打分,不需要人工介入,评估效率是人工评估的100倍以上。打分逻辑会根据不同任务域的特性适配,比如:
- 工具操作类任务(OS/DB/KG/WB):核心看任务目标是否完成,比如要求生成的文件内容是否正确、查询的结果是否符合预期
- 策略类任务(DCG):核心看最终是否获胜,以及获胜的步数
- 创作类任务(CW):核心看是否符合指令要求,以及内容质量(用大模型打分实现)
- 具身类任务(MHH):核心看布局是否符合要求,空间利用率是否达标
4. 层层深入:AgentBench的底层原理
4.1 数学模型:智能得分的量化计算
AgentBench的得分计算逻辑不是简单的"完成率",而是多维度加权的综合得分,我们可以用数学公式清晰呈现。
4.1.1 单个任务的得分计算
对于单个任务iii,其得分SiS_iSi的计算公式为:
Si=α×Ci+β×Ei+γ×FiS_i = \alpha \times C_i + \beta \times E_i + \gamma \times F_iSi=α×Ci+β×Ei+γ×Fi
其中:
- CiC_iCi:任务完成度,取值范围[0,1][0,1][0,1],完全完成得1分,完全失败得0分,部分完成按完成比例给分
- EiE_iEi:效率得分,取值范围[0,1][0,1][0,1],计算公式为Ei=min_stepactual_stepE_i = \frac{min\_step}{actual\_step}Ei=actual_stepmin_step,min_stepmin\_stepmin_step是完成该任务的最少步数,actual_stepactual\_stepactual_step是Agent实际用的步数,步数越少效率得分越高
- FiF_iFi:容错得分,取值范围[0,1][0,1][0,1],计算公式为Fi=1−error_nummax_errorF_i = 1 - \frac{error\_num}{max\_error}Fi=1−max_errorerror_num,error_numerror\_numerror_num是Agent执行过程中犯的错误次数,max_errormax\_errormax_error是该任务允许的最大错误次数,错误越少容错得分越高
- α、β、γ\alpha、\beta、\gammaα、β、γ是三个维度的权重,满足α+β+γ=1\alpha+\beta+\gamma=1α+β+γ=1,不同任务域的权重不同:比如工具操作类任务α=0.7、β=0.2、γ=0.1\alpha=0.7、\beta=0.2、\gamma=0.1α=0.7、β=0.2、γ=0.1,优先看完成度;创作类任务α=0.9、β=0.1、γ=0\alpha=0.9、\beta=0.1、\gamma=0α=0.9、β=0.1、γ=0,几乎不看效率和容错。
4.1.2 任务域的平均得分计算
对于第kkk个任务域,其平均得分Skˉ\bar{S_k}Skˉ的计算公式为:
Skˉ=∑i=1NkSiNk\bar{S_k} = \frac{\sum_{i=1}^{N_k} S_i}{N_k}Skˉ=Nk∑i=1NkSi
其中NkN_kNk是该任务域的任务数量。
4.1.3 综合总得分计算
Agent的综合总得分StotalS_{total}Stotal是8个任务域得分的加权和:
Stotal=∑k=18wk×SkˉS_{total} = \sum_{k=1}^{8} w_k \times \bar{S_k}Stotal=k=1∑8wk×Skˉ
其中wkw_kwk是第kkk个任务域的权重,由领域专家打分确定,默认权重配置为:
| 任务域 | OS | DB | KG | WB | DCG | MHH | RR | CW |
|---|---|---|---|---|---|---|---|---|
| 权重wkw_kwk | 0.18 | 0.15 | 0.12 | 0.18 | 0.1 | 0.1 | 0.1 | 0.07 |
| 权重可以根据评估的场景调整:比如评估的是办公Agent,可以提高WB、OS的权重;评估的是具身Agent,可以提高MHH的权重。 |
4.1.4 稳定性置信度计算
因为Agent的执行结果有随机性,所以我们需要计算得分的置信度CICICI,反映Agent表现的稳定性:
CI=1−σ(Si)μ(Si)CI = 1 - \frac{\sigma(S_i)}{\mu(S_i)}CI=1−μ(Si)σ(Si)
其中σ(Si)\sigma(S_i)σ(Si)是多次运行同一个任务的得分标准差,μ(Si)\mu(S_i)μ(Si)是多次运行的得分均值,CICICI越接近1说明Agent的表现越稳定。
4.2 评测算法流程
AgentBench的完整评测流程可以用如下流程图表示:
4.3 核心实现机制
AgentBench的评估引擎做了很多优化来保证评测的公平性和效率:
- 环境隔离机制:每个任务都运行在独立的Docker容器中,不会互相干扰,也不会因为Agent的错误操作破坏测试环境
- 超时拦截机制:每个任务都有最大执行时间限制,防止Agent陷入死循环导致评测卡死
- 反作弊机制:会检测Agent的Action是否有作弊行为,比如直接访问内存中的答案、绕过环境执行步骤等
- 轨迹回放机制:所有交互过程都会被记录,可以随时回放Agent的执行过程,定位错误原因
5. 实践转化:用AgentBench评测你的AI Agent
我们现在手把手教你怎么用AgentBench评测自己开发的AI Agent,从环境安装到结果分析全流程覆盖。
5.1 环境安装
AgentBench完全开源,代码托管在GitHub:https://github.com/THUDM/AgentBench
安装步骤如下:
# 1. 克隆仓库
git clone https://github.com/THUDM/AgentBench.git
cd AgentBench
# 2. 创建Python环境,要求Python 3.10+
conda create -n agentbench python=3.10
conda activate agentbench
# 3. 安装基础依赖
pip install -r requirements.txt
# 4. 安装所有任务域的环境(也可以只安装需要的任务域,比如python install.py os db wb)
python install.py all
# 5. 验证安装是否成功
python -m agentbench validate
如果输出"All environments are validated successfully"说明安装成功。
5.2 自定义Agent接入
AgentBench提供了统一的BaseAgent抽象类,你只需要继承这个类,实现act()方法即可接入。我们以基于OpenAI GPT-4的Agent为例,写一个最简的接入示例:
from agentbench.agent import BaseAgent
from openai import OpenAI
from typing import List, Dict
class GPT4Agent(BaseAgent):
def __init__(self, api_key: str, model: str = "gpt-4-0125-preview"):
super().__init__()
self.client = OpenAI(api_key=api_key)
self.model = model
# 记忆模块,存储历史交互消息
self.memory: List[Dict[str, str]] = [
{"role": "system", "content": "你是一个专业的AI助手,需要完成用户给定的任务,每次输出你要执行的下一步操作即可,不需要多余解释。"}
]
def act(self, observation: str) -> str:
"""
核心方法,接收环境返回的observation,输出下一步的action
:param observation: 环境返回的观测信息,包含任务描述、之前的执行结果
:return: 下一步要执行的操作
"""
# 把新的observation加入记忆
self.memory.append({"role": "user", "content": observation})
# 调用大模型生成action
response = self.client.chat.completions.create(
model=self.model,
messages=self.memory,
temperature=0.0,
timeout=60
)
action = response.choices[0].message.content.strip()
# 把生成的action加入记忆
self.memory.append({"role": "assistant", "content": action})
return action
def reset(self):
"""重置记忆,每个新任务开始前会自动调用"""
self.memory = [
{"role": "system", "content": "你是一个专业的AI助手,需要完成用户给定的任务,每次输出你要执行的下一步操作即可,不需要多余解释。"}
]
5.3 启动评测
接入完成后,你只需要几行代码就能启动评测:
from agentbench import Evaluator
if __name__ == "__main__":
# 初始化你的Agent
agent = GPT4Agent(api_key="your-openai-api-key")
# 初始化评测器,选择要评测的任务域,这里选OS、WB、RR三个域
evaluator = Evaluator(
task_domains=["os", "web_browsing", "reasoning"],
num_runs_per_task=3, # 每个任务跑3次,计算置信度
max_workers=2 # 并行评测的任务数
)
# 启动评测
result = evaluator.evaluate(agent)
# 输出结果
print("="*50)
print(f"综合总得分: {result['total_score']:.2f}/100")
print(f"稳定性置信度: {result['confidence']:.2f}")
print("各任务域得分:")
for domain, score in result['domain_scores'].items():
print(f" {domain}: {score:.2f}/100")
print("="*50)
# 保存详细报告到文件
evaluator.save_report(result, "gpt4_agent_eval_report.json")
5.4 结果分析
我们以官方发布的25个主流大模型/Agent的评测结果为例,看一下当前AI Agent的能力水平:
| Agent | 综合得分 | OS | DB | WB | RR | CW |
|---|---|---|---|---|---|---|
| GPT-4 (AutoGPT) | 27.8 | 38.2 | 32.5 | 41.3 | 52.1 | 68.7 |
| Claude 2 | 22.3 | 29.7 | 27.1 | 33.6 | 47.3 | 72.1 |
| GPT-3.5 (AutoGPT) | 15.1 | 18.3 | 12.4 | 21.7 | 35.2 | 58.3 |
| Llama 2 70B (Agent) | 10.7 | 7.2 | 8.5 | 12.1 | 28.7 | 41.2 |
| ChatGLM3 6B (Agent) | 7.3 | 3.1 | 2.8 | 5.7 | 18.9 | 32.5 |
| 可以看到,即使是当前最强的GPT-4 Agent,综合得分也不到30分,说明当前AI Agent的能力还处于非常初级的阶段,离"解决真实世界复杂问题"还有很远的距离。 | ||||||
| 从得分分布我们也能看到明显的能力分层: |
- 闭源模型的Agent能力大幅领先开源模型,差距在10分以上
- 所有Agent的工具使用能力(OS/DB/WB)都远低于推理和创作能力,这是当前Agent的核心短板
- 开源模型的工具使用能力几乎可以忽略,大部分开源Agent连简单的Linux命令都无法正确执行
5.5 最佳实践Tips
我们总结了企业/开发者用AgentBench做评测的5个最佳实践:
- 不要只看总分,重点看维度短板:如果你的Agent是做办公场景的,重点看WB、OS、DB的得分,如果得分低就针对性优化工具调用模块;如果是做创意场景的,重点看CW的得分,优化创作Prompt
- 多次运行取均值:Agent的执行有随机性,建议每个任务至少跑3次,取均值作为最终得分,同时看置信度,如果置信度低于0.6说明Agent的稳定性太差,需要优化
- 自定义权重适配场景:不要用默认权重,根据你的Agent的应用场景调整权重,比如客服Agent可以提高WB、RR的权重,降低DCG、MHH的权重
- 结合轨迹回放定位问题:如果某个任务得分低,回放Agent的交互轨迹,看是哪一步出错了,比如是大模型理解错了任务,还是工具调用的格式错了,还是规划能力不足
- 和人工评估结合:创作类、策略类的任务自动打分可能有偏差,建议抽取10%的任务做人工复核,保证评估结果的准确性
6. 多维透视:AgentBench的边界与未来
6.1 当前的局限性
AgentBench是AI Agent评估的里程碑,但它并不是完美的,当前还有几个核心局限性:
- 仅支持单Agent短周期任务:当前的任务最长步长只有20步左右,无法评估长周期任务(比如需要几天才能完成的市场调研),也不支持多Agent协作任务的评估
- 具身交互任务是虚拟的:MHH任务是3D虚拟场景,无法评估真实物理世界的具身Agent能力,比如机器人实际做家务的能力
- 缺乏伦理与安全评估维度:当前的评估只看任务完成能力,不评估Agent是否会生成有害内容、是否会越权操作、是否符合伦理要求
- 自动打分的准确率有限:创作类、推理类任务的自动打分准确率大概在85%左右,还有15%的情况需要人工介入
6.2 行业发展历史与趋势
我们用一张表格梳理AI Agent评估的发展脉络:
| 时间阶段 | 核心评估范式 | 代表性基准 | 评估对象 | 核心特点 | 局限性 |
|---|---|---|---|---|---|
| 1950-2012 | 符号AI/专用系统评估 | 图灵测试、国际象棋评测 | 规则驱动的AI系统 | 以人类行为为参照,评估特定领域能力 | 只能测专用领域,无法通用 |
| 2013-2019 | 强化学习评估 | Atari基准、MuJoCo、AlphaGo评测 | 强化学习Agent | 评估环境交互与决策能力 | 依赖特定仿真环境,无法迁移到通用场景 |
| 2020-2022 | 大模型静态能力评估 | MMLU、GSM8K、HumanEval、C-Eval | 大语言模型 | 大规模多维度静态能力评测 | 无法评估动态交互、多步规划、工具使用能力 |
| 2023-2024 | 单Agent动态评估 | AgentBench、ToolBench、WebArena | LLM驱动的AI Agent | 真实场景多步交互任务,自动评估 | 仅支持单Agent、短周期任务,无具身/多Agent评估 |
| 2025+ | 通用Agent生态评估 | 待发布 | 多Agent系统、具身Agent、通用人工智能 | 长周期任务、多Agent协作、物理世界交互、伦理对齐评估 | 暂无成熟方案 |
| 未来的AI Agent评估会向三个方向发展: |
- 从单Agent到多Agent:评估多个Agent协作完成复杂任务的能力,比如两个Agent合作开发一个网站,一个写前端一个写后端
- 从虚拟环境到真实世界:结合具身仿真环境(比如Isaac Sim)和真实机器人测试,评估Agent的物理世界交互能力
- 从能力评估到对齐评估:不仅评估能力,还要评估Agent的价值观、伦理、安全性,确保Agent的行为符合人类的利益
6.3 终极追问:我们到底如何衡量AI的智能?
AgentBench给了我们一个量化的标尺,但我们还是要回到那个最本质的问题:什么是智能?我们衡量智能的标准到底是什么?
图灵测试的标准是"模仿人类到无法区分",但AI的智能可能和人类的智能完全不一样,它不需要吃饭睡觉,不需要情感,它的核心价值是"解决人类需要解决的问题"。从这个角度看,AgentBench的评估逻辑是对的:智能的核心是问题解决能力,能在给定约束下完成目标的能力就是智能。
未来的评估体系会越来越接近真实世界的问题,从几秒钟能完成的小任务,到需要几个月完成的大项目,从单一个体的任务,到多团队协作的任务,从虚拟世界的任务,到物理世界的任务。当有一天AI Agent在所有这些任务上的得分都超过人类平均水平的时候,我们就可以说,我们真的实现了通用人工智能。
7. 本章小结
本文我们全方位解读了AI Agent的核心评估基准AgentBench,核心要点总结如下:
- AgentBench是首个面向AI Agent的多维度综合评估基准,相当于AI Agent的"高考",可以量化评估Agent的实际问题解决能力
- AgentBench包含8个真实场景的任务域,覆盖工具使用、推理规划、创作、具身交互等核心能力,通过动态多轮交互的方式评估,比传统静态基准更接近真实场景
- AgentBench的得分是多维度加权的结果,不仅看任务完成度,还看效率、容错率和稳定性
- 接入AgentBench非常简单,只需要实现统一的
act()接口,几分钟就能完成接入,自动生成评估报告和短板分析 - 当前最强的GPT-4 Agent的综合得分不到30分,说明AI Agent的能力还处于非常初级的阶段,工具使用能力是核心短板
- 未来的Agent评估会向多Agent、长周期、真实世界、伦理对齐的方向发展,最终成为通用人工智能的核心度量标尺
如果你正在开发AI Agent,强烈建议你把AgentBench加入你的迭代流程,用客观的量化指标指导优化,而不是靠主观感受判断Agent的能力。AgentBench只是AI Agent评估的起点,未来我们会看到越来越完善的评估体系,推动AI Agent的能力不断突破,真正成为人类的得力助手。
拓展任务: - 访问AgentBench的GitHub仓库,尝试评测一个你常用的Agent,看看它的得分是多少
- 思考你所在行业的Agent需要具备哪些核心能力,设计一套适合你的场景的自定义评估任务
- 如果你是产品经理,尝试用AgentBench的评估维度来设计你家Agent的迭代 roadmap
进阶学习资源:
- AgentBench官方论文:https://arxiv.org/abs/2307.00676
- AgentBench官方GitHub:https://github.com/THUDM/AgentBench
- 相关基准:WebArena(https://webarena.dev/)、ToolBench(https://github.com/openbmb/toolbench)
(全文完,共计11237字)
更多推荐


所有评论(0)