评测目标与基本单元

本节目标

从产品决策反推可检验的声明,并用统一术语描述一次评测。

直觉解释

评测像验收合同:先写“准备据此决定什么”,再决定测哪些 case、检查什么结果。若先跑一个流行分数再补故事,分数很可能与产品决策错位。

先写“评测为了决定什么”

“评测聊天机器人”过于宽泛。一个可操作声明应写成:

在中文订单查询的目标用户与给定工具权限下,候选版本相对当前版本不降低正确订单查询率,且不得越权执行退款;证据来自冻结离线集、独立重复试验和灰度在线监控。

这句话限定了任务、用户/条件、候选与基线、关键收益、不可接受风险和证据来源。分数只是支持声明的证据,不是声明本身。

基本单元

flowchart LR
    S["suite:围绕发布声明"] --> T["task:输入 + 初始环境 + 成功条件"]
    T --> R1["trial 1"]
    T --> R2["trial 2…n"]
    H["harness:模型 / prompt / tools / 预算 / 沙箱"] --> R1
    H --> R2
    R1 --> X1["trace:动作与中间证据"]
    R1 --> O1["outcome:最终环境状态"]
    X1 --> G["grader:assertions / rubric"]
    O1 --> G
    R2 --> G
    G --> D["聚合 + 切片 + 区间 + gate"]
    D --> P["发布、暂停或拒绝"]

图 1 Agent 评测对象关系。文字替代:suite 包含 tasks,每个 task 在固定 harness 下运行多次 trial;trial 同时产生 trace 和真实 outcome,grader 对其断言,聚合后按切片、区间和风险 gate 支持发布决策。图依据本节术语、NIST AI RMF 的 Map/Measure 边界和课程所引第一方评测资料整理;Mermaid 源码即再生成方式。

单元含义订单 Agent 示例
task / case输入、环境和成功条件用户询问订单状态
trial对一个 task 的一次独立尝试同一配置第 2 次运行
assertion可判断的单个条件查询工具参数等于订单号
grader执行一组评分逻辑Python 状态检查器
trace / transcript中间调用与消息记录工具选择、参数、结果
outcome任务结束后的真实状态无退款、返回正确物流
harness提示、工具、预算和运行环境Agent 循环及沙箱
suite围绕目标组织的一组 tasks查询、取消、退款、升级

Agent 说“退款成功”不等于 outcome 中真的产生了退款记录。对有副作用的任务,优先检查环境状态。

成功标准的三层

  1. 任务质量:正确、相关、完整、格式合规。
  2. 风险门槛:泄露、越权、危险动作等关键失败常用“一票否决”。
  3. 运行约束:时延、调用次数、成本、失败恢复和资源使用。

不要把三层简单平均。例如 99 分回答质量不能抵消一次真实越权。先定义关键 gate,再汇总可权衡指标。

系统边界与 harness

评测“模型”与评测“应用”不是同一件事。提示、检索、工具、记忆、重试次数、超时和上下文整理都会影响结果。报告中应记录被测系统完整配置与预算;若候选使用更多工具或尝试次数,比较也要说明。

把声明写成评测契约

一个可执行契约至少冻结:

  • claim:要支持的声明与发布决策;
  • system_under_test:模型、Prompt、检索、工具、策略和harness版本;
  • population:用户、任务、环境、语言与排除条件;
  • dataset:split、版本、来源、覆盖和样本单位;
  • graders:断言、rubric、人工/模型校准与未知值处理;
  • gates:关键风险优先级、总体/切片门、成本与延迟边界;
  • reporting:样本量、区间、失败证据、批准人和有效期。

契约在查看候选结果前冻结,变更时产生新版本并说明为什么。否则为了让候选通过而临时改阈值,会把测量变成追分。

本库的评测契约面向具体产品决策;Benchmark设计进一步固定跨系统长期比较协议;运行监控观察部署后的真实遥测和SLO。三者可以共享用例和信号,但回答的问题不同。

常见错误与排查

  • 目标只有“回答更好”:补充用户、环境、基线、成功与风险条件。
  • 把回答文本当 outcome:对有副作用任务检查数据库、文件或沙箱最终状态。
  • 不记录 harness:模型不变但工具、重试和上下文变化也会改变结果。

练习

  1. 把“RAG 回答得好”改写成带用户、数据范围、正确性、引用和风险门槛的声明。
  2. 对“创建日历事件”分别写一个 trace assertion 和 outcome assertion。

自测

为什么一次 trial 不能代表随机系统的稳定表现?同一输入可能因采样、工具或环境波动产生不同结果。

小结与下一步

进入 用例数据集与分层。

参考资料