离线评测门与回归集

本节目标

将“看几个样例感觉不错”变成版本化、可重复且可解释的发布评测门,并理解自动评分、人工评审和统计波动的边界。

评测对象是整个应用

只对模型发送一段孤立Prompt,无法发现检索错文档、工具schema不兼容、上下文截断或重试循环。发布评测应按发布manifest运行尽可能接近真实的端到端路径,同时为各子系统保留更快的局部测试。

回归集从哪里来

回归集应包含:

  • 典型任务和真实交互分布的受控样本;
  • 历史事故、用户投诉和人工修正的脱敏样本;
  • 边界输入:空值、超长内容、多语言、噪声和不完整上下文;
  • 高风险切片:权限、隐私、工具副作用、不能猜测的答案;
  • 对抗和滞用案例,但与真实威胁模型对齐;
  • 预期正确拒绝的样本,避免只测“应回答”。

生产日志是样本线索,不是可随意复制的训练集。必须考虑合法性、许可、个人信息、去重、标注偏差和训练/评测泄漏。线上异常先形成受控、内容最小化的人工分诊候选;只有完成脱敏、复现和接纳审查后,才可进入下一版回归集,不能由告警或Dashboard自动写回。

分层评分

层级例子优势不能证明什么
确定性检查JSON schema、引用ID存在、禁止工具未调用快、可重现答案是否有用
任务函数分类正确率、数值容差、检索Recall直接对齐可验证结果开放问答的全部质量
模型评分器按rubric比较有据性或文风可扩展到开放输出评分器无偏、不受输入攻击
人工评审双盲成对比较、专家风险审查可校准真实价值标注者已一致、没有系统性偏差
线上证据任务完成、撤销、人工接管接近真实闭环观察到的变化由 release 单独造成

发布门应优先使用确定性检查,将模型评分器限定在清晰rubric上,并定期与人类判断校准。评分器的Prompt、模型、参数和rubric也是必须版本化的代码。

线上结果常同时受到流量组成、季节性、上游数据、供应商状态和观测覆盖变化影响;若要把差异解释为某个 release 的因果效果,需预先设计同期对照、稳定分配或其他与问题相称的实验,而不是只比较发布前后两条曲线。这个边界在 模型监控、漂移与反馈 中以发布观察窗口展开。

从分数到发布门

一个门不应只输出0.83,而应包含:

  1. 待发布与基线manifest;
  2. 回归集和评分器版本;
  3. 整体与关键切片结果;
  4. 多次运行或置信区间(如果输出有随机性);
  5. 样本级差异与失败类型;
  6. 质量、安全、延迟和成本策略版本;
  7. PASS/BLOCK和每条理由。

门槛是本项目的风险决策,不是教程能提供的通用数值。样本少时,微小差异可能只是噪声;另一方面,高损失安全失败可能一个就足以阻断。

避免污染回归集

团队反复查看固定评测集并针对其调Prompt,会对评测集过拟合。可将样本分为开发集、可见回归集和限制访问的最终集;持续从新错误和新分布补充样本,同时保留集合版本与数据来源。

常见误区

  • 只测最终文字:没测检索证据、工具参数和副作用。
  • 将评分模型当真值:需要人工校准、一致性测量和对抗测试。
  • 为快速通过而不断改阈值:策略变更必须评审和版本化。
  • 只报总分:重要切片退化会被平均值掩盖。

当前产品提醒

截至 2026-07-21,OpenAI 官方文档明确标注旧 Evals 平台处于弃用迁移期,计划于 2026-10-31 变为只读、2026-11-30 关闭,Graders 的相关工作流也在弃用。具体日期必须在实施时重新核对官方弃用页。本节采用的是评测目标、数据集、rubric、人工校准和持续回归等通用方法,不要求绑定该旧产品接口。

练习与自测

为“工单分类并调用查询工具”设计至少12个回归样本类型(不需写敏感真实数据),分别为类别、工具参数、拒绝、延迟和成本选择评分器。然后回答:

  1. 为什么“答案很像对的”不是发布证据?
  2. 为什么评分器版本变了,就不能直接比较两次总分?
  3. 哪些失败应当零容忍,哪些需要用统计波动解释?这个选择由谁决定?

小结与下一步

评测门降低将已知失败发布出去的概率,但不能复制全部线上条件。通过后仍需 Canary、回滚与变更管理 来限制未知风险;跨离线、发布与线上分诊的证据边界见 离线到线上证据交接与回归闭环。

参考资料