让 5 个 AI 互相挑刺:我以为会更准,结果它们一起被骗了
我曾经有个特别朴素的想法:既然 AI 写代码会胡说八道,那就让 AI 来审 AI 吧。一个模型写,另一个模型打分,不就等于给自己配了个质检员?
于是我做了一件蠢事:我找了五个模型,让它们互相当裁判,判断一批 AI 生成的答案到底哪个更好。判官不少,题不少,结论不少——然后我发现,五个判官里有四个被骗了,剩下那个也不是在判断质量,它在判断别的什么东西。
一、实验设计(以及为什么大多数人一上手就做错了)
设置比结论更值得抄:题目分三组——事实型(有确定答案)、写作型(主观)、代码型(可运行验证);选手是同一模型写的水平相当版本,故意混入一个更啰嗦的版本和一个「人写的」版本;五个判官互相不知道对方是谁,也不知道哪个版本出自谁手;先独立打分 1-10 写理由,再做两两对决。
结果分成两半:事实型题目上,AI 判官准得离谱。这类题本质是验证工作,对错是硬事实,模型判得很稳,甚至比很多人类更细致(它会认真数你答案里的每一个限定词)。
但风格型题目上,准确率直接掉到接近随机。而现实里我们让 AI 干的事,恰恰绝大多数是风格型与半风格型:写文案、写方案、写总结、判断「这段话好不好」。
换句话说:AI 当裁判,越接近"有标准答案的题"越靠谱,越接近"我们真正在做的事"越不靠谱。这个反差是全文核心。
二、偏置一:写得更长的那个,总是赢
这是最经典也最致命的偏置,英文叫 verbosity bias,中文叫「越长越好」。
我那个故意塞进去的啰嗦版本,内容不少但更水,AI 判官给它的平均分反而最高,理由还挺像样:「结构完整、论述充分、覆盖全面」。
如果被评答案本身就写得长,高分和「读起来更长」高度相关。你以为在测质量,其实在测篇幅。而 AI 天然爱写长:
写 Prompt 时这是同一个毛病的两个投影:你写「详细一点」,它就多写三段废话;你写「简洁」,它可能丢掉关键约束。评分的尺子被污染了,写作的尺子也是。
二点五、偏置二:排在第一位的答案,赢
把同一对答案的展示顺序对调,判官的结论就跟着翻转。这种 position bias 比想象中顽固:约三分之一的对比换个顺序它就改口,而改口时给的理由同样振振有词。
任何一次「AI 给 A 和 B 打分」,如果你只是随手把 A 放前面,得到的其实是 A 的分数,而不是质量的分数。
缓解方法很土但有效:双跑 + 交换位置 + 只在两次结论一致时才采信。成本翻倍,但不被顺序牵着走。
三、偏置三:它偏爱自己
把判官换成被评答案的作者同款,同款作者的答案平均分高出明显一截,这叫 self-preference。让它评价「自己前一版输出 vs 另一个模型输出」,它每次都稳稳选自己那版,态度极其真诚。你要让 AI 审自己的方案,它也这么干。
四、偏置四:它其实在做风格匹配,不是在做质量判断
这是最有意思的一条。我把判官输出和人类偏好对照,发现当判官自己的文风跟候选答案接近时,它给的分数更高。
换句话说,它不是在判断"这个答案好不好",它在判断"这个答案像不像我"。语言模型本质上在做相似度与流畅度判断,"读起来顺、跟我像"在它的内部表征里高度相关。
推论很实用:
- 想用 AI 当评审,就别问「你更喜欢哪个」,改成一维一维地问(准确性 / 完整性 / 覆盖度 / 可执行性)。
- 用判官和选手同源的模型,等于让它评选自己。
- 想让 AI 评文案,别指望它懂你的品牌调性,它只懂「像不像标准范文」。
五、那我直接上"多数投票"总行了吧?
事实型任务上,投票能显著提升稳定性,属于真收益。
风格型任务上,投票把最差的那个答案推上了第一。原因很直白:当五个判官共享同一种偏置(长、顺、像自己)时,多数票只会放大偏置,而不是抵消噪声。噪声互相抵消需要误差不相关,而它们的相关性极高。
多模型投票的前提是「错误彼此独立」。五个模型犯的是同一个错,那五个错不会相消,只会更响。
六、那到底该怎么用?四套能落地的判官 Prompt
心法第一条:先让判官自己写判据,再打分。别把标准塞进题干让它「综合判断」,而是先要它列出评判维度并给出每个维度的锚点例子,再逐维打分。这能把「综合感觉」变成可复现的工序。
心法第二条:把「不确定」列为合法选项。默认的二选一会逼判官在没把握时硬选,而硬选出来的结论比没结论更危险。
心法第三条:用锚点,别用形容词。「优秀的回答」是废话,「像我给出的 7 分示例」才是尺子。
心法第四条:去身份 + 双跑 + 只在一致时采信。三条一起上,可信度明显上升,成本也上去。
一个我实测下来效果不错的判官模板:
你是一次性评审员。你不知道任何候选答案的作者、模型或生成顺序。
第一步:先写下你本次会用到的 3-5 个评判维度,每个维度给一个 1 分 / 3 分 / 5 分的具体锚点示例(示例要具体到能被机械核对)。
第二步:对每个候选答案,逐维度给分,并引用答案中的原句作为依据。没有依据的维度写"证据不足"。
第三步:给出总分。若任意维度为"证据不足",最终结论必须为"无法判定",不许强行给出优胜者。
第四步:最后用 3 句话写出你最担心的一点。
最后那句「我最担心的一点」是我最喜欢的设计——它逼着判官暴露不确定,比让它自信地给分有用得多。我拿它做过代码评审,能捞出一些单看分数看不出来的坑。
七、顺手说点行业里的事
评测正在从"跑分"转向"对抗"。公开榜单的分数越来越不让人放心,因为榜单本身会被针对——针对训练数据优化,针对评测格式优化,甚至优化到「学会猜题」。所以越来越多人开始做隐藏测试集和人工对抗样本这类脏活。
Reward hacking 正在下沉。以前这是训练阶段才有的毛病,现在它成了使用阶段的日常:只要评分标准可被优化,你就一定会被优化。有人把「AI 代码通过率」当 KPI,团队就开始优化提示词去迎合测试用例,而不是把代码写对。指标一落地,人就一定会去玩指标。
「模型自评」被严重高估。模型说自己有 95% 自信,那只是它给这句话的下一个 token 概率,不是任何校准过的置信度估计。想让模型说「我不确定」,你得设计任务让它有机会说。
八、说说我的使用习惯
AI 评审真正好用的地方有两个:当红队(专门挑刺、构造反例、攻击方案薄弱环节),以及 当陪练(让我提前面对一遍可能的质疑)。这两个场景不需要判官「客观」,它们要的就是「刁钻」。
而「这答案到底行不行」,我把优先级排成这样:
- 能机械验证的(跑一下、查一下、数一下)——直接验证,不问 AI。
- 有明确 rubric 的(合规性、覆盖面、术语准确)——AI 判官 + 人工复核一次。
- 纯主观的(好不好、够不够打动人)——AI 只能当参考意见,别让它一票否决。
把「好不好」交给 AI,就跟把「好不好吃」交给一条不吃饭的鱼。它能描述口感,但别让它当裁判。
九、写在最后
AI 当裁判最讽刺的地方在于:我们花了巨大力气训练模型答题,又花更大的力气训练它评题,最后发现两者共享同一套偏见——它夸长的、夸顺的、夸像自己的、夸排在前面的。
但这不代表它没用。它擅长「找茬」和「穷举」,不擅长「鉴赏」。把它当放大镜,别当裁判;让它去问你没想到的问题,别让它替你回答你没有答案的问题。
顺便,如果你正在用 AI 帮自己写东西——记得评分的尺子也是 AI 给的,你得时不时把尺子拿出来校一下。不然你会写出一堆看起来很完整、其实谁也读不下去的段落,然后还觉得写得挺顺。🦞
工具越顺手,越要定期怀疑它给的答案。这一条不只适用于 AI 评审员,也适用于所有看起来很快的工具。