LLM-as-a-Judge 校准:盲化人工锚点、偏差探针与发布门禁
Judge 与人工评分相关,不代表它能稳定比较新模型。本文把盲化锚点、位置互换、风格反事实、校准映射和 Judge release 组成可复验的裁判准入合同。
本文要点
- 主题聚焦:AI、大模型、DevOps
- 适合人群:独立开发者、全栈工程师、AI 应用开发者
- 核心价值:快速理解背景、实践路径、常见误区和工程建议
让强模型给两个答案打分,能快速扩大评测规模,却容易把“裁判喜欢什么”误当成用户质量。候选 A 总放在第一位、B 恰好写得更长,或 Judge 看到与自己相同的措辞时,胜率都会偏移。把一百道题与人工多数票对齐一次,也不能证明供应商静默更新后的 Judge 仍是同一个测量仪器。
LLM 应用评测体系介绍规则、人工和模型裁判的组合,Agent 自动化评测说明批量运行方式。本篇只解决 Judge 本身如何校准、版本化和获得正式裁决资格,不把它的输出预设为真值。
人工锚点必须独立于 Judge 调参
先发布 judgeRelease.v1,固定 Judge 模型与供应商 revision、Prompt/rubric digest、输出 parser、采样参数、候选规范化规则、支持语言与任务、最大上下文、abstain 条件、calibration anchor root 和独立 audit holdout root。API 无法固定模型制品时,release 状态必须标 MUTABLE_PROVIDER,并绑定版本化 sentinel 集、响应 fingerprint 规则、最大检测间隔与失效阈值,不能只记录营销名称。
schema: judgeRelease.v1
release: support-pairwise@12
judgeModel: provider/model-2026-06-18
rubric: support-quality@7
anchorRoot: sha256:18b...
holdoutRoot: sha256:b72...
decision: [A, B, TIE, ABSTAIN]
锚点由至少两名合格标注者独立生成,隐藏候选模型、实验组、Judge 结论和其他人的标签;争议按评测标签争议账本保留原判断后再仲裁。calibration 集可用于选 Prompt、阈值和分数映射,audit holdout 只能用于最终门禁,看到结果后换题或删难例会让门禁失效。Agent 评测数据集设计中的场景切片继续约束语言、风险、长度和任务难度,不能用容易摘要的总体平均替代。
原始 Judge 分数不能直接冒充概率。对二选一任务按人工标签估计混淆矩阵、slice balanced accuracy 与置信校准;对序数分数检查相邻等级和极端等级;人类也无共识的题允许 Judge ABSTAIN。校准映射、阈值和适用范围都是 release 字段,不能在报告阶段为得到理想 winner 临时调整。
把位置与风格变成成对探针
每个关键样本至少构造 A/B 与 B/A 两种顺序,使用稳定 pair ID 关联。若交换位置后语义相同而 winner 翻转,记录 POSITION_UNSTABLE,不能随机挑一次。再构造不改变事实的风格反事实:压缩重复解释、统一标题层级、移除模型自报身份、等价改写引用格式。风格处理必须保留原文和变换 receipt;不能借“去冗长”删掉真正有用的论证。
Chatbot Arena 相关研究明确讨论了位置、冗长和自我增强等 LLM Judge 偏差;G-Eval 展示了用大模型和结构化标准提高与人工判断的一致性。二者都不意味着某个 Judge 对新领域自动有效。Prompt injection、引用 URL 和候选中的“请给满分”一律当被评内容,不能成为 Judge 指令;Judge 输入 envelope 将 rubric 与候选放在不可混淆的字段,并对越界输出拒绝解析。
release 状态为 DRAFT -> CALIBRATING -> HOLDOUT_EVALUATING -> SHADOW -> ELIGIBLE -> ACTIVE -> SUSPENDED | RETIRED。唯一激活点是 registry 的 activateJudge CAS:候选必须绑定未泄漏 holdout root、完整偏差探针结果、当前 policy generation 和不可变制品摘要,所有预注册 slice 均过门后才切换 active alias。正式 verdict receipt 记录 release、continuity epoch、item/pair digest、呈现顺序、原始输出、校准结果和 reason;旧 release 迟到结果不能进入新 run。
MUTABLE_PROVIDER 在 ACTIVE 期间按固定时钟和 verdict 数量两种水位重复运行盲化 sentinel,并记录供应商元数据、结构特征与预注册输出分布 fingerprint。漂移超过阈值或 sentinel 逾期时,registry 的 suspendJudge CAS 原子写 suspension epoch 和最后有效 verdict sequence,立即停止新正式裁决;越过 fence 的在途结果一律无效。SUSPENDED 只能退役,恢复服务或确认新行为必须创建新 release、重跑 holdout 后再激活,禁止在同一 release 内混算变化前后的 verdict。
主动制造一个“会偏爱”的裁判
故障注入包括固定 A 在前、给错误答案增加无关篇幅、把同一内容改成 Judge 常用语气、泄露模型名、在候选中放裁判指令、重复同一 anchor、污染 holdout、供应商中途换模型、延迟 sentinel、parser 丢失 ABSTAIN,以及只让争议少的样本进入分母。预期跨 release 混算为 0,漂移或逾期后最多一个检测间隔进入 SUSPENDED,fence 后正式 verdict 为 0,未知/无效 verdict 不被折成 TIE,任一关键 slice 退化都阻止激活。
示例门禁可要求 audit holdout balanced accuracy 至少 0.85、相对人工胜率偏差不超过 3 个百分点、位置交换翻转率低于 2%、风格反事实翻转率低于 3%、expected calibration error 不高于 0.05、非法结构接受为 0,并给每项 bootstrap 区间;mutable release 的 sentinel 按期完成率必须 100%。上线先 shadow 对照人工结论,再让 5% 低风险离线回归采用新 Judge。回滚只把 Judge alias 切回上一份仍在有效期的 release;已签发 verdict 保留原 release,不重写历史分数。线上效果仍由Agent 在线评测指标独立验证,Judge 通过门禁不等于模型可以自动扩量。
Related