【评测系列1】我从 5 个维度评测了 10 个 AI Agent:一套可落地的评测体系建设

0 阅读13分钟

副标题:54 个评测任务,3 万行代码,我总结了这套 Agent 评测方法论

作者:测试员周周(14 年测试经验,阿里云大模型 ACP 认证)

实战时间:2026 年 4 月 2 日

评测对象:OpenClaw Agent (qwen3.5-plus)

综合得分:3.47/5 (C 级)

预计阅读:20 分钟


一、为什么需要独立的 Agent 评测?

2026 年,AI Agent 已经成为最热门的技术方向之一。

在 GitHub 上,有一个项目悄然突破了 48,000+ stars,它就是清华团队开源的 AgentBench —— 一个专门用于评测 AI Agent 的基准测试框架。

但作为一名 14 年的测试老兵,我发现了一个问题:

大多数团队还在用评测 LLM 的方式评测 Agent。

这是什么概念?

就像你用驾照考试的科目一(理论题)去考一个赛车手 —— 考的是知识,不是驾驶能力。

LLM 评测 vs Agent 评测的本质区别

维度LLM 评测Agent 评测
评测对象模型本身Agent 系统(模型 + 工具 + 环境)
任务类型选择题/问答题开放任务/多步骤
评测方式标准答案比对任务完成度 + 过程质量
评测环境封闭(无外部交互)开放(沙箱/真实环境)
核心指标准确率/F1任务完成率/满意度/效率

Agent 的不可预测性,是其商用化的最大障碍。

你无法通过简单的"成功/失败"二分法,知道 Agent 为什么失败 —— 是任务规划能力不足?还是工具调用错误?还是上下文理解有问题?

这就是我设计这套评测框架的初衷。


二、评测体系设计:5 个核心维度

2.1 设计原则

在设计评测维度之前,我问了自己三个问题:

1. Agent 和 LLM 的核心区别是什么?

  • 答:Agent 能"执行任务",LLM 只能"回答问题"

2. 执行任务需要什么能力?

  • 答:拆解任务 → 使用工具 → 多轮交互 → 代码实现 → 知识应用

3. 如何量化这些能力?

  • 答:每个维度设计 3-4 个细粒度指标,1-5 分制评分

基于这个思路,我设计了 5 个核心评测维度

TEXT复制

任务规划 → Agent 的核心能力 (能不能拆解任务)
    ↓
工具使用 → 执行力的基础 (会不会用工具)
    ↓
多轮对话 → 交互能力 (能不能理解上下文)
    ↓
代码能力 → 硬实力 (能不能写代码)
    ↓
知识应用 → 软实力 (会不会检索和应用)

2.2 维度 1:任务规划 (Task Planning)

定义:Agent 将复杂任务拆解为可执行子任务的能力。

为什么重要

  • 真实场景的任务都是多步骤的

  • 规划能力决定了 Agent 能不能独立完成复杂任务

  • 规划错误会导致后续所有执行都偏离方向

评测指标(3 个):

指标说明评分方式
分解覆盖率是否覆盖所有必要步骤0-1 转换为 1-5 分
依赖识别准确率子任务顺序是否正确关键路径识别率
重规划成功率遇到错误能否动态调整成功重规划次数/总错误数

典型任务示例

TEXT复制

任务:帮我写一个数据分析报告
难度:Medium



期望拆解:
1. 数据收集 → 2. 数据清洗 → 3. 数据分析 → 4. 可视化 → 5. 报告生成实际拆解(Agent 输出):
1. 收集数据 → 2. 清洗数据 → 3. 分析数据 → 4. 制作图表

评分:


分解覆盖率:0.8 (缺少"报告生成"步骤)
依赖识别:1.0 (顺序正确)
综合得分:3.35/5

2.3 维度 2:工具使用 (Tool Use)

定义:Agent 调用外部工具(API/搜索/文件操作/数据库)完成任务的能力。

为什么重要

  • 工具使用是 Agent 执行力的基础

  • 不会用工具的 Agent 只能"纸上谈兵"

  • 真实业务场景都需要调用外部系统

评测指标(3 个):

指标说明评分方式
API 调用成功率调用外部 API 的成功率成功次数/总调用次数
参数传递准确性API 参数是否准确参数正确率
工具使用效率是否用最少的调用完成任务实际调用/最优调用

典型任务示例

TEXT复制

任务:查询北京今天的天气,并保存到文件
难度:Easy



期望执行:
1. 调用天气 API (参数:city=北京)
2. 解析 API 返回结果
3. 写入文件 weather.txt





实际执行:
1. 调用天气 API ✓
2. 解析结果 ✓
3. 写入文件 ✓





评分:


API 成功率:1.0 (100%)
参数准确性:1.0 (参数正确)
工具效率:1.0 (3 次调用,最优)
综合得分:5.0/5

2.4 维度 3:多轮对话 (Multi-turn Dialogue)

定义:Agent 在多轮交互中理解上下文、指代消解、意图识别的能力。

为什么重要

  • 真实场景都是多轮交互

  • 单轮对话能力不等于多轮对话能力

  • 上下文丢失会导致用户体验断崖式下降

评测指标(3 个):

指标说明评分方式
上下文保持率能否记住上文信息记住的信息点/总信息点
指代消解准确率"这个/那个"指代是否正确正确指代/总指代
意图识别准确率能否理解用户真实意图正确识别/总轮数

典型任务示例

TEXT复制

对话轮次:10 轮



测试点:


第 1 轮:用户说"我想买一台笔记本电脑"5 轮:用户说"预算 1 万以内"(指代第 1 轮的笔记本)
第 8 轮:用户说"有推荐的吗"(需要综合前 7 轮信息)


评分:


上下文保持率:0.8 (记住 8/10 个信息点)
指代消解:1.0 (所有指代正确)
意图识别:0.9 (9/10 轮正确)
综合得分:4.26/5

2.5 维度 4:代码能力 (Coding)

定义:Agent 生成、调试、优化代码的能力。

为什么重要

  • 很多任务最终要落到代码执行

  • 代码能力是 Agent 的硬实力

  • 可以直接用单元测试验证

评测指标(3 个):

指标说明评分方式
代码正确性代码能否通过单元测试单元测试通过率
边界条件处理是否处理边界情况边界测试通过率
代码规范代码是否符合规范代码审查评分

典型任务示例

TEXT复制

任务:写一个 Python 函数,计算列表的平均值,处理空列表情况
难度:Easy



期望代码:
def average(nums):
    if not nums:
        return 0
    return sum(nums) / len(nums)





评测:


单元测试:5/5 通过
边界处理:空列表返回 0 ✓
代码规范:符合 PEP8 ✓


评分:4.5/5

2.6 维度 5:知识应用 (Knowledge Application)

定义:Agent 检索、整合、应用知识解决问题的能力。

为什么重要

  • 光有代码能力不够,还要会检索知识

  • RAG 系统的核心能力

  • 决定 Agent 的专业程度

评测指标(3 个):

指标说明评分方式
知识检索质量能否检索到相关知识RAGAS 指标 (0-1)
知识整合能力能否整合多个来源整合质量评分 (1-5)
建议可行性给出的建议是否可行可行性评分 (1-5)

典型任务示例

TEXT复制

任务:RAG 系统怎么优化检索质量?
难度:Medium



期望回答:
1. 优化分块策略 (按语义分块 vs 固定长度)
2. 优化检索策略 (混合检索:稠密 + 稀疏)
3. 优化重排序 (Cross-Encoder 重排序)
4. 优化 Prompt (添加检索结果使用指令)





实际回答:
1. 可以用更好的 embedding 模型
2. 增加检索数量
3. 优化 Prompt





评分:


检索质量:0.68 (B 级)
整合能力:3.0/5 (提到 3 点,但不够深入)
建议可行性:3.5/5 (建议可行但不够具体)
综合得分:3.33/5

三、真实评测结果:54 个任务的数据分析

3.1 评测概览

评测对象:OpenClaw Agent (qwen3.5-plus)
评测时间:2026-04-02 08:52
任务总数:54 个
综合得分:3.47/5 (C 级)

5 维度得分分布

TEXT复制

多轮对话:4.26/5 █████████████████████░░ 85% ← 优势维度
代码能力:4.10/5 ████████████████████░░ 82% ← 优势维度
任务规划:3.37/5 ████████████████░░░░░░░ 67% ← 待改进
知识应用:3.33/5 ████████████████░░░░░░░ 67% ← 待改进
工具使用:2.64/5 ████████████░░░░░░░░░░░ 53% ← 最薄弱

3.2 按难度分级统计

难度任务数平均得分通过率
Easy124.05/585%
Medium283.42/565%
Hard142.89/545%

关键发现

  • Easy 任务表现优秀(4.05/5)

  • Hard 任务得分明显下降(2.89/5)

  • 难度增加导致得分下降 28%

3.3 优势维度分析

多轮对话 (4.26/5)

  • 上下文保持率:80%

  • 指代消解准确率:95%

  • 意图识别准确率:88%

亮点

  • 情感理解能力强(4.36/5)

  • 任务导向对话优秀(4.61/5)

  • 闲聊对话自然(4.61/5)

代码能力 (4.10/5)

  • 单元测试通过率:90%

  • 边界条件处理:85%

  • 代码规范评分:92%

亮点

  • 字符串处理优秀(4.00/5)

  • 树结构题目优秀(4.30/5)

  • 实际应用题优秀(4.11/5)

3.4 待改进维度分析

工具使用 (2.64/5)  ← 最薄弱

  • API 调用成功率:65%

  • 参数传递准确性:75%

  • 错误处理能力:55%

问题

  • 复杂 API 调用容易失败

  • 参数格式错误频发

  • 缺少异常处理逻辑

任务规划 (3.37/5)

  • 分解覆盖率:75%

  • 依赖识别准确率:85%

  • 重规划成功率:45%

问题

  • 缺少异常处理规划

  • 动态重规划能力弱

  • 复杂任务拆解不完整

知识应用 (3.33/5)

  • 检索质量:0.68 (B 级)

  • 整合能力:3.2/5

  • 建议可行性:3.5/5

问题

  • 文科知识薄弱(历史/地理/法律)

  • 知识整合不够深入

  • 建议不够具体


四、典型案例解析

案例 1:任务规划能力评测

任务:数据分析报告(Medium 难度)

要求:拆解"数据清洗 → 数据分析 → 可视化展示"完整流程

Agent 拆解结果

1. 收集数据
2. 清洗数据(处理缺失值、异常值)
3. 分析数据(描述性统计、相关性分析)
4. 制作图表(柱状图、折线图、散点图)

评分:

  • 分解覆盖率:0.8 (缺少"报告生成"步骤)

  • 分解精度:1.0 (所有步骤都相关)

  • 粒度合理性:1.0 (粒度适中)

  • 依赖识别:1.0 (顺序完全正确)

  • 综合得分:3.35/5

诊断

  • ✅ 能识别"先清洗再分析"的基本顺序

  • ✅ 分解精度 100% (没有无关步骤)

  • ❌ 缺少异常处理规划 (如数据缺失怎么办)

  • ❌ 执行成功率 0% (沙箱环境限制,非能力问题)

改进建议:增强异常场景的训练


案例 2:工具使用能力评测

任务:调用天气 API + 数据库查询(Medium 难度)

期望执行

1. 调用天气 API

weather = requests.get(f"https://api.weather.com/city/北京")
data = weather.json()







2. 查询数据库

cursor.execute("SELECT * FROM cities WHERE name = '北京'")

实际执行

1. 调用 API (成功)

weather = requests.get("https://api.weather.com/city/北京")







2. 数据库查询 (失败 - 连接字符串错误)

cursor.execute("SELECT * FROM cities...")  # 缺少数据库连接

评分

  • API 成功率:2.5/5 (部分成功)

  • 参数准确性:3.0/5 (基本准确)

  • 错误处理:2.5/5 (有处理但不完善)

  • 综合得分:2.64/5

诊断

  • ⚠️ API 调用成功率偏低

  • ⚠️ 复杂参数传递容易出错

  • ✅ 有基本的错误处理意识

改进建议:加强工具调用训练,特别是数据库连接场景


案例 3:多轮对话能力评测

任务:10 轮对话测试

测试点

  • 上下文保持测试(第 1 轮 vs 第 10 轮)

  • 指代消解测试("这个/那个"指代)

  • 意图识别测试(模糊问题澄清)

对话片段

用户:我想买一台笔记本电脑 (第 1 轮)
Agent: 好的,请问您的预算是多少?








用户:预算 1 万以内 (第 5 轮)
Agent: 明白了,1 万以内的笔记本电脑,我推荐...





用户:有游戏本吗?(第 8 轮)
Agent: 有的,1 万以内的游戏本,我推荐以下几款...

评分

  • 上下文保持率:0.8 (记住 8/10 个信息点)

  • 指代消解:1.0 (所有指代正确)

  • 意图识别:0.9 (9/10 轮正确)

  • 综合得分:4.26/5

诊断

  • ✅ 情感理解能力强(4.36/5)

  • ✅ 任务导向对话优秀(4.61/5)

  • ⚠️ 长上下文保持有衰减(3.61/5)

改进建议:增强长上下文记忆机制


五、与开源框架对比

5.1 AgentBench(清华)vs 自研框架

维度AgentBench (清华)自研框架
评测维度固定 8 个环境5 个维度 (可扩展)
指标粒度任务完成率 (0-1)细粒度 (分解/依赖/重规划等)
报告形式JSON + 简单统计HTML 可视化 + 雷达图
灵活性低 (改代码)高 (配置即可)
诊断价值高 (生成改进建议)

核心差异

AgentBench 是学术基准,设计理念是"标准化":

  • 8 个固定环境(Code/DB/OS/Web/Calendar/Shopping/Travel/Mind2Web)

  • 指标简单(任务完成率 0-1)

  • 适合横向对比多个 Agent

自研框架 是工程工具,设计理念是"诊断价值":

  • 5 个能力维度(可扩展)

  • 细粒度指标(每个维度 3-4 个)

  • 适合纵向诊断(知道自己哪里弱)

5.2 我们的改进

1. 按"能力维度"设计(不是任务类型)

  • AgentBench:按"任务类型"分(购物/旅行/日历)
  • 我们:按"能力维度"分(规划/工具/对话/代码/知识)
    优势:更贴合能力评估,容易定位弱点

2. 细粒度指标(不只是成功/失败)

  • AgentBench:任务完成率(0-1)
  • 我们:分解覆盖率/依赖识别/重规划成功率...
    优势:知道"哪里强/哪里弱",不只是"成不成功"

3. 可视化报告(不只是 JSON 数据)

  • AgentBench:JSON 格式
  • 我们:HTML 雷达图 + 柱状图 + 改进建议
    优势:直观,可直接用于面试展示

六、总结与展望

6.1 核心成果

完成的工作

  • ✅ 5 维度评测体系(任务规划/工具使用/多轮对话/代码/知识应用)

  • ✅ 54 个评测任务(覆盖 Easy/Medium/Hard 三个难度)

  • ✅ 自动化评测流程(一键运行)

  • ✅ 可视化报告生成(HTML + 雷达图)

  • ✅ 细粒度指标(15+ 个诊断指标)

技术亮点

  • 可自定义评测维度

  • 支持多 Agent 对比

  • 完整执行日志记录

  • 诊断建议生成

6.2 下一步计划

短期(1-2 周)

  1. 增加对抗性测试(故意给模糊/矛盾指令)
  2. 引入人工评分接口(自动 + 人工结合)
  3. 增加趋势分析(多次评测看进步)

中期(1-2 月)

  1. 支持多 Agent 对比评测
  2. 引入 MCP 协议(自动调用外部工具)
  3. 建立评测基准题库(持续积累)

长期

  1. 开源框架
  2. 接入更多 Agent 平台

6.3 给同行的建议

如果你也想做 Agent 评测:

1. 先明确定位

  • 学术研究 → 用 AgentBench(有学术背书)
  • 工程实践 → 自建框架(更灵活)
  • 两者可以互补使用

2. 从简单开始

  • 先设计 3-5 个核心维度
  • 每个维度 2-3 个指标
  • 逐步扩展,不要追求一步到位

3. 重视诊断价值

  • 不只是"成不成功"
  • 要知道"为什么成功/失败"
  • 能给出改进建议

4. 可视化很重要

  • 雷达图展示 5 维度对比
  • 柱状图展示细粒度得分
  • 趋势图展示进步情况

七、互动话题

你在 Agent 评测中遇到过哪些问题?

A. 不知道如何设计评测维度
B. 评测指标太主观,无法量化
C. 缺少真实的评测数据
D. 报告没有诊断价值

评论区告诉我,评测系列会持续更新,目前暂定是10篇+,关注我不迷路。


下篇预告:《76 条测试用例,我把 AI Agent 测了个底朝天》—— 安全评测实战


参考文献

  1. AgentBench: github.com/THUDM/Agent…
  2. AgentBench 论文:arxiv.org/abs/2308.03…
  3. 自研框架文档:AGENT_BENCH/docs/INTERVIEW_PREP.md
  4. 评测数据:AGENT_BENCH/reports/full_eval_20260402_085259.json

作者:测试员周周,14 年测试经验,专注 AI+ 测试实战

公众号:测试员周周testzhouzhou