确定性断言、指标与评分规则
本节目标
为客观条件写确定性 grader,为主观质量写清晰 rubric,并避免总分掩盖关键失败。
直觉解释
先让程序检查“能确定的事实”,再让人或模型判断“需要解释的质量”。若把所有问题交给一个主观 judge,成本、波动和定位难度都会上升。
优先检查可确定的事实
可用代码稳定判断的条件包括:JSON 是否能解析、必填字段是否存在、工具名/参数是否正确、数据库状态是否改变、引用 URL 是否来自允许集合、输出是否超过限制、敏感字符串是否出现。确定性检查便宜、可复现、易定位,应该先于模型 grader。
不要过度追求逐字 exact match。金额 96.12 与 96.120、合法但不同的 JSON 键顺序、多个正确解法都需要规范化或语义合适的 assertion。
评分方法的适用边界
| 方法 | 适合 | 主要边界 |
|---|---|---|
| 确定性代码/测试 | schema、工具参数、状态、权限、数值约束 | 可能把合法变体写死 |
| 规则与启发式 | 格式、长度、关键词、已知风险模式 | 易被绕过,代理信号不等于目标 |
| 人工评审 | 领域正确性、真实效用、高风险仲裁 | 慢、贵、会分歧和疲劳 |
| 模型grader | 有清晰rubric的大规模分类/成对比较 | 非确定、会偏差,需人工校准 |
| Trace评分 | 工具选择、参数、循环、证据使用与策略遵循 | Trace缺失/采样会限制结论,不能代替outcome |
优先选择最接近真实成功条件、最可复现且足够便宜的方法,必要时组合。Trace评分解释过程,环境状态验证结果;二者不应互相替代。
常用指标的最小直觉
二分类中:
其中TP/FP/TN/FN分别是真阳性、假阳性、真阴性、假阴性,四格合起来是混淆矩阵。F1是precision与recall的调和平均:
误报昂贵时关注precision,漏报昂贵时关注recall;F1不会自动表达两者不同的业务代价。准确率在类别极不平衡时可能虚高。分母为零时指标应报告未定义,而不是悄悄填0或1。
连续量要区分均值与分布。平均时延会被极慢值拉动,却可能掩盖尾部用户;p95表示约95%的观测不超过该值,不是“最慢5%的平均值”。均值、p50/p95、样本数和异常值规则应一起报告。生成任务的字符串相似度可以辅助回归,但不能单独证明事实正确或用户有用。
Rubric 写法
把“回答质量 1~5”拆成独立维度并给锚点:
| 维度 | 0 | 1 | 2 |
|---|---|---|---|
| 事实依据 | 与证据冲突 | 部分有据、关键项缺失 | 所有关键结论有据 |
| 完成度 | 未回答 | 完成部分目标 | 完成全部显式目标 |
| 风险 | 发生禁用动作 | 有不确定风险 | 无禁用动作且边界说明清楚 |
让 grader 返回每维分数、证据和 Unknown,而不是只给总体感觉。
聚合与门禁
先定义关键断言:越权、泄密、破坏性错误只要一个失败,该 trial 就失败。其余维度可按业务成本加权或给部分分,但权重必须在看候选结果前冻结。报告既给总分,也给每项分布、失败案例和样本数。
一个合理结构:
pass = critical_assertions_all_pass
quality = 0.5 * correctness + 0.3 * completeness + 0.2 * style
ship = pass AND quality >= frozen_threshold防止 scorer 被“钻空子”
若只检查输出包含“已完成”,Agent 会在未操作环境时也得分;若只奖励短时延,它可能跳过必要检查。grader 应检查真正 outcome,并用对抗 case 尝试绕过规则。Anthropic 官方指南特别强调 grader bugs、模糊任务和 reward hacking 会让分数失真。
截至2026-07-14,OpenAI官方Graders页面仍列出string check、text similarity、score model与Python execution等类型,但该页同时明确grader随Evals/fine-tuning工作流进入弃用过渡;Evals dashboard/API计划于2026-11-30关闭。本节只借这些类别理解方法,不把其JSON配置当作应新建的生产入口。
常见错误与排查
- exact match 拒绝等价答案:先做类型化解析和规范化。
- rubric 只有“差/中/好”:给每档可观察锚点和反例。
- 风险与风格取平均:把不可接受风险设为 gate。
练习
- 给“创建工单”写 3 个确定性 assertion:字段、目标项目、最终存在状态。
- 把“回答专业”拆成三个可观察维度与锚点。
自测
什么时候不应把指标平均?当某风险是硬门槛或量纲/业务损失不可互换。
小结与下一步
进入 人工评审与模型评审。
参考资料
- OpenAI Evaluation best practices: evaluator types(核对于2026-07-14)
- OpenAI Graders(核对于2026-07-14;页面明确处于弃用过渡)
- OpenAI API Deprecations(核对于2026-07-14;Evals退役时间线)
- Anthropic: Design graders thoughtfully(发布于2026-01-09;核对于2026-07-14)
- NIST/SEMATECH: Confidence intervals(核对于2026-07-14)