Agent评测

一句话理解

Agent 评测的重点,不是看模型"会不会回答",而是看它能不能稳定地把事情做成

因为 Agent 会多轮推理、调用工具、修改环境、连续决策,所以评测必须覆盖完整任务过程,而不能只看单次输出。


1. 总览:Agent 评测到底在评什么

以 Coding Agent 为例,评测时通常会给它任务、工具和可执行环境。Agent 在多轮交互中持续推理、调用工具、修改环境,并把结果写回环境,最后再通过测试或状态检查判断任务是否真正完成。

1.1 为什么比普通模型评测更复杂

维度 普通问答模型 Agent
交互形态 单轮输出为主 多轮决策与行动
工具使用 通常没有或较少 高频调用工具
环境影响 基本不改环境 会持续修改环境状态
误差传播 单次输出误差 前一步错误会影响后续步骤
评分难点 看答案质量 看任务完成、过程稳定性、环境结果

1.2 核心判断

问题 结论
只看最终答案够吗 不够
只跑一次够吗 通常不够
只测模型本身吗 不是,测的是整体系统
评分规则能写死吗 不能完全写死,要防止误伤有效但非预设路径的解法

⚠️ Agent 评测要同时关注最终结果、执行过程、稳定性,以及评分规则是否真正符合用户价值。

2. 三个关键定义

概念 含义 直观理解
评测框架(Evaluation Harness) 提供任务、工具、环境,执行测试,记录过程并汇总结果 整套评测流水线
Agent 框架(Agent Harness / Scaffold) 让模型以 Agent 方式运行,包括输入处理、工具调度、多轮交互管理 Agent 的运行系统
评测套件(Evaluation Suite) 围绕某类能力设计的一组任务集合 一套题库

2.1 常见术语

术语 含义 实际作用
任务(Task) 一个独立测试用例,包含输入、环境和成功标准 定义"测什么"
试验(Trial) 对同一任务的一次运行 处理随机性
评分器(Grader) 负责给任务结果打分的规则或程序 定义"怎么判"
转录(Transcript / Trace) 一次试验的完整过程记录 用于排查失败原因
结果(Outcome) 试验结束时环境的最终状态 判断任务是否真的完成

2.2 最容易忽略的一点

评测对象不是"裸模型",而是下面这套整体:

被评对象 说明
模型 推理和生成能力
Agent 框架 决定如何拆解任务、调用工具、管理多轮
工具系统 决定能做什么、怎么做
环境配置 决定任务能否稳定复现

所以同一个模型,换一个 scaffold、工具协议或环境隔离方式,成绩可能完全不同。

3. 为什么必须做评测

3.1 没有评测时的常见问题

问题 后果
用户投诉后才发现问题 响应被动
手动复现成本高 排查慢
修旧问题引入新问题 容易回归
无法判断改动是否真的有效 迭代失真
难比较模型、提示词和 Agent 方案 决策低效

3.2 建立评测后的价值

价值 说明
定义成功标准 明确什么叫"任务完成"
自动验证 上线前批量检查场景
指标量化 成功率、错误率、延迟、Token、成本等可追踪
方案对比 更容易比较模型、提示词、工具链
回归保护 为升级和调优提供安全网

评测的价值贯穿 Agent 全生命周期:前期帮助定义成功标准,后期帮助稳定扩展规模。


4. 三类常见评分器

4.1 评分器对比

类型 常见方法 优势 劣势 适合场景
基于代码的评分器 字符串匹配、单元测试、静态分析、状态检查、工具调用检查、日志分析 快、便宜、客观、可重复 灵活性有限,难处理开放任务和细微质量差异 编程类、规则明确任务
基于模型的评分器 标准打分、自然语言断言、成对比较、参考答案评估、多评委共识 灵活、可扩展,适合开放任务 非确定性强、成本更高、需要校准 对话、研究、开放输出
人工评分器 专家审查、众包判断、抽样检查、A/B 反馈、一致性检查 最接近真实判断,可做黄金标准 成本高、速度慢、难规模化 高风险任务、抽检、校准

4.2 实用选择原则

  1. 能用确定性评分器,就优先用确定性评分器
  2. 需要灵活判断时,再引入模型评分器
  3. 关键任务或高风险场景,再用人工评分校准

5. 两类核心评测目标

类型 要回答的问题 通过率特点 主要用途
能力评测(Capability / Quality Eval) 这个 Agent 哪些方面强,哪些方面还不够强 通常不会太高 找短板、看上限、找提升空间
回归评测(Regression Eval) 以前能做好的事,现在还能不能稳定做对 通常接近 100% 防止退步、做版本安全网

5.1 两者关系

维度 能力评测 回归评测
看什么 上限 底线
题目难度 偏难 偏稳定、偏已验证
主要作用 暴露增长空间 守住已有能力

当某些能力任务长期高通过后,可以"毕业"为回归任务,用来监控长期漂移。

6. 四类主流 Agent 怎么评

Agent 类型 核心评测重点 常用评分方式 常见 Benchmark
编程 Agent 代码能否运行、测试是否通过、功能是否可用、工具调用是否合理 确定性评分为主,必要时补充 LLM 质量评分 SWE-bench Verified、Terminal-Bench
对话 Agent 问题是否解决、是否在合理轮数内完成、语气和策略是否合适、工具使用是否一致 LLM 模拟用户 + 规则/模型混合评分 tau-Bench、tau2-Bench
研究 Agent 事实性、覆盖率、来源质量、综合分析质量 多评分器组合,常需人工校准 BrowseComp
电脑操作 Agent 是否完成真实任务链、页面或系统状态是否正确变化、成本和延迟是否合理 环境状态检查 + 轨迹分析 WebArena、OSWorld

6.1 各类 Agent 的实际抓手

类型 更具体的抓手
编程 Agent 单元测试、静态分析、数据库/日志/配置状态、工具调用链、是否存在无意义反复试错
对话 Agent 工单是否关闭、是否越权、是否轮数过多、语气是否清晰礼貌、工具调用是否贴合对话
研究 Agent 是否给出来源、关键点是否覆盖、来源是否可信、结论是否有证据支撑
电脑操作 Agent URL/页面状态、后端状态是否变化、是否完成整条任务链、DOM 交互与视觉交互的效率权衡

7. 如何理解非确定性

同一个 Agent 在同一个任务上,多次运行结果不一致,是常态,不是例外。

7.1 主要来源

来源 说明
模型随机性 同样输入可能给出不同决策
多轮放大效应 早期误差会在后续步骤累积
工具与环境波动 调用结果、状态变化会影响后续路径

7.2 常用指标

指标 含义 更适合的场景
pass@k k 次尝试中,至少一次成功的概率 允许多试几次、成功一次就有价值的任务
pass^k k 次尝试中,每一次都成功的概率 对一致性和稳定性要求很高的任务

7.3 怎么理解 pass@kpass^k

问题 更对应的指标
这项能力有没有 pass@k
这项能力稳不稳定 pass^k

对最终用户来说,pass^k 往往更接近真实体验,因为用户关心的是"这次用就得成"。


8. 从 0 到 1 搭建高质量 Agent 评测

8.1 整体路线

阶段 核心任务 关键要求
搭任务集 从真实场景收集 case 真实、可验证、与用户影响相关
搭评测框架 建环境、调度、记录、汇总 稳定、隔离、可追踪
细化评分器 定义怎么判成功和失败 优先确定性,防误判、防刷分

8.2 初始任务集从哪里来

来源 价值
手动测试清单 容易快速启动
高频用户任务 最贴近真实价值
Bug 跟踪系统 直接对应历史失败
客服/支持工单 补充真实边界问题
用户失败案例 常是高价值 bad case

8.3 好任务的要求

要求 说明
指令明确 不靠猜
成功标准清晰 能清楚判断是否完成
尽量无歧义 降低错判
最好有参考答案 便于一致评审
同时覆盖正例和反例 避免把 Agent 优化偏

理想状态是,两位领域专家独立评审,也能得出一致结论。

8.4 评测框架设计原则

原则 说明
环境尽量贴近生产 结果更有参考价值
每次运行从干净环境开始 避免残留状态污染结果
避免共享状态 减少额外噪声
记录完整轨迹 方便排查失败原因
先确定性、后模型评分 提高稳定性和可解释性
关键场景加人工验证 防止自动化误导

⚠️ 一个典型坑是环境没隔离好,导致 Agent 利用了上一次试验残留信息,分数虚高。

8.5 评分器设计原则

原则 含义
评结果,少评路径 不要把完成方式写死
多阶段任务设置部分得分 便于看清卡在哪一步
仔细排查评分器本身的 bug 防止错判
防止投机刷分 防止 Agent 利用规则漏洞

强模型常会找到设计者没预料到、但同样有效的完成方式,所以"评结果而不是评路径"非常关键。

8.6 任务始终 0% 成功时先查什么

优先检查项 为什么先查
任务本身是否可完成 可能题目就不可解
参考答案是否合理 可能目标定义错了
评分器是否配置正确 可能是错判,不是 Agent 真失败

9. 评测要和其他方法结合

自动化评测很重要,但不是全部。

方法 作用 局限
自动化评估 快速迭代、重复执行、大规模覆盖 需要前期建设,且不一定完全等于真实使用
生产监控 观察真实用户行为和线上错误 发现问题较被动,信号也可能有噪声
A/B 测试 比较不同版本在真实流量中的效果 成本较高,反馈更慢
用户反馈 暴露意料之外的问题 稀疏、非结构化、偏被动
人工记录审查 / 系统化人工研究 补充自动评测看不到的细微质量问题,并用于校准标准 耗时、昂贵、难扩展

9.1 瑞士奶酪模型

层次 主要作用
自动化评测 上线前和 CI/CD 中持续发现回归与显性错误
生产监控 上线后发现分布漂移、异常失败和真实使用问题
A/B 测试 在真实流量下验证重大改动是否真的更优
用户反馈与轨迹审查 补充自动化覆盖不到的边角问题
系统性人工研究 校准 LLM 评分器,评估主观质量和复杂行为

核心意思只有两点:

  1. 没有单一方法能抓住全部问题
  2. 多层方法叠加后,才更接近可靠质量保障

10. 长期维护比第一次搭建更重要

10.1 长期维护重点

重点 为什么重要
读转录轨迹 只看分数,很难知道是 Agent、评分器还是任务出了问题
监控评测是否饱和 长期接近满分的题集不再提供改进信号
持续补充新失败样本 防止评测老化
让更多角色参与贡献任务 更接近真实产品需求和用户问题

10.2 谁应该参与贡献任务

角色 价值
产品经理 更清楚用户目标和关键路径
客户成功 更了解高频问题
支持团队 更接近真实报错与失败场景
销售或前线使用者 更容易发现落地阻力和边界 case

离用户越近的人,越容易提出高价值测试任务。


11. 可参考的框架与工具

如果不想从零搭基础设施,可以参考这些方案:

工具 / 框架 特点 适合团队
Harbor 面向容器化环境,支持跨云厂商大规模跑试验 重视环境隔离和规模化运行的团队
Promptfoo 轻量、开源、YAML 配置,上手快 想快速启动评测的团队
Braintrust 离线评估、生产可观测性、实验追踪一体化 想把评测和线上观测连起来的团队
LangSmith 与 LangChain 生态集成紧 已在用 LangChain 体系的团队
Langfuse 自托管开源方案 对数据驻留、自建基础设施有要求的团队

但工具只是加速器,不是答案本身。真正决定效果的,还是任务质量、评分器设计、失败样本积累和持续迭代机制。

12. 补充:Agent 时代评测的"变与不变"

补充材料最重要的观点是:

💡 Agent 时代,评测的底层哲学没变,但执行方式、自动化程度,以及它和研发流程的关系,已经明显变了。

12.1 不变的部分:科学评测的底层原则

原则 含义
评测的终极产出不是报告,而是迭代闭环 更重要的是缩短发现问题、定位根因、修复、验证的总周期
评测集要略微领先于当前能力 只有这样才能持续暴露"还不会"的部分
好评测集要故意比真实世界更难 极端、复杂、边界 case 更能拉开能力差距
评测集应尽量以真实数据为主 评测集规模小,更值得投入高质量人工成本
再好的总分,也替代不了 look at your data 必须能从 bad case 回溯到根因

12.2 为什么评测集要比真实世界更难

原因 说明
真实世界最贵的问题往往不是高频简单问题 贵的是复杂和边界场景
真正区分系统上限的通常是偏难题 容易题只能说明"基础还行"

13. Agent 正在重写评测执行链路

13.1 执行链路的变化

环节 过去 现在/趋势
数据采集与标注 人工主导挖 case、清洗、标注 自动化漏斗:抓取、清洗、预标注、人工只审高价值样本
Trigger 关键词、规则、脚本匹配 语义触发,由小模型或 Agent 判断是否有评测价值
打分 LLM-as-Judge 为主 Agent-as-Judge 演进,可读长轨迹、比较多候选、输出结构化判断
运行 死脚本执行 Agent 看护评测过程,重试、重启、补操作
报告 静态网页或分数表 可交互工作台,支持下钻、回放、按任务类型定制展示

13.2 Agent-as-Judge 为什么重要

优势 适合场景
能读长轨迹 多轮复杂任务
能比较多个候选答案 没有唯一标准答案的任务
能做结构化判断与汇总 需要综合多个模型结果的复杂评审

一个实用思路是:用顶尖模型作为参照系,让多个模型投票或求最大公约数,再由下游 Agent 聚类、汇总并生成报告。

13.3 双层 Agent 看护评测

角色 作用
执行看护 Agent 在评测执行过程中负责重试、重启、补操作
验收 Agent 在后处理阶段检查 trace 和结果

这对长批量、端到端评测特别有用,因为它把"执行环境脆弱"也纳入了自动修复链路。

14. 一个更强的方向:评测直接驱动自动改代码

这是补充材料里最值得单独记住的新增观点。

14.1 闭环正在变化

传统闭环 新闭环
发现 bad case 评测自动发现 bad case
人工排查 Agent 自动进入代码库分析问题
人工改 prompt / harness / 编排代码 自动修改 prompt、harness 或相关代码
人工回归验证 自动跑测试验证

核心意思是:在 AI coding 时代,一套好的 Agent 评测集加上自动评价器,已经可以直接接到代码迭代链路里,评测开始从"发现问题"走向"驱动修复"。


15. 最值得记住的结论

结论 解释
Agent 评测看的是任务完成能力 不是单次回答质量
Agent 必须做端到端评测 因为它是多轮行动系统
评测是迭代、上线和升级模型的基础设施 不是锦上添花
评分器通常要组合使用 代码、模型、人工各有边界
能力评测和回归评测要一起跑 一个看上限,一个守底线
非确定性是常态 要通过多次运行和合适指标理解结果
不只看分数,要读轨迹 否则很难定位根因
自动化评测要和生产监控、人工审查结合 才能形成完整质量保障

16. 可以直接带走的落地原则

  1. 尽早开始,不要等完美体系
  2. 优先从真实失败和高频任务里收集 case
  3. 给每个任务写清楚成功标准,尽量避免歧义
  4. 先用确定性评分器,再逐步补充 LLM 和人工评分
  5. 环境必须隔离,评测过程必须可追踪
  6. 能力评测和回归评测要同时跑
  7. 不只看分数,一定要读转录轨迹
  8. 把自动化评测、生产监控和人工审查组合起来看