1. 概述

为什么需要专门的Agent测试框架

AI Agent(智能体)不同于传统的LLM对话模型,它具备自主规划、工具调用、多步推理和环境交互等能力。Agent不仅需要生成文本,还需要在真实或模拟环境中执行一系列操作来完成复杂任务。这使得传统的静态Benchmark评测方法难以全面评估Agent的能力。

Agent评估的核心挑战

挑战描述影响
环境可复现性需要为每个测试用例提供一致的初始状态评测结果的公平性和可比性
轨迹评估如何量化多步操作序列的质量无法区分"碰巧成功"和"真正理解"
部分完成度任务未完全成功但有进展如何计分评分粒度过粗无法反映能力差异
安全性隔离Agent执行危险操作时需安全沙箱评测环境的安全性保障
规模化执行大量Agent并发评测的资源消耗评测成本和效率
评估自动化如何自动判断复杂任务的完成状态人工评估成本高且主观性强
💡 关键认知 Agent评测正在从"模型能力评测"向"系统行为评测"演进。一个好的Agent测试框架不仅评测底层LLM的能力,更关注Agent架构(规划、记忆、工具使用)的整体表现。

2. AgentBench

多维度Agent评估基准

AgentBench 是由清华大学、智谱AI等联合提出的首个系统性Agent评估基准,发表于 ICLR 2024。它首次将Agent评估从单一任务扩展到多维度、多环境的综合评测体系,涵盖8个代表性环境,覆盖代码、游戏、Web、工具使用等多个领域。

📄 论文参考 Liu et al., "AgentBench: Evaluating LLMs as Agents", ICLR 2024. GitHub: THUDM/AgentBench

8个环境任务

环境任务类型核心能力难度
Operating System (OS)在Linux终端中执行文件操作、系统管理任务命令行操作、Shell脚本⭐⭐⭐⭐
Database (DB)SQL查询、数据库管理操作SQL编写、数据分析⭐⭐⭐
Knowledge Graph (KG)知识图谱查询、实体关系推理结构化知识理解⭐⭐⭐
Web Shopping (WS)在模拟电商网站中搜索、筛选和购买商品Web导航、决策推理⭐⭐⭐⭐
Web Browsing (WB)在真实网页中查找信息、完成表单网页理解、信息提取⭐⭐⭐⭐
Code (CD)代码补全、Bug修复、代码理解编程能力⭐⭐⭐⭐⭐
Digital Card Game (DCG)在Aquawar卡牌游戏中制定策略策略推理、长期规划⭐⭐⭐⭐
Lateral Thinking Puzzle (LTP)海龟汤谜题推理,通过提问获取信息推理、信息获取策略⭐⭐⭐

评估指标

使用方法

# 1. 克隆仓库
git clone https://github.com/THUDM/AgentBench.git
cd AgentBench

# 2. 安装依赖
pip install -e .

# 3. 配置API密钥
export OPENAI_API_KEY="your-key"

# 4. 运行评测(以OS环境为例)
python -m agentbench.run --task os --model gpt-4 --output results/

# 5. 查看结果
python -m agentbench.analyze --result_dir results/

3. WebArena

真实Web环境中的Agent评估

WebArena 是由卡内基梅隆大学(CMU)提出的真实Web环境Agent评测基准。与简化的模拟环境不同,WebArena构建了完整的、功能性的Web应用环境(包括电商、社交论坛、GitLab、地图和CMS等),Agent需要像人类一样在这些真实网站中完成信息检索和操作任务。

环境组成

网站类型模拟平台任务示例
电商平台OneStopShop (仿Amazon)按条件搜索商品、添加到购物车、结算
社交论坛Reddit-like Forum浏览帖子、发布评论、投票
代码托管GitLab创建Issue、提交MR、查看CI/CD状态
地图服务OpenStreetMap搜索地点、规划路线
内容管理WordPress CMS编辑文章、管理分类、修改配置

任务类型

WebArena包含812个手工设计的Web交互任务,分为三类:

评估指标

⚠️ 资源要求 WebArena需要启动多个Docker容器来运行完整的Web环境,建议至少16GB内存和50GB磁盘空间。评测一个Agent通常需要数小时。

4. SWE-bench / CygBench

代码工程场景的Agent评估

SWE-bench(Software Engineering Benchmark)是由普林斯顿大学提出的真实软件工程任务评测基准,专门评估Agent在代码仓库中定位Bug、生成补丁的能力。它从GitHub上的真实Python开源项目中提取了2,294个Issue-PR对,要求Agent根据Issue描述在代码库中找到问题并生成修复代码。

任务设计

要素说明
数据来源12个知名Python项目(Django、Flask、SymPy等)的真实GitHub Issue
任务输入Issue描述 + 代码仓库的完整快照
Agent操作浏览文件、搜索代码、编辑文件、运行测试
提交格式生成Git patch文件(diff格式)
验证方式应用补丁后运行项目的单元测试套件

SWE-bench Verified

由于部分原始任务存在描述不清晰、测试不充分等问题,OpenAI联合社区推出了SWE-bench Verified子集,包含500个经过人工验证的高质量任务,已成为业界评估代码Agent能力的标准基准。

评估流程

  1. 提供Agent Issue描述和代码仓库
  2. Agent自主探索代码库、定位问题根因
  3. Agent生成代码修改(patch)
  4. 在容器中应用patch并运行测试用例
  5. 通过的测试数 ≥ 原PR的测试数即为成功

主要发现

🔧 CygBench CygBench 是SWE-bench的扩展变体,将评测环境从Python扩展到C/C++项目(如Cygwin),评估Agent在更底层的系统软件中的Bug修复能力。

5. 其他框架

ToolBench

ToolBench 专门评估LLM的工具使用能力,由清华大学和智谱AI提出。它构建了大规模的指令-工具配对数据集,覆盖16,000+真实API(来自RapidAPI),涵盖49个类别。

评估指标包括工具选择准确率、参数提取F1、任务完成率等。

API-Bank

API-Bank 是另一个知名的工具使用评测基准,包含73个API和314个工具使用对话。它聚焦于以下能力维度:

GAIA

GAIA 是由Meta AI、Hugging Face等联合提出的通用AI助手评测基准,专为评估需要多步推理、工具使用和Web浏览能力的通用Agent设计。其特点:

GAIA的Level 1-3难度递进,分别测试基础信息检索、多源推理和复杂多工具协作能力。

6. 工具对比

框架评测领域环境类型任务数开源资源需求适合场景
AgentBench 通用Agent能力 模拟/真实混合 1,000+ 全面评估、快速对比
WebArena Web操作 真实Web应用 812 Web Agent专项评测
SWE-bench 代码工程 真实代码仓库 2,294 代码Agent能力评估
ToolBench 工具使用 API模拟 16,000+ API 工具调用专项评测
API-Bank 工具使用 API模拟 314对话 轻量级工具评测
GAIA 通用推理+工具 真实Web 466 端到端Agent能力评估

选型建议

7. 实战演练

🎯 演练目标 以下三个任务从易到难,帮助测试团队快速上手Agent评测。建议按顺序完成。

任务一:使用AgentBench快速评测一个Agent

目标:使用AgentBench的OS环境评测一个LLM作为Agent的基础操作能力。

步骤操作预期结果
1克隆AgentBench仓库并安装依赖环境就绪,可运行示例任务
2配置要评测的模型API模型可正常调用
3运行OS环境评测(10个任务)获得成功率、步数等指标
4分析失败案例的Agent轨迹识别Agent的典型失败模式
5编写评测报告包含指标、案例和优化建议

任务二:构建自定义Web Agent评测场景

目标:基于WebArena框架,创建一个银行内部系统场景的评测任务。

步骤操作预期结果
1搭建WebArena Docker环境5个Web应用正常运行
2创建5个银行场景任务(如:查询交易记录、提交审批单)任务JSON配置完成
3编写对应的评估函数自动判断任务是否完成
4用内部模型运行评测获得场景化的Agent表现数据
5对比不同Prompt策略的效果找到最优的Agent配置方案

任务三:搭建Agent回归测试流水线

目标:建立可持续的Agent评测机制,实现Agent能力退化监控。

步骤操作预期结果
1从3个框架中各选取20个代表性任务60个任务的精选评测集
2编写自动化评测脚本(Python)一键运行完整评测流水线
3建立Baseline数据当前Agent的能力基线
4配置CI/CD定时任务(每周执行)自动运行并生成报告
5设置退化告警阈值(成功率下降>10%触发告警)Agent能力漂移可及时发现
🔴 注意事项 评测任务的Prompt和模型版本变动会导致分数不可比。建立评测基线后,任何变更(Prompt、模型版本、框架)都需要重新创建基线,否则对比结果无意义。