第 2 章 Agent评估评估方法论多轮对话

第 2 章:评估方法论全景

第 2 章:评估方法论全景

本章核心

不存在"万能"的评估方法论。 评估范式的选择取决于三个因素:评估目标(衡量什么)、评估对象(Agent 的哪个层次)、资源约束(成本、时间、标注能力)。

这一章回答三个问题:

  1. 评估方法论有哪些范式?每种范式的适用边界、信号质量和工程成本是什么?
  2. 当评估对象从"单轮问答"变成"多轮对话"、从"最终答案"变成"完整轨迹"时,方法论上发生了什么变化?
  3. 一套评估指标应该怎么分层?哪些坑是"对评估本身的评估"(效度与可靠性)?

2.1 五大评估范式

Beyond the Leaderboard: A Survey of the Science of Evaluation, Benchmarking, and Methodologies for LLMs(IEEE Access, Vol.14, 2026)把评估方法论系统分类为五种范式

范式 核心机制 信号质量 工程成本
静态基准 固定题目集 + 确定性判分 高可比性,但易饱和/污染
动态自适应评估 题目随模型表现动态调整(如 LiveCodeBench) 抗污染,跟踪能力上限
交互式 Agentic 评估 在模拟/真实环境中让 Agent 执行任务 贴近真实,但难复现
人在回路评估 人类标注员/专家参与评分 最可信,但慢且贵 最高
模型评估(LLM-as-a-Judge) 用 LLM 给 LLM 打分 可扩展,但有偏差 中低

没有哪个范式是"最好的"——它们是互补的。

选型逻辑可以这样概括:

  • 横向对比("我的模型 vs 别人的模型")→ 用静态基准 + 动态基准
  • 验证 Agent 能力("我的 Agent 能不能在真实场景干活")→ 用交互式 Agentic 评估
  • 最终放行("能不能上线")→ 人在回路 + 模型评估混合
  • 规模化自动化("每次 commit 都测")→ 模型评估(LLM-as-a-Judge)

一个常被忽视的原则:五种范式的信号质量与工程成本大致正相关。 最可信的(人在回路)最贵最慢,最便宜的(静态基准)信号最容易失真。成熟的评估体系一定是多种范式的组合,而不是押注单一范式。

2.2 多轮对话评估的专门方法论

Agent 与用户的交互几乎都是多轮的:用户提出需求 → Agent 调用工具 → 返回结果 → 用户补充 → Agent 继续……评估这种多轮交互,与评估单轮问答有本质区别。

Evaluating LLM-based Agents for Multi-turn Conversations(ACM TIST, 2026)通过 PRISMA 框架系统回顾了近 250 篇文献,建立了两个相互关联的分类系统:

评估什么(评估对象)

维度 回答的问题
任务完成 Agent 是否达成了用户的最终目标?
响应质量 每一轮的回答是否正确、有用、自然?
用户体验 用户是否感到顺畅、被理解、有掌控感?
记忆与上下文保持 Agent 是否记住了前几轮的关键信息?
规划与工具集成 Agent 是否合理地拆解任务、正确地调用工具?

如何评估(评估方式)

方式 说明
标注评估 人类标注员对每轮/整体评分,最可信但贵
自动化指标 规则、相似度、命中率等确定性指标
混合策略 自动化指标 + 人工抽检
自评判方法 Agent/LLM 自己评估自己的对话

多轮评估的三个关键难点

难点一:整体 vs 逐轮。 多轮对话里,整体任务成功 ≠ 每一轮都正确。一个 Agent 可能某轮回答错了,但最终通过工具调用弥补;也可能每轮都"看起来对",但整体目标跑偏。评估设计必须明确:是逐轮打分、整体打分、还是两者都看。

难点二:谁的状态是"真相"。 多轮对话中有一个特殊的信噪比问题——Agent 可能在某一轮"自己编造了一个数字",而工具实际返回了另一个。评估中间步骤,必须捕获推理轨迹(reasoning trace)来区分"Agent 自己编的"和"工具真实返回的"。这是 2.3 节轨迹评估要解决的核心问题。

难点三:对话是开放的。 用户下一轮说什么,取决于 Agent 上一轮答了什么。硬编码的测试脚本无法覆盖这种开放性。这就是 Google ADK 提出 User Simulation(第 5 章详述)的原因——用 LLM 驱动的模拟用户动态生成对话,而不是预写脚本。

2.3 轨迹评估与中间步骤评分

为什么要评估轨迹

Agent 评估的核心挑战:不仅要评估最终答案,还要评估"通往答案的逻辑"。

一个 Agent 给出了正确答案,但可能是靠碰运气、作弊、或走了错误但偶然成功的路径。一个 Agent 答错了最终答案,但它的工具调用序列是完美的,只是最后一步归纳错了。只看最终答案,这两种情况都无法区分。

轨迹(trajectory) 是 Agent 完成任务过程中的完整动作序列:思考 → 工具调用 → 工具返回 → 再思考……评估轨迹,就是评估"过程质量"而非"结果质量"。

Google Cloud 的实践方案

Google Cloud 的实践方案(见 From "Vibe Checks" to Continuous Evaluation,Google Cloud Blog, 2026)通过 ADK 的 POST /run_sse 端点捕获 Agent 的推理轨迹,包括:

  • 工具调用请求与响应
  • 中间事件
  • 每一步的模型输出

捕获的轨迹被用于工具轨迹评估。ADK 支持的评估指标:

指标 评估内容 是否必需
tool_trajectory_avg_score 工具调用序列的精确匹配
response_match_score 最终响应的相似度
自定义函数指标 业务规则(如"必须调用 Wikipedia 工具") 可选

自定义函数指标在安全沙箱中对评估数据集的每一行执行,实现严格定义的业务规则校验。它的价值在于:把"是否走了正确的路"编码成确定性规则,而不是依赖 LLM 判断。

轨迹评估的两种做法

做法一:期望轨迹匹配(Golden Path)。 预先定义"正确"的工具调用序列(expected trajectory),然后把 Agent 实际轨迹与期望轨迹对比,计算精确匹配率(tool_trajectory_avg_score)。优点:确定性、可复现。缺点:Agent 可能用不同但同样正确的路径完成任务,导致误判。ADK 的 golden-path 方法属于这一类。

做法二:轨迹级规则校验。 用自定义函数指标检查"是否满足业务约束"——比如"查询前必须调用权限校验工具""财务类任务必须调用计算器工具"。这类规则不要求精确匹配,只要求满足关键约束,容错性更好。

中间步骤评估的经典案例

一个区分"Agent 编造"与"工具真实返回"的经典场景:Agent 回答"当前 GPU 使用率是 87%"。这句话是否可信,取决于 87% 这个数字来自哪里:

  • 如果 Agent 调用了 nvidia-smi 工具并读取了输出 → 可信
  • 如果 Agent 直接凭记忆/编造 → 不可信

只有捕获了推理轨迹,评估器才能区分这两种情况。 这也是第 8 章"轨迹标注"和第 2.5 节"评估效度"共同关注的问题:评估必须建立在"可验证的过程证据"之上,而不是"看起来合理的结果"。

2.4 评估指标的层次化体系

一套工程可用的 Agent 指标,至少分三个层次:

组件级:单个环节的质量

  • 检索质量:Context Precision(检索到的相关项是否排前)、Context Recall(相关项是否都被检索到)
  • 生成质量:Faithfulness(生成是否基于提供的上下文,抗幻觉)、Answer Relevancy(答案与问题的相关性)

组件级指标的价值:定位问题出在哪一环。RAG Agent 表现差,可能是检索环节(没检索到相关文档)、生成环节(检索到了但答非所问)、或两者都有。分层指标让你不用猜。

轨迹级:整条执行链的质量

  • 工具使用正确率:工具调用是否恰当、参数是否正确
  • 轨迹效率:完成任务用了多少步、多少 token——同样的任务,5 步完成优于 15 步
  • 错误恢复率:首次失败后能否调整策略重试成功

轨迹级指标是 Agent 特有的——单轮问答没有"轨迹"这个概念。

系统级:整体表现

  • 任务完成率:端到端成功率
  • 用户满意度:人类反馈/偏好
  • 安全性:越狱成功率、PII 泄露率、禁止动作触发率

一个工程可用的五维度度量表

Evaluation-First AI Agent Development(本项目博客 2026-08-28)给出一个更贴近生产的五维度体系:

维度 典型指标 为什么要看
正确性 Pass rate、Partial reward、EM/F1 主指标,但不是全部
成本 每任务平均 API cost、每千任务 total cost 上线不能亏
速度 Mean/P95 latency、平均 step 数、token 消耗 用户体验天花板
可靠性 成功率/崩溃率/超时率/幻觉率 稳定性决定能否进生产
安全合规 PII 泄露率、禁止动作触发率、越狱成功率 红线越早测越安全

一个典型的发布决策不是"正确性涨了",而是这种综合判断:

正确性从 76.1 → 78.3(+2.2),但每任务平均 cost 从 $0.14 → $0.38(+170%),P95 latency 从 120s → 210s。所以不接受这次改动,除非同时有成本优化方案。

只看正确性会掩盖成本与延迟的退化——这正是 2.5 节要讲的"评估效度"的实践体现。

分桶分析:让分数可操作

一个分数("我们在 X 上 84.2 分")几乎没有可操作价值。分桶分析才是迭代的燃料:

  • 按难度桶:Easy/Medium/Hard——总分涨了但 Hard 掉了是常见陷阱
  • 按任务类型桶:文件编辑/环境配置/模型训练……
  • 按失败原因桶:工具调用错误/规划失误/Verifier 误判/环境问题/API 超时
  • 按 Prompt 版本桶:v1 vs v2 vs v3 跨版本对比

举一个真实案例(来自 evaluation-first 博客):团队在 Terminal-Bench 上从 62 涨到 65 分,但分桶一看——Medium 任务从 58 → 64(涨 6 分),Hard 任务从 21 → 18(掉 3 分)。做硬任务的同事反馈"感觉最近变差了",而总分掩盖了这个信号。总分涨了,但 hardest 子集跌了。

2.5 评估的效度与可靠性:对"评估"本身的评估

这一层是最容易忽略、却是自己搭 Eval 时最先踩坑的元科学(meta-science)。

测量噪声:单次跑分不可信

Agentic 评估因种子与环境的随机性,pass@k 方差可能极大。同一个 (Agent, Model, Dataset) 组合,多次运行的结果可能差 5-10 分。单次跑分不可信,要报告均值 ± 置信区间。

标准做法:

  • 对同一组合跑 N 次重复(N≥3,一般取 5),报告 Mean ± 95% CI
  • 判断"改动有效"的标准:旧版本最高分 < 新版本最低分(或做 Welch t-test / Mann-Whitney U test,p < 0.05)
  • 小规模改动(±1-2 分、CI 重叠)不要急着合并——大概率是噪声而不是提升

统计显著性:差 2 分不等于真差 2 分

两个 Agent 在一个 100 题的评测集上差 2 分,从统计上看几乎一定是噪声。要估计误差棒,用:

  • 配对比较:同一批用例上对比两个 Agent
  • A-B 测试:分桶对比
  • Bootstrap:重采样估计置信区间

不要直接比排行榜上的两个数字——除非你知道每个数字的置信区间。

Test-retest 稳定性与 flaky 用例

同一评估在同配置下重复运行,是否得到相近结果?如果波动过大,说明评估本身不可靠。flaky 用例(时过时不过的用例)要识别并剔除——它们贡献的是噪声而不是信号。

评估协议标准化

prompt、数据集、grader 都要固定版本,否则比较失去意义。LLM Stats 的做法(prompt、数据集、grader 固定到版本,历史分数不变)是标准范本。回到第 1 章的核心论点:元信息决定可比性。

成本与效率指标:评估不仅要"准",还要"快且便宜"

除正确率外,评估还应纳入:

  • $/task、token/task
  • 延迟-质量帕累托(ARC-AGI-2 的 efficiency-aware 评分即是范例)

把"多快多贵"和"多准"一起看,才能指导生产选型。一个在评测上又快又便宜的方案,即使正确率略低,也可能在 Pareto 前沿上优于"最准但最贵"的方案(详见第 8 章 8.6 选型决策矩阵)。

一个必须记住的陷阱

用 LLM-as-judge 做主 reward,而判官一致性比被测 Agent 还低——分数是假的。

开放式任务用 LLM judge 做主指标有方差风险。安全做法:LLM judge 只用于失败原因分类 / 开放式内容的辅助检查,主 reward 用代码化、确定性的 verifier。(详见第 3 章 LLM-as-a-Judge 与第 8 章评分器策略。)

本章小结

  • 五大评估范式(静态/动态/交互式/人在回路/模型评估)互补,信号质量与工程成本大致正相关
  • 多轮对话评估有两个分类轴:评估什么(任务/响应/体验/记忆/规划)× 如何评估(标注/自动化/混合/自评判)
  • 轨迹评估关注"过程质量"而非"结果质量",用期望轨迹匹配 + 轨迹级规则校验
  • 指标分组件级/轨迹级/系统级三层,工程上配合五维度度量表 + 分桶分析
  • 评估效度与可靠性是"对评估本身的评估":测量噪声、统计显著性、test-retest、协议标准化、成本效率

参考资料

论文与综述

  • Beyond the Leaderboard: A Survey of the Science of Evaluation, Benchmarking, and Methodologies for LLMs(IEEE Access, Vol.14, 2026)— 五范式分类
  • Evaluating LLM-based Agents for Multi-turn Conversations: A Survey(ACM TIST, 2026)— 多轮对话评估双分类系统
  • Evaluation and Benchmarking of LLM Agents: A Survey(KDD 2025 Tutorial)— 二维分类法:评估目标 × 评估过程

官方文档

  • Google ADK Evaluation 文档(adk.dev)— 轨迹评估、golden path、POST /run_sse
  • From "Vibe Checks" to Continuous Evaluation(Google Cloud Blog, 2026)— 推理轨迹捕获、运行时 Schema 集成
  • Implement LLM-as-Judge Evaluation for Multi-Agent Systems(Microsoft Learn)

博客与文章

  • 基于 Evaluation 的 AI Agent 开发实践全景指南(本项目博客 2026-08-28)— 五维度度量表、分桶分析、统计显著性的数据来源