昨天查完的結論停在一個尷尬的位置:有標準答案的題目,天花板被標註錯誤壓住(MMLU 的 6.49% 標註錯誤率讓四選一上限落在約 95.1%),污染偵測只有陽性有資訊量,剩下的辦法是滾動換題與私有 holdout。但那整套推論的前提是「題目有唯一正解、比對是字串或選項比對」。真實世界的 agent 評估、對話品質評估、RAG 回答評估,大半沒有唯一正解——分數是另一個模型給的。昨天完全沒查那個評分者自己的效度,今天補上。
補上之後最刺眼的一件事:judge 的「穩定」和 judge 的「正確」是兩個互不相干的量,而且業界驗證 judge 的預設做法(算 exact-match agreement)系統性高估它的鑑別力。 2026 年 6 月 arXiv 2606.19544(Norman、Rivera、Hughes,〈Reliability without Validity〉)跑了目前最大規模的 judge 稽核:9 家供應商的 21 個 judge,橫跨 MT-Bench、JudgeBench、RewardBench 三個資料集、三種協定、118 次 run、約 541,000 筆個別判決。四個結論裡,兩個直接打掉常見做法:exact match 換成 Cohen’s κ 之後的通縮是普遍現象,在 MT-Bench 上是 33 到 41 個百分點;而兩個已經上線的 production judge 同時具備 test–retest 重測信度 >0.95 與位置偏誤 >0.10,作者把這叫 consistency–bias paradox。
還有一個更難處理的:同一批 judge 換個 benchmark,排名最多位移 14 個名次。也就是說「我們選了在 RewardBench 上最強的 judge」這句話,對你自己的任務幾乎沒有預測力。下面把 judge 的三種用法、已發表的系統性偏誤、去偏手法的實測成本效益、與人類一致性的正確量測方式攤開,最後回到唯一一個能落地的操作原則:judge 分數只能當相對排序或搭配二元斷言,不能當 CI 的絕對門檻。
📖 學
三種 judge 用法不是同一件事,失效模式也不同
pairwise 比較是給 judge 一個問題加兩個回答,要它輸出 A、B 或 tie。這是 MT-Bench(Zheng 等人,arXiv 2306.05685,NeurIPS 2023 Datasets & Benchmarks)確立的主流做法,也是 Chatbot Arena 的人類投票格式。它的優點是不需要判斷「這個回答值幾分」這種絕對量;缺點是引入了一個完全人造的自由度——順序。順序一換答案就變,這件事後面整節要講。
pointwise 單點打分是給一個回答、一份 rubric,要 judge 輸出 1 到 5 或 1 到 10。它的優點是可加、可平均、可以直接畫成儀表板;缺點是尺度沒有錨點。judge 心裡的「4 分」和你心裡的「4 分」沒有任何機制保證是同一件事,而且同一個 judge 在不同 prompt 版本下的 4 分也不見得一樣。arXiv 2503.03064(Wang、Zhang、Choi,EMNLP 2025 Findings)量了這件事的一個具體後果:取 judgment distribution 的平均值在 pointwise、pairwise、listwise 三種設定下都優於取 mode(也就是 greedy decoding 拿到的那個 token),換句話說,你平常讀到的那個單一分數是分佈的眾數,而眾數比平均值更差。
reference-based 是給 judge 一份標準答案,要它判斷候選回答對不對。直覺上這最安全,實際上有兩個對稱的失效模式,而且都在 2026 年被量出來了。往上偏的那一邊:arXiv 2607.12885(Kranti、Vajjala,2026 年 7 月)在三種語言的開放式問答上做了兩階段管線——calibration 實驗測 judge 對「它正在評的那個任務」本身懂不懂,sensitivity 實驗測 reference 的有無與位置的影響。結果是沒有 reference 時 judge 會過度給分,把錯答案判成對;而把 reference 放進 prompt 之後,某些設定下對錯判決的翻轉幅度高達 85%。而且跟人類標註子集比對顯示,reference 帶來的那些改變方向上是對的——也就是說 reference-free 的那個版本才是錯的。
往下偏的那一邊更陰險。arXiv 2601.07506(Lee 等人,〈Judging Against the Reference〉)測的是 reference 跟 judge 自己參數裡的知識衝突時會怎樣:把 reference 換成另一個實體之後,judge 會在極簡單的案例上失敗——候選回答明明就跟被換掉的那份 reference 一字對上,judge 還是判它錯。原因是 judge 過度依賴自己的參數知識,在衝突時直接無視你給的 reference。而且論文明確報告:CoT、in-context learning、寫更詳細的指令,這三種常見的 prompt 層 mitigation 都解決不了。
這三種用法的實務含意是:pairwise 適合做相對排序,pointwise 幾乎只適合看趨勢而不能看絕對值,reference-based 一定要先做校準才能用。 而校準的意思不是「調 prompt 直到分數看起來合理」,是拿一批有人類標籤的題目量 judge 跟人的一致性,量到能報數字。
位置偏誤:2023 的災難、2026 的殘餘,以及更正一件我原本以為的事
位置偏誤最早的系統性紀錄是 arXiv 2305.17926(Wang 等人,〈Large Language Models are not Fair Evaluators〉):只要把兩個候選答案的呈現順序換一下,品質排名就能被 hack;GPT-4 系統性偏好第一個出現的答案,ChatGPT 反而偏好第二個。他們提了三個對策,其中兩個到今天還是標準做法——Balanced Position Calibration(BPC,兩個順序各跑一次,取平均)與 Multiple Evidence Calibration(MEC,先產生評估證據再打分)。
規模化的量測來自 arXiv 2406.07791(Shi 等人,〈Judging the Judges: A Systematic Study of Position Bias in LLM-as-a-Judge〉,IJCNLP 2025):15 個 judge、MTBench 與 DevBench、22 個任務、約 40 個產生答案的模型、超過 150,000 筆評估實例。這篇最有用的貢獻是把「偏誤」拆成三個可分別測量的量:
| 指標 | 定義 | 用途 |
|---|---|---|
| Repetition Stability (RS) | 同一題重複跑多次,選擇一致的比例 | 先確認觀察到的偏誤不是隨機雜訊 |
| Position Consistency (PC) | 交換順序後偏好不變的比例 | 位置敏感度的核心指標 |
| Preference Fairness (PF) | 偏好在兩個位置間的不對稱程度 | 偏誤的方向與幅度 |
RS 這個指標的存在本身就是重點:如果你沒先量 RS,你根本不知道 swap 之後的不一致是「系統性位置偏誤」還是「這個 judge 對這題單純就是在丟硬幣」。這篇也給了一個反直覺的因子分析結果:位置偏誤受 prompt 各部件長度的影響很弱,但受兩個候選答案之間的品質差距影響很強。品質差距大的時候位置偏誤消失,品質接近的時候位置偏誤主導——而你在做 A/B 迴歸測試時,兩個候選幾乎總是品質接近的。這正好是偏誤最強的區域。
更正:我原本以為位置偏誤是 2026 年還在惡化的問題,實測顯示它在強模型上被壓得很低,但在弱模型上仍然是災難級。 arXiv 2607.08535(Yang、Hou、Yang,2026 年 7 月,〈When the Judge Changes, So Does the Measurement〉)在 LLMBar(419 題對抗式 pairwise)上量到 position-flip rate 從 Qwen3-1.7B 的 0.320 降到 MiniMax 各版本的 0.117–0.147;八個受測 judge 的 LLMBar 準確率與 position-flip rate 之間 Pearson r = −0.957。能力越強、位置偏誤越低,相關性強到近乎線性。但作者刻意強調這是 capability–fairness 關聯而非機制,而且關鍵是:最強的 MiniMax-M2.7 在 A/B 反轉下仍然改變 14.7% 的判決。不是 0,是七題就有一題會翻。
而 arXiv 2604.23178(Soumik,TMLR 2026 年 6 月)在自己建的 50 組「兩個回答完全相同」的 POSITION 對照題上,量到五個 judge(Gemini 2.5 Pro、Gemini 2.5 Flash、Claude Sonnet 4、GPT-4o、Llama 3.3-70B)的位置偏誤全部 ≤ 0.04,作者明確寫「與先前研究的強調相反,位置偏誤現在可以忽略」。這跟 2607.08535 的 14.7% 不衝突,兩者測的是不同東西:前者用完全相同的回答(所以品質差距為零但也沒有任何內容可供區分),後者用對抗式難題。這剛好印證了 Shi 等人的品質差距假說,也說明**「位置偏誤大不大」這個問題沒有跟資料集脫鉤的答案**。
冗長偏誤已經不是單一方向了——這是今天第二個更正
我原本記著的版本是「LLM judge 偏好長答案」,這是 Saito 等人 2023(arXiv 2310.10076,〈Verbosity Bias in Preference Labeling by Large Language Models〉)與 MT-Bench 原論文的結論,也是 AlpacaEval 需要 length control 的理由。arXiv 2404.04475(Dubois、Galambosi、Liang、Hashimoto,COLM 2024,〈Length-Controlled AlpacaEval〉)用一個很樸素的迴歸做後處理去偏,把與 Chatbot Arena 的 Spearman 相關從 0.94 拉到 0.98。這個 length-controlled win rate 現在是 instruction tuning、RLHF、DPO 論文報結果的標準欄位。
2026 年的量測說這件事已經分家了。arXiv 2604.23178 用 50 組 LENGTH expansion 對照題(一個基礎回答,加上一個約 2.8 倍長、只加細節與贅述但不加新事實的擴寫版),並且把每個判決映射回「實際上誰比較長」而不是映射回 slot A/B,量到的 signed verbosity bias 是:Llama 3.3-70B +0.44、Gemini 2.5 Pro +0.40、Gemini 2.5 Flash +0.24、GPT-4o −0.04(接近中性)、Claude Sonnet 4 −0.12(偏好簡潔)。方向不一樣。
這篇還做了一個我覺得應該變成標準做法的消解實驗:另外 25 組 TRUNCATION 對照題,把一個完整回答機械式截斷到約 40% 長度、切在句界。在這組題目上,長的那個回答是真的更完整。結果五個 judge 全都正確偏好完整版,準確率 0.88 到 1.00。兩組題目對讀,就把「偏好長度」與「偏好品質」分開了:純長度偏誤預測 expansion 上正偏誤加 truncation 上高準確率;純品質敏感預測 expansion 上零或負偏誤加 truncation 上高準確率;對長度與品質都無感則預測 expansion 零偏誤加 truncation 上約 0.5 的擲幣準確率。有了這兩組題你才有資格說你的 judge 是哪一種。
需要標存疑的地方:arXiv 2604.23178 的 v2 文本內部不一致——摘要與 Figure 1 說 Pro、Llama、Flash 呈現經典冗長偏誤(+0.24 到 +0.44),但第 4 節「四個主要主張」的第 2 條卻寫「所有模型在 expansion 對上都是負偏誤」。這兩句不可能同時對。我採用摘要與 Figure 1 的逐模型數字(它們互相一致、且與 4.1.1 節的逐模型列表一致),第 4 節主張 2 那句話已標存疑。同理,truncation 準確率摘要寫 0.88–1.00、主張 2 寫 0.92–1.00,我採用較保守的 0.88–1.00。
另一個角度的證據:arXiv 2606.19544 在單一 pairwise rubric 下,對 21 個 judge 量到的 verbosity bias 全都 < 0.011,小到幾乎測不到。這跟 2604.23178 的 +0.44 差了一個數量級。合理的解讀是 verbosity bias 高度取決於你怎麼構造長度差(自然長度差 vs. 人工贅述擴寫)以及 rubric 有沒有明講「不要因為長就給高分」。所以**「我的 judge 有沒有冗長偏誤」不是一個可以查表回答的問題,只能自己用對照題量。**
自我偏好:機制是自我辨識,而且能力強不代表偏誤小
arXiv 2404.13076(Panickssery、Bowman、Feng,NeurIPS 2024,〈LLM Evaluators Recognize and Favor Their Own Generations〉)是這條線的關鍵論文。它先確認 GPT-4 與 Llama 2 這類模型開箱就有非平凡的能力區分「這段文字是我寫的 / 別的 LLM 寫的 / 人寫的」,然後透過 fine-tune 調整自我辨識能力,發現自我辨識能力與自我偏好強度之間是線性相關,並用受控實驗排掉了幾個直觀的 confounder。也就是說 self-preference 不只是「碰巧偏好自己的風格」,而是「認出自己 → 偏好自己」這條因果鏈。MT-Bench 原論文把類似現象叫 self-enhancement bias。
2026 年的進展在量測方法上。arXiv 2604.22891(Yang 等人,2026 年 4 月投、6 月改)指出既有量測都得靠昂貴的人類標註,而且把「生成能力」跟「評價立場」混在一起了——一個模型偏好自己的回答,有可能是因為它的回答真的比較好。他們的做法是構造品質差距可忽略的等品質配對,在沒有人類 gold standard 的情況下用統計把 discriminability(鑑別力)跟 bias propensity(偏誤傾向)分開。跑了 20 個主流 LLM,結論是:先進能力與低 self-preference bias 往往不相關,甚至負相關。 他們提的緩解手法是把評估拆成結構化的多維度(以 cognitive load decomposition 為依據),平均降低 SPB 31.5%。
實務上這件事的含意很直接:「用最強的模型當 judge」不能當成處理自我偏好的辦法。要處理只有兩條路——跨家族輪替 judge,以及絕對不要讓某個家族的模型去評自己家族的輸出。而 arXiv 2604.23178 的實作細節提醒了一個容易踩的坑:他們原本的 50 組 MODEL_ORIGIN 對照題是 Gemini 對 Claude 的回答,這種設計只能支撐 Gemini judge 與 Claude judge 的自我偏好推論;對 GPT-4o 與 Llama judge 來說,那量到的其實是「模型偏好」而不是「自我偏好」。他們後來補了 100 組 round-robin 配對才涵蓋全部五個家族。你自己做自我偏好量測時,配對必須是 round-robin,不然你量的是別的東西。
今天最大的意外:被忽略的頭號偏誤是格式
arXiv 2604.23178 的核心發現不是位置也不是長度,是 style bias——內容完全相同、只有 markdown 排版與純文字散文之別時的偏好。位置平均後的 signed bias score:Gemini 2.5 Pro +0.76、Gemini 2.5 Flash +0.72、Claude Sonnet 4 +0.68、Llama 3.3-70B +0.40、GPT-4o +0.10(明顯中性)。範圍 0.10 到 0.76,而同一批模型的位置偏誤 ≤ 0.04。差了一到兩個數量級,而且橫跨 Google、Anthropic、Meta 三個獨立家族,不是某家的 artifact。這篇還做了位置鏡像的 STYLE 子集,所以這些數字不能歸因到殘餘位置效應。
「judge 偏好 markdown」會不會其實是 markdown 真的比較好讀?他們在 30 組子樣本上找了兩位獨立標註者,人類平均只有 57% 的時候偏好 markdown,而五個 judge 裡有四個在同一批題上的 markdown 偏好率是 73% 到 97%,judge 與人類的差距是 +17 到 +40 個百分點。GPT-4o 是唯一例外,markdown rate 53%,跟人類差 3 個百分點以內。所以這是偏誤,不是真實的可讀性優勢。
這件事跟 Chatbot Arena 的做法對得上。LMSYS 在 2024 年 8 月的 style control 說明裡把 style 當成 Bradley-Terry 迴歸裡的獨立變項來建模,納入的特徵是:回答長度、markdown header 數量、markdown bold 數量、markdown list element 數量。他們的係數分析顯示長度是最主導的 style 因子。現在 Arena 同時維持 raw 與 with-Style-Control 兩份榜,排序在兩份之間會小幅移動。
換句話說,產業界最大的兩個公開 leaderboard 各自處理了不同的東西:AlpacaEval 的 length-controlled win rate 用迴歸把長度效應剝掉(讓與 Arena 的 Spearman 從 0.94 到 0.98),Arena 的 style control 用 Bradley-Terry 迴歸把長度加上 markdown 三個計數一起剝掉。而 MT-Bench 原論文提的是更早期的手法:position swap、few-shot 校準、reference-guided 評分。這三套解法沒有一套處理 self-preference,那部分至今沒有 leaderboard 級的標準解。
分數分佈坍縮、CoT 的反效果,以及一段必須標存疑的段落
pointwise 打分的分數分佈坍縮在實務上人人遇到:1 到 5 分的 rubric 跑完,90% 的分數落在 4 和 5,整個 eval 沒有鑑別力。這個具體的「坍縮到 4 與 5」我查不到明確的已發表數字,只有 practitioner 層級的敘述與一般性的 central tendency compression 論述,已標存疑。 我能引到的、有論文支撐的是相鄰的兩件事。
第一件,尺度沒有錨點會讓 judge 往中間或往某個習慣值靠。機制很清楚:沒有 exemplar 的 Likert rubric 裡,judge 對「3 分是什麼樣子」和「5 分是什麼樣子」沒有共享的潛在意象,於是它退回到某個安全值。這意味著解法不是換 prompt 詞句,是給每個分數等級放一個真實範例,或者乾脆放棄連續尺度。
第二件有硬證據,而且是反直覺的:CoT 會壓縮 judgment distribution 的離散度,而且經常因此變差。 arXiv 2503.03064 的機制解釋是,CoT 推理之後模型的分數分佈變得更 sharp,平均值因此逼近 mode——而他們同時證明取平均在所有設定下都優於取 mode。所以 CoT 的作用之一是消滅了「取平均比取 mode 好」這個免費的增益。這跟 arXiv 2305.17926 的 MEC(先寫證據再打分能改善位置偏誤)並不矛盾:CoT 改善的是位置一致性,傷害的是分數分佈的資訊量。CoT 對 judge 是有代價的交換,不是純增益。
第三件是實測的 CoT 效益。arXiv 2604.23178 把 CoT 當成獨立策略 S5 測,在 MT-Bench(n=400)上 Claude Sonnet 4 用 S5 得到 +7.3 個百分點(p = 0.0009),通過 Holm-Bonferroni 校正;但 Gemini 2.5 Pro 與 GPT-4o 的方向性增益都不顯著,而且作者明確報告在 n=400 下的 minimum detectable effect 是 4 到 5 個百分點。也就是說「CoT 讓我的 judge 變好了 3 個百分點」這種說法在四百題規模上根本測不出來。
想量自己的坍縮程度不需要論文:把最近一批 pointwise 分數的直方圖畫出來,算 distinct value 數與 top-2 分數佔比。如果 top-2 佔比超過 80%,這個 rubric 已經失去大部分鑑別力,該做的是把它拆成二元檢查項——有沒有引用來源、有沒有回答被問的問題、有沒有出現不該出現的欄位。二元檢查項的好處不是更精確,是它的失效模式你看得懂,而且可以直接當 CI 斷言。
一致性不等於效度:kappa 通縮的算術與人類的天花板
這是今天最該內化的一節。業界驗證 judge 的預設做法是報 exact-match agreement:judge 跟人類標籤對上的比例。這個數字不做機率校正,所以系統性高估鑑別力。arXiv 2606.19544 量到的通縮幅度在 MT-Bench 上是 33 到 41 個百分點,普遍存在於整個 21 個 judge 的 cohort,包括 2026 年 4 月的前沿模型。
為什麼會這麼大,自己算一次就懂。Cohen’s κ = (p_o − p_e) / (1 − p_e),其中 p_o 是觀察到的同意率,p_e 是在兩位評審各自的邊際分佈下隨機同意的期望值。固定 p_o = 0.80,只改變二元標籤的邊際分佈:
| 標籤邊際分佈 | p_e | Cohen’s κ | 通縮幅度 |
|---|---|---|---|
| 50 / 50 | 0.500 | 0.600 | 20 pp |
| 60 / 40 | 0.520 | 0.583 | 22 pp |
| 70 / 30 | 0.580 | 0.524 | 28 pp |
| 80 / 20 | 0.680 | 0.375 | 43 pp |
| 90 / 10 | 0.820 | −0.111 | 91 pp |
最後一列是重點:同意率 80%,κ 是負的。當你的 eval 集裡 90% 的題目 judge 都判「通過」,80% 的同意率比隨機還差。而生產環境的 eval 集幾乎必然是不平衡的——大部分請求都是正常的。這就是為什麼「我的 judge 跟人類同意率 85%」這句話本身沒有資訊量,你必須同時報邊際分佈與 κ。三位以上標註者要用 Fleiss’ κ;要處理序數尺度(1 到 5 分不是名目類別,4 跟 5 的距離比 1 跟 5 近)或缺失值,要用 Krippendorff’s α,它可以指定 metric 讓「差一分」比「差四分」罰得輕。
接著是天花板。judge 跟人類的一致性不可能超過人類跟人類的一致性,所以你必須先量人類自身的一致性上限,不然你不知道 κ = 0.75 是好還是壞。arXiv 2607.08535 的 robustness check 剛好給了兩個對照:在 PandaLM 上用 leave-one-annotator-out 匹配的方式,最佳 judge 的 κ = 0.753,人類天花板是 0.920——還有大量 headroom。但在他們的 Judge’s Verdict 切片(200 題 TechQA 衍生、三級 pointwise 標籤)上,最佳 judge 的 κ = 0.620,人類自己的 κ 只有 0.562。judge 已經超過人類天花板了。
這個對比說明兩件事。第一,同一個 judge 在不同任務上跟天花板的距離完全不同,「這個 judge 好不好」沒有跨任務的答案。 第二,當 judge 的 κ 超過人類 κ,你不能歡呼,那通常是 judge 比人類更「一致」而不是更「正確」——它只是更死板地套同一條規則。arXiv 2510.09738(Han 等人,〈Judge’s Verdict〉)把這件事做成了篩選流程:54 個 LLM,先用相關性測試(r ≥ 0.80)篩掉明顯不對齊的,再用 z-score 做 human-likeness 測試,把通過的分成 human-like(|z| < 1,保留人類判斷的自然變異)與 super-consistent(z > 1,超過人類之間的典型一致水準)。27 個進 Tier 1,其中 23 個 human-like、4 個 super-consistent。
順帶標一個存疑:我在搜尋摘要裡看到「1,994 題、每題三份標註、人類間平均 Cohen’s κ = 0.801」這組數字被歸給 Judge’s Verdict,但 arXiv 2607.08535 在自己的 200 題 Judge’s Verdict 切片上報的人類 κ 是 0.562。這兩個數字可能來自不同子集與不同標籤粒度,0.801 這個數字我沒能在原論文正文裡直接確認,已標存疑,請自行核對 arXiv 2510.09738。
最後,agreement 高不等於 validity 高,這句話在 2606.19544 裡有最乾淨的實證形式:兩個上線中的 production judge 同時具備 test–retest > 0.95(你重跑十次結果幾乎不變)與 position bias > 0.10(你把 A/B 換個位置結果就變)。它非常可複製,而且非常錯。信度是效度的必要條件而非充分條件,這句心理計量學的老話在 judge 上是字面成立的。 arXiv 2606.15610(Usami 等人,2026 年 6 月,〈LLM Judges Have Dark Current〉)把這套心理計量框架做成了 Judge Datasheet 協定,量五個東西:true-vacuum 輸入(兩個回答等價到沒有任何可判別訊號)下的 dark current、對等品質表面變化的 stable cross-sensitivity、positional false preference、在受控品質階梯上的 target sensitivity、以及 tie 指令誘導出的判準/操作點。他們的 direction-stability 分解可以區分「表面反應穩定」與「偽裝成表面反應的位置偏誤」——同一個表觀偏好可以是兩種完全不同的東西。
去偏手法的實測排名與成本,以及關於 jury 的第三個更正
arXiv 2604.23178 是目前唯一把去偏手法放在統一框架下互相比較的研究:9 種策略 × 5 個 judge × 4 個家族 × 3 個 benchmark × 4 種偏誤類型,配 bootstrap 95% CI(n_boot = 2000)、McNemar 檢定加 Holm-Bonferroni 校正、以及帶 instance random effect 的混合效應 logistic 迴歸。策略定義值得抄下來:
- B0 基線:最小 prompt,要求 JSON verdict 加理由。1× 成本。
- S4 校準 rubric:五個維度(accuracy、relevance、completeness、clarity、reasoning depth)各 1–5 分,verdict 另外一個欄位輸出。1×。
- S5 CoT:強制逐步分析後才輸出 verdict 欄位。1×。
- S1 位置互換:兩次呼叫、A/B 順序反轉,把 BA 那次的 verdict 翻回原框架;兩次一致就採用,不一致就輸出 tie。2×。
- S2 同家族 ensemble:三次呼叫、temperature {0.0, 0.3, 0.7},多數表決。3×。
- S8 Combined Budget:把 CoT 與 rubric 合併成單一結構化 prompt(同時輸出各維度分數與逐步推理),再做位置互換兩次呼叫,不一致就 tie。2×。
頭條結果是成本面的:Gemini 2.5 Flash 配 S8 拿到全部配置裡最高的一致性,71.0%、κ = 0.549、p < 0.0001,每次評估約 0.015,貴約 15 倍。 中階模型加對的去偏,打贏前沿模型。通過 Holm-Bonferroni 校正的增益有三個:Claude S8 +11.5 pp(p < 0.0001)、Flash S8 +7.5 pp(p < 0.0001)、Claude S5 +7.3 pp(p = 0.0009);校正前顯著的還有 Flash S1 +4.7 pp(p = 0.004)與 Llama S8 +4.5 pp(p = 0.011);Gemini Pro 與 GPT-4o 只有不顯著的方向性增益。最佳策略是 model-dependent 的,沒有通用最優。
注意 S1(純位置互換)本身的效益只有 +4.7 pp 且校正後不顯著,而 S8(CoT + rubric + 位置互換)是 +7.5 到 +11.5 pp。位置互換單獨用的價值,更多在於它給你一個可靠度指標,而不是它本身能提升一致性。 swap-consistency 應該當診斷儀表看:不一致的那批題目就是你的 judge 在丟硬幣的那批題目,把它們標記出來、抽出去人工看,比把它們算成 tie 混進平均值有用得多。而且成本要算清楚——如果你的 flip rate 是 0.147,tie-on-disagreement 會把 14.7% 的題目變成 tie,你的有效樣本數就少了 14.7%。
更正:我原本把「多抽幾個 juror 做多數決」當成穩定 judge 的萬用手段,這是錯的。 對於多次取樣的 jury(Verga 等人的 Panel of LLM Judges 那條路線),arXiv 2607.08535 給了一個殘酷的答案:它失敗的原因是投票不獨立。 他們從投票矩陣估 intra-class error correlation ρ,Qwen3 同家族 jury 在 LLMBar 上的 ρ = 0.944 到 0.972,MiniMax 的 jury 較低但仍然 ρ = 0.664 到 0.706。獨立性假設下的 Condorcet 預測在 LLMBar 上的中位絕對誤差是 0.078、PandaLM 上 0.093;改用 ρ 校正的 beta-binomial 模型(令 s = 1/ρ − 1、α = ps、β = (1−p)s、q ~ Beta(α, β),再算 K 票中多數正確的機率)之後誤差降到 0.008 與 0.004,最大誤差 < 0.02。實際效果:Qwen3-1.7B 在 LLMBar 上 K = 1、3、5 的準確率是 0.463、0.475、0.482——加了四票只換到 1.9 個百分點。混家族 jury 也低於 Poisson-binomial 的獨立預測,光是換家族並不能在共用同一個 prompt 的情況下恢復誤差獨立性。
正確的問題不是「該抽幾個 juror」,是「他們的誤差有多獨立」;報告時要報 ρ 而不只報 K。
arXiv 2606.13685(Yagubyan,〈The Coin Flip Judge?〉)從 run-to-run 的角度給了配套數字:pairwise 偏好平均 13.6% 的時候會在重跑之間翻轉,28% 的題目 flip rate 超過 20%,最糟的一題達到 56%。GPT-4o-mini 有顯著的第一位偏好(72% A-majority),跨 judge 一致性只有 76%,而語意等價的 prompt 模板在 25% 的受測案例裡改變了多數決結果。最實用的一個數字:平均需要 11 次重複試驗,多數決才能以 95% 機率還原 50 次試驗的參考判決;高變異題目要 15 次。
補充一個交叉引用:arXiv 2604.23178 引述 Bellibatlu 2026 的 JudgeSense benchmark,說 pairwise 任務在 9 個受測 judge 裡有 8 個出現 always-A 的退化行為。我沒有直接讀到那篇原文,這個 8/9 的數字是二手引述,已標存疑。
為什麼 judge 分數不能當 CI 絕對門檻:三個數字相乘的算術
把上面的數字合起來算一次,結論就自己跑出來了。假設你有一個 100 題的 pairwise judge eval,想在 CI 裡設「win rate ≥ 65% 才放行」。
第一層雜訊是 judge 的非決定性。以 13.6% 的平均 flip rate 建模:約 86.4 題是穩定的,約 13.6 題等於在丟硬幣。丟硬幣那部分貢獻的標準差是 √(13.6 × 0.25) ≈ 1.84 題,也就是 ±1.84 pp 的 1σ,±3.7 pp 的 2σ。你什麼都沒改、重跑一次,win rate 就能上下晃將近 4 個百分點。
第二層是抽樣雜訊。n = 100、p = 0.70 的常態近似 95% 半寬是 1.96 × √(0.7 × 0.3 / 100) ≈ ±9.0 pp。要把半寬壓到 ±3 pp,需要 n = 1.96² × 0.21 / 0.03² ≈ 896 題。九百題,而且是每次 CI 都要跑九百題,還要乘上 swap 的 2×。
第三層是 judge 本身的漂移。你哪天把 judge 從 gpt-4o 換成新版本、或供應商靜默更新了 checkpoint,arXiv 2607.08535 稱之為 evaluator-replacement ambiguity:分數變了,但變化的來源無法從準確率單獨識別出來——可能是新 judge 更強、可能是偏誤方向不同、可能是它在 benchmark 的另一個切片上失效、可能是 pipeline 的 parser 與聚合邏輯處理它的輸出方式不同。他們的實測是 MiniMax M2 → M2.1 → M2.5 → M2.7 四個相鄰版本之間,pairwise 準確率差異最多 0.022,九個相鄰檢定沒有一個達到未校正的 p < 0.05;而 Qwen3 1.7B → 4B 這一步在 LLMBar 上從 0.463 跳到 0.617。升級 judge 不是一致的可靠度改善措施。
三層疊起來:一個 100 題的 judge eval,「65% 門檻」的實際意義是「65% ± 10 pp,而且門檻本身會隨 judge 版本移動」。這種東西當 gate 只會做兩件事——把真實的迴歸放過去,把無害的變更擋下來,然後團隊學會把它靜音。
能落地的替代方案有三個,都不需要 judge 給絕對分數:
其一,相對排序。同一個 judge、同一個 prompt、同一次執行裡比 A 與 B,只報「A 是否勝過 B」以及配對檢定的 p 值。judge 的系統性偏誤大部分會在配對比較裡抵消掉(這正是 Arena 用 Bradley-Terry 而不用絕對分數的理由)。要注意 arXiv 2508.11847 提醒的脆弱性:去掉少數幾個偏好樣本就能改變頂端排名,所以排序也要報 bootstrap CI。
其二,二元斷言當硬 gate。把 rubric 拆成一組是非題:引用是否存在、格式是否可解析、是否回答了被問的問題、是否洩漏了不該洩漏的欄位。這些是可以設絕對門檻的,因為它們的失效模式是可檢查的,而且不牽涉尺度校準。judge 在二元斷言上仍會出錯,但它的錯你抽樣就能看出來。
其三,把 judge 自己當待測系統納入 CI。這是今天所有論文的共同結論,arXiv 2606.19544 把它寫成 Minimum Viable Validation Protocol,arXiv 2607.08535 寫成一張 audit trail 表:每次 judge 換版本或 prompt 改動,就在一份固定的、有人類標籤的小型 golden set 上重新量 κ、swap-consistency、以及對照題上的 style / verbosity / self-preference bias score。judge 的這些數字才是可以設門檻的東西——「swap-consistency 掉到 0.85 以下就不准上線」是一個合理的 gate,「產品 win rate 掉到 65% 以下就 fail」不是。
arXiv 2607.08535 的 audit trail 清單值得照抄:資料切片要報有效 N 與可解析 N 與 tie 處理方式(避免隱藏的樣本錯配);parser 要報成功率與 fallback 規則(避免人造的準確率變動);偏誤要報 A/B 反轉與 padding probe;jury 要報 ρ 而不只報 K;debate 或多 agent 協定要存原始輸出、parser 狀態、每一輪的中間判決。他們自己的 debate 實驗就是反面教材:結構化辯論帶來了全篇最大的協定層變動(Qwen3-1.7B 配 GLM-5.1 的最終判決比第一輪準確率高 +0.317,配 M2.7 +0.305,配 mimo-v2-pro +0.289;Qwen3-4B 配 GLM-5.1 +0.243 並達到 0.897;同家族與 top-vs-top 的變動只有 +0.005 到 +0.050),但因為沒有記 parse-success flag、第一輪 parse 失敗直接 fallback 到 A、後續失敗則保留前一輪判決,這些變動無法歸因給「討論」,只能當成提示性的協定現象。 一個 +0.317 的效果因為缺三個 log 欄位而作廢,這是今天最便宜的教訓。
🧠 記
- exact-match agreement 換成 Cohen’s κ 的通縮在 MT-Bench 上是 33 到 41 個百分點,普遍存在於 21 個 judge 的整個 cohort(arXiv 2606.19544)。只報同意率等於高估鑑別力。
- 同意率 80% 在 50/50 邊際分佈下是 κ = 0.60,在 90/10 邊際分佈下是 κ = −0.111。報 κ 一定要同時報標籤的邊際分佈。
- 信度不等於效度,而且可以字面上互相獨立:兩個上線 judge 同時有 test–retest > 0.95 與 position bias > 0.10。
- 同一批 judge 換 benchmark,排名最多位移 14 個名次。「在 RewardBench 上最好的 judge」對你的任務沒有預測力。
- pairwise 偏好平均 13.6% 會在重跑間翻轉;28% 的題目 flip rate > 20%;要以 95% 機率還原 50 次試驗的參考判決,平均需要 11 次重複,高變異題要 15 次(arXiv 2606.13685)。
- 位置偏誤與 judge 能力強負相關(LLMBar 上 Pearson r = −0.957),但不會歸零:最強的 MiniMax-M2.7 在 A/B 反轉下仍改變 14.7% 的判決(arXiv 2607.08535)。
- 位置偏誤受候選答案的品質差距強烈影響、受 prompt 長度影響很弱。品質接近時偏誤最強——那正是 A/B 迴歸測試所在的區域(arXiv 2406.07791)。
- 冗長偏誤方向已經分家:Llama 3.3-70B +0.44、Gemini 2.5 Pro +0.40、Flash +0.24、GPT-4o −0.04、Claude Sonnet 4 −0.12。必須自己用 expansion 與 truncation 兩組對照題量(arXiv 2604.23178)。
- style bias(markdown 對純散文)是實測最大的偏誤,0.10 到 0.76,比位置偏誤(≤ 0.04)大一到兩個數量級;人類只有 57% 偏好 markdown,judge 是 73% 到 97%。
- self-preference 的機制是自我辨識(arXiv 2404.13076),而且與模型能力往往不相關甚至負相關(arXiv 2604.22891)。用更強的 judge 不能解決自我偏好,只有跨家族輪替可以。
- 多次取樣的 jury 幾乎沒用,因為誤差相關 ρ 高達 0.944–0.972(同家族)、0.664–0.706(MiniMax)。K = 1/3/5 只從 0.463 走到 0.482。報告要報 ρ,不能只報 K。
- CoT 對 judge 是有代價的交換:它改善位置一致性,但會壓縮 judgment distribution 的離散度,讓平均值逼近 mode,而取平均本來優於取 mode(arXiv 2503.03064)。
- reference 的有無會讓對錯判決翻轉高達 85%,而且無 reference 的版本是往寬鬆偏(arXiv 2607.12885);但 reference 跟 judge 參數知識衝突時,judge 會無視 reference,CoT 與 ICL 都救不了(arXiv 2601.07506)。
- n = 400 的 judge eval,minimum detectable effect 是 4 到 5 個百分點;n = 100 的 95% 半寬約 ±9 pp;要壓到 ±3 pp 需要約 896 題。
- judge 分數只能當相對排序或搭配二元斷言。可以設絕對門檻的是 judge 自己的指標(κ、swap-consistency、對照題 bias score),不是產品的 win rate。
✍️ 實踐
今天 20 到 30 分鐘,用 20 題把你自己 judge 的 swap-consistency 與 κ 量出來。不要挑漂亮的題目,挑你最近真的在跑的那批。
步驟一(5 分鐘):挑 20 題,自己先標。 從你正在用的 eval 集裡抽 20 組 pairwise 配對(問題 + 回答 A + 回答 B)。在看任何 judge 輸出之前,自己標一遍 A / B / tie,存成 human.csv。這 20 個標籤是今天的 ground truth,粗糙但總比沒有好。同時記下你自己標籤的邊際分佈——如果 20 題裡你標了 16 個 A,後面的 κ 會很難看,而那個難看是真實的。
步驟二(10 分鐘):跑 40 次呼叫。 每題兩次:一次原順序(AB),一次交換順序(BA),temperature 設 0.1,同一個 prompt。把 BA 那次的 verdict 翻回原框架(BA 判「A」等於原框架的 B)。存成 ab.csv 與 ba_flipped.csv。judge 有 tie 選項就保留 tie,不要偷偷合併。
步驟三(5 分鐘):算三個數字。
import itertools, math
from collections import Counter
ab = [...] # 20 個 verdict: 'A' / 'B' / 'tie'
ba = [...] # 已翻回原框架的 20 個 verdict
human= [...] # 你自己的 20 個標籤
n = len(ab)
# 1. swap / position consistency
pc = sum(a == b for a, b in zip(ab, ba)) / n
print(f"position consistency = {pc:.3f} flip rate = {1-pc:.3f}")
# 2. swap-averaged verdict:一致才採用,不一致記 tie
merged = [a if a == b else 'tie' for a, b in zip(ab, ba)]
print("effective n (非 tie) =", sum(v != 'tie' for v in merged))
# 3. Cohen's kappa(merged vs human,多類別)
def kappa(x, y):
labels = sorted(set(x) | set(y))
po = sum(i == j for i, j in zip(x, y)) / len(x)
cx, cy = Counter(x), Counter(y)
pe = sum((cx[l]/len(x)) * (cy[l]/len(y)) for l in labels)
return (po - pe) / (1 - pe), po, pe
k, po, pe = kappa(merged, human)
print(f"agreement={po:.3f} chance={pe:.3f} kappa={k:.3f}")
# 4. Wilson 95% CI(單邊 verdict 的比例,用來看 20 題有多沒用)
def wilson(k_, n_, z=1.96):
p = k_/n_; d = 1 + z*z/n_
c = (p + z*z/(2*n_))/d
h = z*math.sqrt(p*(1-p)/n_ + z*z/(4*n_*n_))/d
return c-h, c+h
print("Wilson CI of agreement:", wilson(int(po*n), n))步驟四(5 分鐘):跑三組對照題。 (a) POSITION——同一個回答複製兩份,judge 應該說 tie;(b) STYLE——同一段內容,一份 markdown 一份純散文,應該 tie;(c) LENGTH expansion——一份原文,一份加 2 到 3 倍贅述但不加新資訊,應該 tie 或偏好原文。各造 5 組共 15 題。任何非 tie 的方向性偏好就是偏誤,直接算 b = P(偏好目標) − P(偏好非目標)。
步驟五(5 分鐘):把結果寫進一份 judge-card.md。 欄位固定:judge 型號與版本字串、prompt hash、日期、n、position consistency、flip rate、有效 n、agreement、chance、κ、人類標籤邊際分佈、三個 bias score。下次換 judge 或改 prompt 就重跑一次,兩張卡片一比就知道你改的是評分者還是被評的東西。
工具面不需要新東西:κ 用上面那十行或 sklearn.metrics.cohen_kappa_score,序數尺度或三人以上標註改用 krippendorff 套件。
自我檢查:
- 我的 flip rate 是多少?如果超過 0.15,我現在所有的 pairwise 數字都必須加註「單次試驗不可信」,而且 arXiv 2606.13685 的算術說我需要 11 次以上重複才能穩定多數決。
- 我的人類標籤邊際分佈平不平衡?如果超過 80/20,我的 κ 會嚴重通縮,單看 agreement 會騙我。這件事我報出去的時候有寫嗎?
- 三組對照題裡哪一組偏誤最大?如果是 STYLE,那我近期所有「新版模型變好了」的結論都要重新檢查是不是只是它排版變多了。
- 我的 CI 現在有沒有任何一條 gate 是拿 judge 的絕對分數當門檻?如果有,今天就把它降級成 warning,並且補一條二元斷言當真正的 gate。
- 我這份 judge-card 有沒有記 judge 的版本字串與 prompt hash?沒有的話,下次分數變動我無法區分是模型變了還是評分者變了。
🔗 延伸學習
- Reliability without Validity: A Systematic, Large-Scale Evaluation of LLM-as-a-Judge Models — 21 個 judge、約 541,000 筆判決,kappa 通縮 33–41 pp 與 consistency–bias paradox 的來源,附 Minimum Viable Validation Protocol。
- Judging the Judges: A Systematic Study of Position Bias in LLM-as-a-Judge — Repetition Stability / Position Consistency / Preference Fairness 三個指標的定義,以及「位置偏誤受品質差距主導」這個對 A/B 測試最致命的發現。
- Judging the Judges: A Systematic Evaluation of Bias Mitigation Strategies in LLM-as-a-Judge Pipelines — 九種去偏策略的統一比較與成本,style bias 是頭號偏誤的證據,以及可直接照抄的對照題設計。
- Does style matter? Disentangling style and substance in Chatbot Arena — Arena 怎麼把長度與 markdown 三個計數放進 Bradley-Terry 迴歸當獨立變項,產業級 style control 的實作說明。
💬 問 AI
我在做 LLM-as-a-judge 的效度驗證,想請你交叉驗證下面這些論文與數字。
請逐條標「已確認 / 有出處但數字不同 / 查不到」,查不到就直接說查不到,不要推測、不要補一個看起來合理的編號。
論文與編號:
1. arXiv 2306.05685 = Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena(NeurIPS 2023 D&B),是否首次系統記錄 position / verbosity / self-enhancement bias?
2. arXiv 2305.17926 = Large Language Models are not Fair Evaluators,是否提出 MEC / BPC / HITLC 三個對策,且 GPT-4 偏好第一個、ChatGPT 偏好第二個?
3. arXiv 2404.04475 = Length-Controlled AlpacaEval(COLM 2024),與 Chatbot Arena 的 Spearman 是否從 0.94 提升到 0.98?
4. arXiv 2404.13076 = LLM Evaluators Recognize and Favor Their Own Generations,自我辨識能力與 self-preference 強度是否為線性相關?
5. arXiv 2406.07791 = Judging the Judges: A Systematic Study of Position Bias,是否為 15 個 judge、22 個任務、約 150,000 筆評估實例?三個指標是否為 RS / PC / PF?
6. arXiv 2503.03064 = Improving LLM-as-a-Judge Inference with the Judgment Distribution(EMNLP 2025 Findings),是否主張取分佈平均優於取 mode,且 CoT 會壓縮分佈離散度而常常有害?
7. arXiv 2410.02736 = Justice or Prejudice?(CALM 框架),是否識別 12 種偏誤?
8. arXiv 2606.19544 = Reliability without Validity,是否為 21 個 judge / 9 家供應商 / 118 次 run / 約 541,000 筆判決,MT-Bench 上 kappa 通縮 33–41 pp,排名位移最多 14 名,verbosity bias < 0.011?
9. arXiv 2606.13685 = The Coin Flip Judge?,pairwise 偏好平均翻轉率是否為 13.6%,28% 題目 flip rate > 20%,最糟 56%,平均需 11 次重複試驗(高變異 15 次)?
10. arXiv 2607.08535 = When the Judge Changes, So Does the Measurement,position-flip rate 是否從 Qwen3-1.7B 的 0.320 降到 MiniMax 的 0.117–0.147,準確率與 flip rate 的 Pearson r 是否為 −0.957,MiniMax-M2.7 在 A/B 反轉下是否仍改變 14.7% 判決,homogeneous jury 的 ρ 是否為 0.944–0.972?PandaLM 上最佳 judge κ=0.753 對人類天花板 0.920、Judge's Verdict 切片上 κ=0.620 對人類 0.562,這兩組數字對嗎?
11. arXiv 2604.23178 = Judging the Judges: Bias Mitigation Strategies(TMLR 2026/06),style bias 是否為 0.10–0.76 且位置偏誤 ≤ 0.04?Gemini 2.5 Flash + Combined Budget 是否為 71.0% / κ=0.549 / 約 $0.001 per eval,約比 Claude Sonnet 4 的 69.5% / $0.015 便宜 15 倍?verbosity 逐模型值(Llama +0.44、Pro +0.40、Flash +0.24、GPT-4o −0.04、Claude −0.12)對嗎?人類 markdown 偏好 57% 對 judge 73–97% 對嗎?
12. arXiv 2604.22891 = Quantifying and Mitigating Self-Preference Bias of LLM Judges,是否測 20 個 LLM,結論是能力與低 SPB 不相關甚至負相關,結構化多維度評估平均降 SPB 31.5%?
13. arXiv 2607.12885 = LLM Judges Can Be Too Generous When There Is No Reference Answer,加入 reference 是否讓對錯判決翻轉高達 85%?
14. arXiv 2601.07506 = Judging Against the Reference,reference 與 judge 參數知識衝突時是否 CoT / ICL / 詳細指令都無效?
15. arXiv 2606.15610 = LLM Judges Have Dark Current,Judge Datasheet 是否量 dark current / stable cross-sensitivity / positional false preference / target sensitivity / tie 指令誘導的操作點?
需要你特別幫我判定的三個存疑項:
A. 有來源說 arXiv 2510.09738(Judge's Verdict)給出「1,994 題、每題三份標註、人類間平均 Cohen's kappa = 0.801」,但 arXiv 2607.08535 在自己的 200 題 Judge's Verdict 切片上報人類 kappa = 0.562。這兩個數字各自出自哪裡?哪一個是原論文正文的數字?
B. 「pointwise judge 的分數分佈坍縮到 4 與 5」這個具體現象,有沒有正式發表的量化數字(例如 top-2 分數佔比)?我目前只找到 CoT 壓縮分佈與 central tendency compression 的一般性論述。
C. arXiv 2604.23178 引述的 Bellibatlu 2026「JudgeSense」說 pairwise 任務在 9 個 judge 裡有 8 個出現 always-A 退化行為,這篇原文存在嗎?編號是什麼?
最後請驗算我的三個算術:
(i) 同意率固定 0.80,二元標籤邊際分佈 50/50 → kappa 0.600;70/30 → 0.524;90/10 → −0.111。對嗎?
(ii) flip rate 13.6% 下,100 題 pairwise eval 純由 judge 非決定性貢獻的 win rate 標準差約 1.84 pp(√(13.6×0.25)),2σ 約 ±3.7 pp。這個建模合理嗎?
(iii) 要讓 p=0.70 的比例估計 95% CI 半寬 ≤ 3 pp,需要 n ≈ 896。對嗎?