把 25 条样本塞进一个 prompt、让模型一次返回 25 个 JSON 判决,这是 LLM 评审流水线的省钱标配。它默认了一个没人明说的前提:某条样本的判决只取决于它自己,不受同批邻居和它在 prompt 里位置的影响。慕尼黑工业大学的一篇论文测了测这个前提,结论不太乐观。
论文标题很直白,叫「被同批的样本带着判」(arXiv:2610.40241)。它在社交媒体有害性检测、学生简答评分、评论星级三个任务上,用五个 4B 到 9B 的开源权重模型各评了 2000 条样本,每批 25 条。结果是:在有害性和简答评分两个任务上,换个随机分组重新分批,同一批样本的判决有 11%–22% 会翻转,而 AUROC 几乎不动。
省下来的钱,是判断力的代价
每条请求都要重复同一段指令,把 25 条样本拼进一个 prompt,token 成本能省下 80% 以上。论文引用的既有研究(Pipal 等,2026)称,25 到 100 条一批、精度损失低于 2 分;论文引用的厂商文档也建议在非实时的内容审核场景这样用。实践者照做不奇怪。
问题在于这个前提从来没人写下来:判决必须是「可分离的」(separable)——任意一条样本在任意上下文里,得到的等级都得一样。decoder-only 模型没有任何机制保证这点。模型写第 12 条样本的判决时,前 24 条文本和它自己刚写下的 11 个判决,全都躺在上下文里。
对照组是怎么设的
三个任务各有 2000 条样本。有害性用 Measuring Hate Speech 语料,五级量表,判到「侮辱或针对个人的骚扰」及以上算命中;简答评分用 SciEntsBank,判成错、部分对、对;星级用 Yelp 评论,判到四星及以上。五个模型是 Qwen3-4B-Instruct-2507、Qwen3-8B(关闭思考)、Gemma-4-E4B-it、Granite-3.3-8B-Instruct、GLM-4-9B-0414,bf16 精度、贪心解码,每个模型配一张 RTX 5090。
关键在对照组的设计。作者不只跑「换一批」,还跑了三条基线:改样本键名、改写指令措辞、以及把同样的 prompt 改成一条一条生成,用来量纯数值噪声。这些基线量出 4.2%–8.4% 的判决变化,其中纯数值噪声只占 0.5%–2.1%。而换随机分组,变化是 11%–22%,比基线里最高的那条还高出 6.5 到 13.3 个百分点。
准确率为什么骗人
最值得警惕的是:批量评审的 AUROC 相比逐条评分只变化 -0.033 到 +0.010,任何验证阈值都拦不住。更要命的是工作点会漂:在有害性任务上,Gemma-4 逐条评时会标出 49% 的评论,批量评只标 31%;Granite 从 59% 掉到 43%。同一批评论,标记比例差出十几个点。
论文的解释是:在阈值模型下,上下文贡献的方差让分数的 AUROC 按比例下降,却让决策的翻转率按方根增长。「对分数影响小」和「对决策影响大」可以同时成立,因为翻转率取决于阈值附近的分数密度。
模型更大也没救。附录里四个 14B 到 32B 模型换批后仍有 6%–15% 的判决变化,比基线高 4.2–9.1 个点。
拆开看:顺序、位置、同批
论文把翻转率精确分解成三个成分:邻居的排列顺序占潜在差异的 0.42–0.69,样本所在位置占 0.09–0.32,「和谁同批」这个成员效应占 0.01–0.25(均值 0.15)。在决策尺度上,顺序贡献 0.62–0.80 的翻转,成员效应只占 0.00–0.14。
那为什么「换一批」这么要命?顺序和位置至少能被投票平均掉,「谁跟谁同批」却不行。作者做了个更狠的实验:每个批次按九种顺序各评一次再取多数票,仍有 52%–60% 的翻转残留;换成十五个独立随机批次再取多数票,跟逐条评分相比仍有 8.4%–17.8% 的判决不一致。
机制上,论文在生成中途动刀做了两次干预:把别的批次的判决换进来,7%–23% 的判决跟着变;把别的批次的文本换进来,9%–26% 跟着变。两条通道同时起作用——模型既被邻居的文本带跑,也被自己刚写下的判决带跑。
星级任务是个反例:模型与真值 AUROC 0.96,写出的星级虽有 16%–21% 变化,决策却只变 2.9%–3.9%。任务越模糊,影响越大。
那怎么办
论文的建议很直接:模棱两可的样本一条一个 prompt 评,靠缓存共享前缀把成本补回来;用了批量,就顺手报告一下与逐条评分的一致率。
更该被记住的是「多数投票不救场」。BatchPrompt 这类做法一直用排列投票压位置效应,看着像通用解,论文测出来它对「同批成员」几乎无效。而这恰恰最容易踩的一层——谁和谁被放进同一个 prompt,通常由业务逻辑顺手决定,不是评测设计安排的。
整个 LLM-as-a-judge 的结论有多少经得起重跑?另一项独立研究(arXiv:2610.31172,跨 27 种语言、9 种提示策略、4 个开源评审模型)给出的答案是:提示策略不可迁移,选评审模型比选提示策略更重要,同一策略在不同评审模型上效果甚至反向,而且这些不稳定在低资源语言里更严重,还被汇总口径掩盖。
两篇论文测的是不同层面,却指向同一件事:聚合数字下面压着两层噪声——评审模型本身的选择,以及评审时上下文怎么组。现在很多「评测分数」,更像是某次具体采样过程的产物,而不是被评估对象的能力。
所以下次看到一份榜单,除了看分数,也值得看一眼:这些判定是一条一条评出来的,还是拼成批一起评的?如果是后者,那分数里有多少来自被评估对象、有多少来自批次的组合方式,报告本身恐怕说不清。