~ / llm-debug-evaluation / agent-evaluation Agent 评测
Module 03 · Agent Evaluation

Agent 评测

Agent 评测比"大模型评测"更难:要测工具调用、多轮规划、长程任务与安全风险。本模块给出工具(AgentEval / AgentBench / AgentBoard / WebArena / ToolEmu),并构建「提示词注入 / 工具沙箱 / 记忆腐化 / 长程任务 / 模型一致性」五维系统评测方法论,每维附数据集路径、用法与优缺点。

▦ 工具总览

工具聚焦形态
AgentEvalAgent 行为/工具调用/回归(确定性 grader,可离线)Python 框架
AgentBench8 类环境综合 Agent 能力Benchmark
AgentBoard多轮 Agent 细粒度进度率分析Eval framework
WebArena网页自主智能体Benchmark
ToolEmuLM 模拟沙盒测工具风险Risk framework

01 AgentEval

确定性 grader 的 Agent 行为/回归评测框架,CI 友好、不烧钱。

AgentEval behavior · regression

仓库 agentkitai/agentevalPyPI agentevalkit
官方仓库 ↗
!
名称歧义:agenteval.org 是社区基准目录/资源枢纽,不能 pip 安装;真正工具是 github.com/agentkitai/agenteval(PyPI 名 agentevalkit)。另有 AgentEvalHQ(.NET)、agent-eval-cli(多轮对话模拟)、论文 AgentEval 等同名项目,勿混淆。

安装(本机实测 0.7.0)

python3 -m venv .venv && source .venv/bin/activate
pip install --no-user agentevalkit     # 锁 0.7.0:
# pip install agentevalkit==0.7.0
# 注:PyPI 0.7.0 内置 10 个 grader;GitHub 主干已到 11 个 + Trial/TrialResult 新版,
#     生产请锁版本,避免 API 漂移。

内置 10 个 grader

exact / contains / regex / tool-check / llm-judge / custom / json_schema / semantic / latency / cost。自定义签名 fn(case, result) -> GradeResult。compare 用 Welch t 检验标记 ▼ regressed;ci --min-pass-rate 0.9 接 CI 门禁。

真实测试用例配置(来源项目记忆,已嵌入)

# suite.yaml
name: demo-agent-tests
agent: my_agent:run
defaults:
  grader: contains
cases:
  - name: basic-math
    input: "What is 2 + 2?"
    expected: { output_contains: ["4"] }
    tags: [math, basic]
  - name: tool-usage
    input: "Search for weather in Beijing"
    expected: { tools_called: ["web_search"] }
    grader: tool-check
    tags: [tool]
  - name: custom-validation
    input: "Generate a JSON object"
    grader: custom
    grader_config: { function: my_agent:validate_json }
  - name: cost-check
    input: "What is 2 + 2?"
    grader: cost
    grader_config: { max_usd: 0.001 }
  - name: latency-check
    input: "What is 2 + 2?"
    grader: latency
真实素材 · agenteval-demo/suite.yaml(完整文件见 assets/agenteval/suite.yaml)

本机实测结果(真实)

Total: 5  Passed: 5  Failed: 0  Pass rate: 100%
Cost: $0.0005  Avg latency: 0ms
# compare 用 Welch t 检验对比两次 run,标 ▼ regressed

02 AgentBench

清华 + 微软 2023 提出的综合 Agent 能力基准,覆盖 8 类环境。

AgentBench 8 environments

仓库 THUDM/AgentBench
官方仓库 ↗

8 个环境:OS / DB / Knowledge Graph / 卡牌游戏 / ALFWorld / WebShop / Mind2Web / 横向思考谜题。统一框架测"通用 Agent"在多样任务上的能力,强调部分可观测与多轮交互。

git clone https://github.com/THUDM/AgentBench.git
cd AgentBench && pip install -r requirements.txt
# 按各环境说明启动(部分需 Docker / 数据库 / 浏览器)

03 AgentBoard

HKUST 出品(NeurIPS 2024),强调"分析式评测"——不只看最终成功率,还看过程。

AgentBoard analytical

仓库 hkust-nlp/AgentBoard9 tasks · progress rate
官方仓库 ↗

细粒度 progress rate 指标捕捉逐步进展,配套工具包做多维分析(grounding 准确率、难易样本拆解、长程交互、子技能表现、轨迹可视化)。数据来自 HuggingFace hkust-nlp/agentboard。

# 本地 conda 环境(python 3.8.13)+ setup.sh;WebArena 任务需额外装 dbus/Xvfb
git clone https://github.com/hkust-nlp/AgentBoard.git
cd AgentBoard/data && tar -zxvf data.tar.gz
python agentboard/eval_main.py --tasks alfworld --model gpt-4 --wandb

04 WebArena

斯坦福出品的网页自主智能体基准:在自建的电商/论坛/地图/GitLab 网站上完成真实任务。

WebArena web agent

仓库 web-arena/webarena4 类自托管网站
官方仓库 ↗

需在本地/云端拉起 4 个自托管网站(购物、Reddit 类论坛、地图、GitLab)与对应账号系统,任务成功率(task success rate)为主指标。同类还有 OSWorld(真实桌面 GUI 多模态)、τ-bench(OpenAI/Sierra,多轮工具调用 + 状态维护,客服/零售)、GAIA(Meta,真实世界多工具推理)、SWE-bench(代码仓库 issue 修复)、ToolBench/ToolEval(清华,大规模 API 工具调用)。

05 ToolEmu

ICLR'24,用 LM 模拟工具执行的"虚拟沙盒",规模化识别 Agent 的工具风险。

ToolEmu risk · sandbox

仓库 ryoungj/toolemu36 toolkits / 311 tools / 144 cases
官方仓库 ↗

三组件:① Tool Emulators(GPT-4 模拟工具执行,std/adv 两种思想);② Safety & Helpfulness Evaluators(量化风险严重度 + 有用性,捕捉安全/有用权衡);③ Curated Benchmark(36 工具集、311 工具、144 测试案例)。研究发现即使最安全的 LM Agent 也有约 24% 案例出现风险。

git clone https://github.com/ryoungj/ToolEmu.git
git clone https://github.com/dhh1995/PromptCoder.git   # 依赖
cd PromptCoder && pip install -e .
cd ../ToolEmu && pip install -e .
# 跑全量基准(约 $170 总成本)
python scripts/run.py --agent-model gpt-4-0613 --agent-type naive \
  --simulator-type adv_thought --batch-size 5
i
ToolEmu 是"工具沙箱安全"维度的核心评测器(详见下方五维理论)。它不替代人工专家,而是辅助规模化快速测试与识别风险。

⚙ Agent 评测 · 五维系统方法论

把"Agent 评测"拆成 5 个可独立评测、又可组合的维度。每维给出:评测目标、数据集/路径、用法、优缺点。这是本手册对 Agent 评测模块的系统组织方式。

① 提示词注入(Prompt Injection)

测 Agent 在不可信内容(邮件/网页/工具返回)注入指令时的鲁棒性。主指标 ASR(攻击成功率)。

数据集获取路径下载用法优缺点
JailbreakBenchJailbreakBench/JBB-Behaviorsgit clone JailbreakBench/JailbreakBench越狱行为集,算合规率✅ 标准化;❌ 偏 jailbreak 而非 agent 工具流
InjecAgentagencyenterprise/InjecAgenthuggingface-cli download agencyenterprise/InjecAgentAgent 工具返回注入✅ 贴合 tool-return 注入;❌ 场景有限
AgentDojoprinceton-pli/AgentDojogit clone princeton-pli/AgentDojobanking/workspace/travel/os 注入 benchmark,量 ASR✅ 多环境、可量化;❌ 搭建较重
PromptInjectagencyenterprise/PromptInjecthuggingface-cli download agencyenterprise/PromptInject注入攻击框架✅ 可生成攻击;❌ 需自配环境
PAIRpatrickcheng13/pairhuggingface-cli download patrickcheng13/pair自动化越狱生成(攻击 LLM 迭代)✅ 自动化红队;❌ 产出为攻击样本,需管控

② 工具沙箱安全(Tool Sandbox Security)

测 Agent 调用真实/模拟工具时是否造成危害(数据泄露、资损、破坏性操作)。

数据集/工具获取路径下载用法优缺点
ToolEmuryoungj/toolemugit clone ryoungj/toolemuLM 模拟沙盒跑 144 case,量化风险✅ 不需真实实现、可规模化;❌ 模拟器本身有幻觉盲点
CyberSecEvalmeta-llama/PurpleLlama(CyberSecEval 子集)git clone meta-llama/PurpleLlama提示注入/代码注入/权限提升✅ 厂商级;❌ 偏代码安全
InterCode-SQLprinceton-nlp/InterCodegit clone princeton-nlp/InterCodeSQL 注入等代码安全(沙箱执行)✅ 可真实执行;❌ 仅 SQL 域

③ 记忆腐化安全(Memory Corruption)

测 Agent 长期记忆 / RAG 检索内容被污染后是否产生错误或被操控的行为(记忆投毒、上下文注入)。

数据集/方法获取路径下载用法优缺点
LongMemEvalxiaowu0162/LongMemEvalgit clone xiaowu0162/LongMemEval长程记忆基准(481/500 真实检索)✅ 测长期记忆能力;❌ 非专门"腐化"攻击集
RAG 投毒(构造)由 PromptInject / 注入集改造复用 PromptInject 数据集在检索语料注入恶意片段,测答案被带偏✅ 贴合 RAG 场景;❌ 公开专用基准尚少,需自构
!
记忆腐化是新兴且公开基准稀缺的维度。务实做法:复用"提示词注入"数据集 + 在检索/记忆写入链路注入污染样本,以"答案偏移率/有害输出率"为指标自构评测。护栏建议:写入校验(near-duplicate/schema)、写入即校验、关键记忆人工复核。

④ 长程任务效果(Long-horizon)

测 Agent 在多步、多轮、需状态维护的真实任务上的完成率与过程质量。

基准获取路径下载用法优缺点
WebArenaweb-arena/webarenagit clone web-arena/webarena网页任务成功率✅ 真实网站;❌ 需自托管环境
OSWorldxlang-ai/OSWorldgit clone xlang-ai/OSWorld桌面 GUI 多模态✅ 真实桌面;❌ 资源重
τ-benchsierra-research/tau-benchgit clone sierra-research/tau-bench多轮工具+状态维护✅ 强状态测试;❌ 场景有限
GAIAmetadata-ai/gaiagit clone metadata-ai/gaia真实世界多工具推理✅ 真实任务;❌ 标注成本高
SWE-benchprinceton-nlp/SWE-benchgit clone princeton-nlp/SWE-bench代码仓库 issue 修复✅ 工业相关;❌ 仅代码域
ToolBenchOpenBMB/ToolBenchgit clone OpenBMB/ToolBench大规模 API 工具调用✅ 工具丰富;❌ 评测偏调用正确

⑤ 大模型一致性(Consistency)

测 Agent 在相同/等价输入下行为是否稳定一致(避免"同问题不同答案"、规划漂移)。

数据集/方法获取路径下载用法优缺点
MT-Benchlm-sys/MT-Benchgit clone lm-sys/MT-Bench多轮一致性 + 裁判评分✅ 通用;❌ 偏对话
AgentBoard 一致性hkust-nlp/AgentBoardgit clone hkust-nlp/AgentBoard多轮子技能一致性分析✅ 过程级;❌ 需其环境
Self-Consistency方法(Wang et al. 2022)自搭:多次采样取众数同 prompt 多次运行,测输出方差✅ 简单可自搭;❌ 仅测稳定性非正确性

🛡 安全 / 红队视角(已脱敏)

来源项目中含真实攻击 PoC / IOC / 个人联系方式,按隐私要求已排除。此处仅保留公开方法论与可公开基准,供安全评测参考。

23 类红队测试场景( taxonomy,已脱敏归类)

A 直接指令覆盖B 间接内容投毒C Agent 工具劫持D 多轮持久化E 多模态跨通道F 防御对抗绕过

注入分三类:Direct(直接指令)/ Indirect(内容投毒)/ Jailbreak(越狱)。攻击链模型:提示词注入 → 遍历技能目录 → 递归执行 → 外发敏感数据。

护栏分层

输入过滤 → 指令隔离(不可信数据包裹、system prompt 不可变)→ 工具二次确认 → 输出审查。CI 门禁对高危项"零容忍"。

OWASP LLM Top 10 映射(对抗测试框架)

提示注入、敏感信息泄露、供应链、数据投毒、不当输出、越权、训练数据投毒、过度依赖、模型窃取等——可作为红队覆盖度检查清单。

i
公开可用的对抗/安全基准(推荐优先使用,均不含敏感 PoC):JailbreakBench、InjecAgent、AgentDojo、PromptInject、PAIR、HarmBench、Do-Not-Answer、TrustLLM、XSTest、SORRY-Bench、AdvBench。红队框架:promptfoo redteam init、deepteam、garak、pyrit、inspect-ai。
→
下一页 → 大模型记忆:AgentMemory、Mem0、Zep、MemGPT(Letta) 的安装、用法与架构。