裁判模型被悄悄升级的评估框架
就在你发布提示词(prompt)更改的同一周,所有评估类别的得分都提升了 6 个百分点。团队成员将其视为改动奏效的证明。三周后,有人注意到这种提升也出现在了提示词更改绝不可能触及的类别中——这是一个你专门用来检测此类情况的对照组——而且这种提升是均匀分布的,而真正的产品改进绝不会呈现出这种形态。评审模型在某个周二以相同的终端节点(endpoint)名称发布了。在你的系统变动之前,你的分数就已经变了。
这种失效模式对“大模型作为评审员”(LLM-as-a-judge)评估流水线的破坏,比文献中警告过的任何失效模式都要更隐蔽。不是偏见,不是位置效应,也不是自我偏好——这些是评审员在特定时间点的属性,你的评估设计可能已经考虑到了这些因素。真正让你栽跟头的是评审员在你没注意的时候发生了变化,而你的终端节点名称、评估代码和仪表板都在声称一切如常。测量单位在一个稳定的标签下发生了偏移。跨越迁移边界的每一次比较现在都被混淆了,你无法将差值分解为“我们的系统改进了”和“尺子的标准变宽松了”,因为你从未构建过能进行这种分解的工具。
评审员是测量仪器,而非库调用
工程领域中的所有其他测量工具都被视为具有作为“合同”的校准,而非取决于“感觉”的属性。扭矩扳手有一份带有日期的校准证书。pH 计会定期根据缓冲溶液进行重新锚定。A/B 测试框架会对其方差估计器进行版本化,并在没有迁移说明的情况下拒绝比较在不同版本下运行的实验。你评估流水线中的评审模型默认情况下不做任何这些工作,而且它提供的 API 界面会主动鼓励你忘记校准的存在。
评审员产生一个数字。该数字被报告给利益相关者。利益相关者对待这个数字就像对待测试通过率一样——认为其含义随时间推移保持稳定。但事实并非如此。评审员是一种测量仪器,其校准是从供应商那里“租来”的,供应商可以单方面更改条款,而你与该供应商签订的合同几乎肯定不包括“当我们更改评审员的评分方式时,我们会告知你”。质量改进是供应商发布的一个功能。但你并不希望这个功能在季度中期发布到你衡量系统是否改进的唯一持久记录中。
值得采用的思维模型是:评审员不是你评估逻辑的一部分,而是你评估 基础设施 的一部分。在任何其他情境下,你都已经知道如何处理未经通知就发生变化的基础设施这类风险。你需要对其进行版本化,对其进行锁定(pin),并将对其进行的任何更改视为一次具有明确前后测量对比的迁移,而不是你应该静默继承的透明升级。
