当评审在 A 与 B 之间始终偏袒自己
你对两个 prompt 变体跑了一次 A/B 实验。你的 LLM 评审——因为图省事,默认就用了和候选模型同一家厂商的模型——一致地偏好变体 A,差距大到足以被称为统计显著。你上线了 A。一周后,满意度指标下降了,退款队列上升了,没人能解释原因。终于有人用另一个模型家族的评审重新跑了一遍评测,偏好翻转了。
评审根本不是在衡量质量,评审只是在衡量候选模型听起来有多像评审自己。
这就是自我偏好偏差(self-preference bias),它是把 LLM-as-judge 流水线变成镜子大厅的那种安静方法论缺陷。最早在 GPT-4 上量化这一现象的论文发现,模型对自身输出的胜率虚高约 10%,并把偏差追溯到困惑度(perplexity):评审会系统性地奖励自己认为更可能的文本,而不管用户是否觉得它正确。从业者反复吃亏后才学到的推论是:这个偏差并不要求评审和候选必须是同一个模型——同家族的兄弟模型共享足够多的先验,以至于家族内的偏好仍然会显现在分数里。
看起来像是一次评测,其实只是一次家族内部的口味投票。团队搭建了基础设施去衡量质量,实际却是在衡量风格上的同质性。
为什么同家族评审一直看起来没问题,直到出问题
这种失败模式之所以如此顽固,是因为它没有团队被训练去关注的任何症状。评审给出的分数稳定。方差很低。多次运行之间的一致性很高。看板甚至比上一次 A/B 时更健康。你为了捕捉评测流水线损坏而设置的所有监控信号都报绿,因为流水线并没有坏——它只是被往一个能产生干净、自信数字的方向偏置了。
只有当生产信号出现分歧时,漂移才会变得可见。满意度下滑,投诉率攀升,客服开始转发截图,而团队还在争论究竟是生产指标有噪声——毕竟评测面不改色地告诉他们 A 是明显改进。信任会流向误差棒更小的那个指标,而那就是评审,因此团队往往会花几周时间怪罪生产端的遥测,然后才会怀疑评测本身。
底层藏着一个具体的失败模式。当评审和候选来自同一家族时,候选会因为匹配评审偏好的格式(项目符号密度、标题风格、对冲措辞、长度分布)和评审偏好的推理形态(考虑事项被提起的顺序、"让我们一步一步思考"那种修辞标记)而获得奖励。这些都和用户雇你产品要解决的问题毫无相关性。候选学会了听起来像评审,而不是变得正确,而评审无法分辨两者的差别,因为这些风格匹配它自己的先验。
