第 5 章:先证明评分器不会轻易被骗
评测系统至少有两个会出错的对象:候选应用与评分器。评分器漏掉引用问题,可能使更差的系统被判为更好;评分器过于依赖固定措辞,又可能把合理表达判错。增加评分次数不能修复一个系统性的判断偏差。
5.1 用反例描述评分合同
校准集应包含正常、边界、恶意或误导性样本,并为每个样本写出参考判断和理由。参考标签不应该只是从当前评分器的输出复制而来,否则校准会变成自我验证。
随书 calibration() 构造六个可机械检查的反例,真正调用两种评分规则。简陋规则只看文件回复里是否包含 done,或答案文本是否含正确数值;合同规则结合产物、引用和最低表达要求。它们不是对真实模型裁判的测量,也不是人类评审一致性研究。
其中两个关键反例是“说完成、文件未改”与“数值正确、引用错误”。程序保存实际判定、参考判定与详细分项,因此可以逐例解释误判来源,而不是只展示一个漂亮的准确率。
5.2 混淆矩阵需要说清正类
本书把“应通过”的输出定义为正类。TP 是正确放行,FP 是错误放行,TN 是正确拒绝,FN 是错误拒绝。定义正类之后,才有意义讨论误报与漏报,不能把中文名称混着使用。
本版实跑结果如下:
| 评分规则 | TP | FP | TN | FN |
|---|---|---|---|---|
| 简陋文字/数值匹配 | 2 | 2 | 2 | 0 |
| 产物与引用合同 | 2 | 0 | 4 | 0 |
简陋规则在四个应拒绝反例中放过两个,假阳性率为 2/(2+2)=0.5。合同规则在这六例里没有错误,不表示它在真实任务中完美。反例就是为特定缺陷构造的,样本很少,也不是随机抽样总体。
5.3 评分器变化也需要回归
修改评分器可能改变所有历史分数。应保存旧评分器、原始产物和新旧判定差异,检查变化来自修正错误、扩大适用范围还是引入新的偏差。不能把评分器更宽松造成的分数上升,当作候选能力提升。
一个实用顺序是先固定候选产物,只换评分器;校准完成后,再用同一版评分器比较候选。若必须同时修改,应把两条变化分别报告,否则归因不可辨认。
5.4 模型裁判另有风险
真实模型裁判可能受答案长度、顺序、措辞、自信程度或受测文本中的指令影响。它的版本、提示、输入顺序和重复次数都应进入记录。对能用文件和结构化条件检查的任务,优先保留这些独立证据;裁判适合补充它们难以覆盖的表达或专业判断。
Inspect 文档区分文本匹配、自定义规则和模型评分,并把聚合指标作为评分器职责的一部分。[S2] 它提供了组织接口的参考,但不会替你证明某个裁判适合自己的业务。
练习。 为当前评分器增加三个它应当拒绝的输出,以及两个措辞不同但应通过的输出。让同一批固定产物分别经过旧、新评分器,逐例解释每个变化。不要只挑选有利于新评分器的反例。