智能体评估基准(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和大模型评估基准混淆,这里我们先明确三个核心边界:

  1. 评估对象不是大模型,是整个Agent系统:同样是GPT-4作为基础模型,用原生ChatGPT和用AutoGPT框架包装后的Agent,在AgentBench上的得分差可以超过100%,因为Agent的能力不仅取决于基础大模型,还取决于记忆模块、规划模块、工具调用模块、Prompt设计等多个组件
  2. 不是静态测试,是动态交互测试:传统基准是"给问题,要答案",AgentBench是"给任务,让Agent和环境交互直到完成/失败",中间会有环境反馈、状态变化、意外情况,更接近真实世界的任务
  3. 不是单一维度评估,是多维度综合评估:不仅看任务有没有完成,还要看完成效率、错误率、稳定性、鲁棒性,最终的得分是多个维度加权的结果

2.3 AgentBench和传统评估基准的对比

我们用一张表格清晰呈现不同基准的差异:

评估基准 发布时间 评估对象 任务类型 交互特性 核心评估维度 评价指标 适用场景
MMLU 2020 大语言模型 静态单步选择题 无交互 知识广度、记忆能力 准确率 大模型通用知识能力评估
GSM8K 2021 大语言模型 静态单步数学题 无交互 数值推理能力 准确率 大模型推理能力评估
HumanEval 2021 大语言模型 静态单步代码生成 无交互 代码生成能力 通过率 大模型编程能力评估
AgentBench 2023 AI Agent系统 动态多步交互任务 多轮环境交互 工具使用、推理、规划、记忆、创作 加权完成度、效率、稳定性 AI Agent综合能力评估
WebArena 2023 AI Agent系统 动态多步网页交互任务 多轮网页交互 网页操作、信息检索 任务完成率 网页Agent专项评估

2.4 核心实体关系与交互架构

我们用ER图展示AgentBench的核心实体关系:

多轮交互

输出交互轨迹

映射到多维度指标

生成得分与短板分析

反馈优化方向

AGENT

TASK_ENVIRONMENT

EVALUATION_ENGINE

EVAL_METRICS

EVAL_REPORT

AGENT_OPTIMIZATION

整个评估流程的交互逻辑如下:

提交Action

返回Observation/状态更新

同步全量交互数据

单任务多维度打分

加权计算综合得分

短板反馈

待评测Agent

标准化任务环境

评估引擎

结果聚合模块

评估报告

Agent迭代优化


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循环

  1. 环境给Agent返回当前的Observation:包含任务描述、当前环境状态、之前Action的执行结果
  2. Agent根据Observation和自己的记忆、规划能力,输出下一步的Action
  3. 环境执行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_stepmin_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=1max_errorerror_numerror_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ˉ=Nki=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=18wk×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的完整评测流程可以用如下流程图表示:

初始化所有任务域的标准化环境

注册待评测Agent,验证接入接口

加载评测任务集,支持自定义任务域选择

随机分配当前任务到Agent

启动Observation-Action交互循环

任务是否终止?
(完成/超时/错误超限)

记录全量交互轨迹,自动计算单任务得分

所有任务是否执行完毕?

聚合所有任务得分,计算各任务域平均分

加权计算综合总得分与稳定性置信度

生成维度短板分析报告,标注待优化的能力点

输出最终评测结果,保存所有轨迹数据

4.3 核心实现机制

AgentBench的评估引擎做了很多优化来保证评测的公平性和效率:

  1. 环境隔离机制:每个任务都运行在独立的Docker容器中,不会互相干扰,也不会因为Agent的错误操作破坏测试环境
  2. 超时拦截机制:每个任务都有最大执行时间限制,防止Agent陷入死循环导致评测卡死
  3. 反作弊机制:会检测Agent的Action是否有作弊行为,比如直接访问内存中的答案、绕过环境执行步骤等
  4. 轨迹回放机制:所有交互过程都会被记录,可以随时回放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个最佳实践:

  1. 不要只看总分,重点看维度短板:如果你的Agent是做办公场景的,重点看WB、OS、DB的得分,如果得分低就针对性优化工具调用模块;如果是做创意场景的,重点看CW的得分,优化创作Prompt
  2. 多次运行取均值:Agent的执行有随机性,建议每个任务至少跑3次,取均值作为最终得分,同时看置信度,如果置信度低于0.6说明Agent的稳定性太差,需要优化
  3. 自定义权重适配场景:不要用默认权重,根据你的Agent的应用场景调整权重,比如客服Agent可以提高WB、RR的权重,降低DCG、MHH的权重
  4. 结合轨迹回放定位问题:如果某个任务得分低,回放Agent的交互轨迹,看是哪一步出错了,比如是大模型理解错了任务,还是工具调用的格式错了,还是规划能力不足
  5. 和人工评估结合:创作类、策略类的任务自动打分可能有偏差,建议抽取10%的任务做人工复核,保证评估结果的准确性

6. 多维透视:AgentBench的边界与未来

6.1 当前的局限性

AgentBench是AI Agent评估的里程碑,但它并不是完美的,当前还有几个核心局限性:

  1. 仅支持单Agent短周期任务:当前的任务最长步长只有20步左右,无法评估长周期任务(比如需要几天才能完成的市场调研),也不支持多Agent协作任务的评估
  2. 具身交互任务是虚拟的:MHH任务是3D虚拟场景,无法评估真实物理世界的具身Agent能力,比如机器人实际做家务的能力
  3. 缺乏伦理与安全评估维度:当前的评估只看任务完成能力,不评估Agent是否会生成有害内容、是否会越权操作、是否符合伦理要求
  4. 自动打分的准确率有限:创作类、推理类任务的自动打分准确率大概在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评估会向三个方向发展:
  1. 从单Agent到多Agent:评估多个Agent协作完成复杂任务的能力,比如两个Agent合作开发一个网站,一个写前端一个写后端
  2. 从虚拟环境到真实世界:结合具身仿真环境(比如Isaac Sim)和真实机器人测试,评估Agent的物理世界交互能力
  3. 从能力评估到对齐评估:不仅评估能力,还要评估Agent的价值观、伦理、安全性,确保Agent的行为符合人类的利益

6.3 终极追问:我们到底如何衡量AI的智能?

AgentBench给了我们一个量化的标尺,但我们还是要回到那个最本质的问题:什么是智能?我们衡量智能的标准到底是什么?
图灵测试的标准是"模仿人类到无法区分",但AI的智能可能和人类的智能完全不一样,它不需要吃饭睡觉,不需要情感,它的核心价值是"解决人类需要解决的问题"。从这个角度看,AgentBench的评估逻辑是对的:智能的核心是问题解决能力,能在给定约束下完成目标的能力就是智能
未来的评估体系会越来越接近真实世界的问题,从几秒钟能完成的小任务,到需要几个月完成的大项目,从单一个体的任务,到多团队协作的任务,从虚拟世界的任务,到物理世界的任务。当有一天AI Agent在所有这些任务上的得分都超过人类平均水平的时候,我们就可以说,我们真的实现了通用人工智能。

7. 本章小结

本文我们全方位解读了AI Agent的核心评估基准AgentBench,核心要点总结如下:

  1. AgentBench是首个面向AI Agent的多维度综合评估基准,相当于AI Agent的"高考",可以量化评估Agent的实际问题解决能力
  2. AgentBench包含8个真实场景的任务域,覆盖工具使用、推理规划、创作、具身交互等核心能力,通过动态多轮交互的方式评估,比传统静态基准更接近真实场景
  3. AgentBench的得分是多维度加权的结果,不仅看任务完成度,还看效率、容错率和稳定性
  4. 接入AgentBench非常简单,只需要实现统一的act()接口,几分钟就能完成接入,自动生成评估报告和短板分析
  5. 当前最强的GPT-4 Agent的综合得分不到30分,说明AI Agent的能力还处于非常初级的阶段,工具使用能力是核心短板
  6. 未来的Agent评估会向多Agent、长周期、真实世界、伦理对齐的方向发展,最终成为通用人工智能的核心度量标尺
    如果你正在开发AI Agent,强烈建议你把AgentBench加入你的迭代流程,用客观的量化指标指导优化,而不是靠主观感受判断Agent的能力。AgentBench只是AI Agent评估的起点,未来我们会看到越来越完善的评估体系,推动AI Agent的能力不断突破,真正成为人类的得力助手。
    拓展任务
  7. 访问AgentBench的GitHub仓库,尝试评测一个你常用的Agent,看看它的得分是多少
  8. 思考你所在行业的Agent需要具备哪些核心能力,设计一套适合你的场景的自定义评估任务
  9. 如果你是产品经理,尝试用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字)

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐