Skip to main content
    dev2026/07/07·15 min read

    Agent 评测体系:从零搭建的执行手册

    把「不稳定的智能行为」持续收敛成「可发布的工程质量」——这是一份可以直接落地的 Agent 评测执行手册,覆盖指标体系、数据集建设、评分策略、Badcase 根因分析到全链路闭环。

    Nicole Chen

    Nicole Chen

    2026/07/07

    Agent 评测体系:从零搭建的执行手册

    > 本文基于阿里技术《Agent 评测:方法论与体系设计》整理,提炼核心方法论,转化为可直接执行的操作手册。

    核心前提:为什么评测必须体系化

    Agent 的本质问题是三道门槛:非确定性(同样输入不保证同样输出)、黑盒化(内部决策不透明)、错误级联放大(前一步小偏差会在后续放大)。

    所以"跑几条 case 感觉还行"远远不够。你需要一套持续运转的评测体系,而不是上线前的人工抽查。

    评测平台的核心价值:把问题稳定转化为可执行修复,形成持续迭代闭环

    ---

    STEP 1:先分类型,再定指标

    不要用一套万能指标评所有 Agent——这是最常见的失败起点。

    Agent 类型映射

    | Agent 类型 | 核心评测侧重 | |------------|------------| | 对话型(客服/营销/导购) | 会话解决率、多轮上下文一致性、情绪识别 | | 任务执行型(代码/数据处理) | 任务完成率、工具调用正确率、结果可验证性 | | 推理决策型 | 推理链完整性、结论可靠性、不确定性识别 | | 多 Agent 协作型 | 子任务分配准确性、结果一致性、异常传播 |

    对话 Agent 的特殊难点

    对话评测不要只平均每轮分数。每轮都"答得还行",但最终没解决用户问题,仍然是失败。

    • 正确做法:同时看四个层次:
    • Turn:单轮问答质量
    • Session:整段会话是否解决了问题
    • Trace:执行轨迹是否符合预期路径
    • Outcome:最终业务结果(退款成功了吗?问题解决了吗?)

    ---

    STEP 2:搭建指标体系

    五大维度 × 三级优先级

    • P0(上线门禁,不达标不能发)
    • 安全合规:禁用动作触发率为 0
    • 关键工具调用:核心业务工具调用准确率 ≥ 阈值
    • 严重错误率:过度承诺、事实性错误 < 阈值
    • P1(版本比较 & 工程优化)
    • 任务完成率
    • 意图识别准确率
    • 工具参数正确率
    • 多轮上下文保持率
    • P2(体验改善 & 长期观察)
    • 回复流畅度
    • 用户满意度代理指标(转人工率、重复追问率)
    • 响应延迟

    一致性指标:生产系统最关心这个

    同一任务需要跑多次,观察两类结果:

    • 至少一次成功率:N 次中有一次成功 → 反映能力上限
    • 连续成功率:N 次全部成功 → 反映稳定性,是生产系统真正需要的

    > 用户不会接受"多试几次总有一次成功"。

    版本对比的统计严谨性

    • 版本 A → 版本 B,分数有变化,不代表真的变了。必须配套:
    • 关键指标的置信区间
    • 与基线的显著性检验(是真实提升还是随机波动?)
    • 最小可感知变化阈值(提前定义"多少变化才值得发布")

    ---

    STEP 3:建设评测数据集

    核心原则:评测集不是线上数据的随机抽样,而是围绕高风险路径设计的质量资产。

    随机采样的问题:正常流程占大多数,边缘场景太少,报告"看起来不错"但关键问题被漏掉。

    数据集的四类来源

    | 来源 | 作用 | 优先级 | |------|------|--------| | 专家设计用例 | 定标准、覆盖高风险边界 | 最高,先做 50-200 条 Golden Set | | 扩展用例 | 扩覆盖,同场景不同表达 | 用规则定结构字段,LLM 生成自然语言变体 | | 线上真实数据 | 覆盖真实分布 | 定期回流,注意幸存者偏差 | | Badcase 回流 | 覆盖已知失败模式 | 持续补充 |

    针对 Skill 的用例设计框架

    • 按四类组织:
    • 触发:该不该触发这个 Skill?
    • 核心逻辑:触发后流程走对了吗?(通常用例最多,覆盖主要分支)
    • 产物质量:最终产出好不好?
    • 异常容错:输入异常、工具失败时能稳住吗?

    样本治理

    • 回归集不能无限膨胀:
    • 同簇样本保留代表例
    • P0/P1 风险长期保留
    • 稳定多版本通过且风险低的降级为抽样集

    ---

    STEP 4:评分策略

    三层评分优先级

    • 层级 1:规则 Scorer(最高优先级)
    • 看"硬条件是否满足":工具是否调用、状态是否正确、禁用动作是否触发
    • 能写成代码的项,都由规则主判
    • 层级 2:LLM-as-Judge
    • 看"语义/策略是否合理":解释质量、策略妥当性
    • 好的 Judge 需要:明确评分标准(每档可执行)、输出 reason、few-shot 示例含边界样本、周期性校准(与人工一致率达 ~85%)
    • 偏差治理:评测模型和生成模型是同系列时,可能有自我偏好。引入多个不同 LLM 对抗打分
    • 层级 3:人工评分(兜底)
    • 不适合日常全量打分
    • 适合:新建评测集时定口径、校准 Judge、处理争议样本、高风险场景定期抽查

    人工评分路由

    • 以下情况自动路由到人工
    • Judge 分数在通过/不通过边界附近、置信度低
    • 新模型/新 Prompt/新工具 Schema 上线的抽样观察期
    • 规则与 Judge 结论冲突

    分层筛查流程

    粗筛层(规则 Scorer)→ 快速分流明显通过/失败/存疑
        ↓
    精判层(完整规则 + LLM Judge)→ 确认 badcase,输出问题分类/现象/置信度/判定依据
        ↓
    人工复核层 → 高风险、低置信、冲突样本终判

    评分输出标准

    • 不要只输出 pass/fail,还要输出:
    • 问题分类(现象层:事实性错误、答非所问、过度承诺)
    • 问题现象(具体描述)
    • 置信度
    • 判定依据

    这是第 5 步 Badcase 根因分析的输入——基于"现象入口"收敛候选模块,而不是无差别排查所有模块。

    ---

    STEP 5:Badcase 根因分析(RCA)

    目标:把错例稳定追到责任模块和可修复原因。

    Badcase 来源不只是离线评测集,还有:线上会话、人工质检、投诉工单、低满意度样本、版本回归失败、监控告警。两条入口最终汇入同一个 badcase 任务表和同一套 RCA Pipeline。

    五步 RCA 流程

    第一步:证据汇总

    • 按 sessionId / traceId 找到链路日志,汇总:
    • 用户输入、Agent 回复
    • 各模块的输入/输出、prompt
    • 工具调用记录(入参、返回值、耗时、错误)
    • 异常信息和中间产物

    第二步:范围收敛

    维护"问题现象 × 功能模块"映射表,避免无差别分析:

    | 问题现象 | 优先排查模块 | |---------|------------| | 答非所问 | 意图识别、Query 改写、知识筛选 | | 过度承诺 | 风险拦截、回复生成 | | 事实性错误 | FAQ 检索、知识检索、回复生成 | | 工具参数错误 | Slot 抽取、工具 Schema 理解 | | 多轮上下文丢失 | 上下文管理、记忆模块 |

    映射命中走确定性路径,未命中再让 LLM 兜底缩圈。

    第三步:分模块诊断

    • 对候选模块逐个读 input/output/prompt/工具返回,输出:
    • 问题摘要
    • 关键证据
    • 改进建议
    • 模块判定:PASS / SOFT_PASS / FAIL

    第四步:责任判定

    • 三层策略(不完全交给 LLM):
    • 严重模块结论直接定责
    • 规则引擎匹配确定性模式
    • LLM 汇总复杂链路的责任传递关系

    输出:责任模块、问题分类(面向报告的大类)、问题枚举(细粒度失败类型)、修复建议。

    第五步:结构化落盘

    结构化写入任务记录,至少包括:问题分类、问题现象、问题枚举、责任层、责任模块、置信度、详细报告、修复建议。

    支持 Badcase 聚类——报告不是列 100 条,而是:"退款已发货场景中,Agent 23 次跳过订单状态校验,主要集中在 v1.8 Prompt"。

    RCA 落地的执行顺序

    1. 规则定位硬错误(工具未调用、参数缺失、工具报错未重试)
    2. Trace Scorer 定位过程偏差(计划与目标不一致、工具返回被误读)
    3. 映射表缩小候选范围
    4. LLM 辅助语义归类和聚类(避免同类问题被拆成多个零散标签)
    5. 高风险/低置信/冲突样本进入人工复核,人工结论反向校准规则和 Judge

    ---

    STEP 6:产出结构化优化建议

    原则:建议要落到明确 owner、修复动作和回归验证,而不是"优化 Prompt""提升准确率"这类泛化表述。

    标准行动项格式

    • 每条优化建议至少包含:
    • 失败范围:哪些用例、哪个场景
    • 证据:支撑判断的关键 Trace/数据
    • 具体动作:Prompt 修改?训练数据补充?工具调用逻辑调整?业务口径定义?
    • Owner:运营可配置 / 算法需优化 / 工程需修复 / 业务需定口径
    • 验收方式:回归用例通过率、人工确认
    • 优先级:P0/P1/P2

    四个优化等级

    | 等级 | 触发条件 | 典型动作 | |------|---------|---------| | 紧急修复 | P0 风险触发,生产级问题 | 立即回滚或热修复 | | 迭代优化 | P1 问题,影响版本质量 | 当期 sprint 修复 | | 体验改善 | P2 问题,长尾场景 | 纳入下期迭代 | | 能力边界 | 当前模型能力上限 | 标记,等待模型升级后重评 |

    ---

    STEP 7:全链路闭环

    离线 → 线上联动

    离线通过 ≠ 线上一定变好。

    • 发布阶段跟踪三类信号:
    • 离线质量信号:核心场景通过率、P0 风险数、关键工具参数正确率
    • 线上体验信号:转人工率、重复追问率、投诉率、满意度
    • 业务结果信号:任务完成率、工单闭环率

    > 如果离线提升但线上关键信号恶化——触发回滚或降级!

    Badcase → 研发资产

    • 每条 Badcase 至少生产三类反馈:
    • 回归用例:入库评测集,防止同类问题复发
    • 训练数据:正负样本对,用于模型微调
    • 配置/规则更新:Prompt 修改、业务规则补充、工具 Schema 调整

    反馈入库标准(避免回归集无限膨胀)

    • 满足以下条件再入库:
    • 失败可复现,或有稳定 Trace + 人工确认
    • 期望行为明确,可以写成规则或 Judge 标准
    • 根因标签清楚,能归到具体能力域
    • 样本有代表性(覆盖一类问题,不是一次性抖动)
    • 已完成脱敏

    评测平台最终沉淀的质量资产库

    • 用例库
    • Trace 库
    • 根因标签库
    • 修复建议库
    • Judge 校准集
    • 回归集

    质量资产越厚,Agent 迭代越不需要靠个人经验和临时救火。

    ---

    快速检查清单

    上线前自查:

    • [ ] 已区分 Agent 类型,针对性定义指标?
    • [ ] Golden Set 覆盖了核心业务路径和高风险边界?
    • [ ] P0 门禁指标已定义且有明确阈值?
    • [ ] 连续成功率 > 至少一次成功率 → 稳定性是否达标?
    • [ ] 版本对比做了统计检验,不只看单点分数?
    • [ ] LLM Judge 校准过,与人工一致率 ~85%?
    • [ ] Badcase 有结构化落盘,有明确 owner 和修复建议?
    • [ ] 离线门禁和线上灰度联动,设置了回滚触发条件?
    #Agent#AI评测#LLM#工程质量#方法论
    Agent 评测体系:从零搭建的执行手册 | Nicole Chen