進階評估
本技能涵蓋使用 LLM 作為評審進行 LLM 輸出生產級評估的技術。它綜合了學術論文、業界實務及實作經驗中的研究成果,將其轉化為建構可靠評估系統的可操作模式。
關鍵洞察:LLM-as-a-Judge 並非單一技術,而是一系列方法,每種方法適用於不同的評估情境。選擇正確的方法並減輕已知的偏誤,是本技能培養的核心能力。
啟用時機
請在下列情況啟用此技能:
- 建構 LLM-as-judge 系統以評估 LLM 輸出
- 比較多個模型回覆以選出最佳者
- 在評估團隊中建立一致的品質標準
- 調試顯示不一致結果的評估系統
- 設計提示或模型變更的 A/B 測試
- 專門為 LLM 或人類/LLM 混合評審建立評分標準
- 分析自動化評估與人工評估之間的相關性
對於其他技能負責的相鄰工作,請勿啟用此技能:
- 一般確定性檢查、回歸測試套件、生產品質關卡或結果指標:
evaluation。 - 自主循環治理、鎖定評分標準、回滾或 PR 核准界限:
harness-engineering。 - 評估工具的工具 API 合約:
tool-design。
核心概念
評估分類
根據是否存在客觀事實(Ground Truth)在兩種主要方法間選擇:
直接評分 — 當存在客觀標準時使用(事實準確性、指令遵循、毒性)。一個 LLM 根據定義的量表對一個回覆進行評分。對於定義明確的標準,可達到中等到高的可靠性。需注意評分校準漂移以及不一致的量表解讀。
成對比較 — 用於主觀偏好(語氣、風格、說服力)。一個 LLM 比較兩個回覆並選擇較佳者。對於主觀任務,成對方法通常比開放式直接評分更能與人類偏好相關(claim-advanced-evaluation-position-swap)。需注意位置偏誤和長度偏誤。
偏誤景觀
在每個評估系統中減輕這些系統性偏誤:
位置偏誤:第一位置的回覆會獲得優待。透過兩次評估(交換位置)後應用多數決或一致性檢查來減輕。
長度偏誤:較長的回覆無論品質如何都會獲得較高分數。透過明確提示忽略長度並應用長度正規化評分來減輕。
自我增強偏誤:模型會對自己的輸出給予較高評價。透過使用不同的模型進行生成和評估來減輕。
冗詞偏誤:即使不必要,過多的細節也會獲得較高分數。透過使用懲罰不相關細節的特定標準評分標準來減輕。
權威偏誤:自信的語氣無論正確性如何都會獲得較高分數。透過要求引用證據並新增事實查核層來減輕。
指標選擇框架
根據評估任務結構匹配指標:
| 任務類型 | 主要指標 | 次要指標 |
|---|---|---|
| 二元分類(通過/失敗) | 召回率、精確率、F1 值 | Cohen's kappa |
| 順序量表(1-5 評分) | Spearman's rho、Kendall's tau | Cohen's kappa(加權) |
| 成對偏好 | 一致性比率、位置一致性 | 信心校準 |
| 多標籤 | Macro-F1、Micro-F1 | 每個標籤的精確率/召回率 |
優先關注系統性的不一致模式,而非絕對的一致性比率,因為一個在特定標準上始終與人類不一致的評審,比一個有隨機雜訊的評審更成問題。
評估方法
直接評分實作
建構直接評分需三個組成部分:明確的標準、校準的量表以及結構化的輸出格式。
標準定義模式:
標準:[名稱]
說明:[此標準衡量的內容]
權重:[相對重要性,0-1]
量表校準 — 根據評分標準的詳細程度選擇量表粒度:
- 1-3:含中立選項的二元量表,認知負荷最低
- 1-5:標準 Likert 量表,在粒度和可靠性之間取得最佳平衡
- 1-10:僅在具有詳細的各級別評分標準時使用,因為校準更困難
直接評分的提示結構:
您是一位評估回覆品質的專家評審。
## 任務
根據每項標準評估以下回覆。
## 原始提示
{prompt}
## 待評估回覆
{response}
## 標準
{for each criterion: name, description, weight}
## 指示
針對每項標準:
1. 在回覆中找到具體證據
2. 根據評分標準評分(1-{max} 量表)
3. 使用證據證明您的評分
4. 提出一個具體的改進建議
## 輸出格式
以結構化 JSON 回覆,包含評分、理由和摘要。
在評分提示中,要求先提供證據再給分數,這樣評審才能在給出數字之前將其決策錨定在可觀察的輸出特徵上。
成對比較實作
在每個成對評估中應用位置偏誤減輕:
- 先執行確定性預檢查:兩個候選項都必須滿足相同的模式、來源證據要求和範圍限制。
- 第一次評審:回覆 A 在第一位置,回覆 B 在第二位置。
- 第二次評審:回覆 B 在第一位置,回覆 A 在第二位置。
- 一致性檢查:如果評審結果不一致,則傳回「平手」並降低信心。
- 最終判決:一致獲勝者,具有平均信心和明確的平手理由。
成對比較的提示結構:
您是一位比較兩個 AI 回覆的專家評審。
## 關鍵指示
- 請勿因為回覆較長而偏好它們
- 請勿根據位置(第一 vs 第二)偏好回覆
- 僅根據指定的標準關注品質
- 當回覆確實等效時,可以接受平手
## 原始提示
{prompt}
## 回覆 A
{response_a}
## 回覆 B
{response_b}
## 比較標準
{criteria list}
## 指示
1. 先獨立分析每個回覆
2. 根據每項標準比較它們
3. 確定整體獲勝者並給出信心等級
## 輸出格式
JSON,包含每個標準的比較、整體獲勝者、信心(0-1)和理由。
信心校準 — 根據位置一致性映射信心:
- 兩次評審一致:信心 = 個別信心的平均值
- 評審不一致:信心 = 0.5,判決 = 平手
評分標準生成
與開放式評分相比,生成評分標準可降低評估變異數。除非在目標評估集上測量,否則將確切的變異數減少視為工作負載特定。
包含以下評分標準組成部分:
- 等級描述:每個分數等級的明確界限
- 特徵:定義每個等級的可觀察特徵
- 範例:每個等級的代表性文字(可選但有價值)
- 邊界案例:針對模糊情況的指導
- 評分準則:一致應用的通用原則
根據用例設定嚴格性校準:
- 寬鬆:較低的通過門檻,適合鼓勵迭代
- 平衡:典型的生產期望
- 嚴格:對安全關鍵或高風險評估的高標準
根據領域調整評分標準——使用領域特定術語。程式碼可讀性評分標準會提及變數、函數和註解。醫療準確性評分標準會參考臨床術語和證據標準。
實用指南
評估管線設計
使用以下層級建構生產評估系統:標準載入器(評分標準 + 權重)-> 主要評分器(直接或成對)-> 偏誤減輕(位置交換等)-> 信心評分(校準)-> 輸出(分數 + 理由 + 信心)。請參閱評估管線圖以取得完整的視覺佈局。
決策框架:直接 vs. 成對
應用此決策樹:
是否存在客觀事實(Ground Truth)?
+-- 是 -> 直接評分
| 範例:事實準確性、指令遵循、格式合規
|
+-- 否 -> 這是偏好或品質判斷嗎?
+-- 是 -> 成對比較
| 範例:語氣、風格、說服力、創造力
|
+-- 否 -> 考慮基於參考的評估
範例:摘要(與來源比較)、翻譯(與參考比較)
擴展評估
對於大量評估,應用以下策略之一:
-
LLM 專家小組 (PoLL):使用多個模型作為評審並彙總投票,以減少個別模型偏誤。對於高風險決策,成本更高但更可靠。
-
階層式評估:使用快速、便宜的模型進行篩選,並使用昂貴的模型處理邊界案例。需要校準篩選門檻。
-
人機協作:自動化處理明確案例,並將低信心的決策轉交給人工審查。設計回饋迴圈以隨著時間改進自動化評估。
範例
範例 1:直接評分用於準確性
輸入:
提示:「什麼導致地球上的季節?」
回覆:「季節是由地球傾斜的軸心造成的。當地球繞太陽運行時,
不同的半球在一年中的不同時間接收到的直射陽光量不同。」
標準:事實準確性(權重:1.0)
量表:1-5
輸出:
{
"criterion": "事實準確性",
"score": 5,
"evidence": [
"正確地將軸心傾斜確定為主要原因",
"正確地解釋了不同半球的陽光差異",
"沒有出現事實錯誤"
],
"justification": "回覆準確地解釋了季節的成因,並提供了正確的科學推理。
軸心傾斜及其對陽光分佈的影響都描述正確。",
"improvement": "可以補充具體的傾斜角度(23.5 度)以增加完整性。"
}
範例 2:帶位置交換的成對比較
輸入:
提示:「向初學者解釋機器學習」
回覆 A:[帶有術語的技術性解釋]
回覆 B:[基於類比的簡單解釋]
標準:[「清晰度」、「易理解性」]
第一次評審(A 在前):
{ "winner": "B", "confidence": 0.8 }
第二次評審(B 在前):
{ "winner": "A", "confidence": 0.6 }
(注意:獲勝者是 A,因為 B 在第一位置)
映射後的第二次評審:
{ "winner": "B", "confidence": 0.6 }
最終結果:
{
"winner": "B",
"confidence": 0.7,
"positionConsistency": {
"consistent": true,
"firstPassWinner": "B",
"secondPassWinner": "B"
}
}
範例 3:評分標準生成
輸入:
criterionName: "Code Readability"
criterionDescription: "How easy the code is to understand and maintain"
domain: "software engineering"
scale: "1-5"
strictness: "balanced"
輸出(簡化):
{
"levels": [
{
"score": 1,
"label": "不佳",
"description": "程式碼難以理解,需要耗費大量心力",
"characteristics": [
"沒有有意義的變數或函數名稱",
"沒有註解或文件",
"深度巢狀或錯綜複雜的邏輯"
]
},
{
"score": 3,
"label": "尚可",
"description": "程式碼需要一些心力才能理解",
"characteristics": [
"大多數變數具有有意義的名稱",
"複雜區段有基本註解",
"邏輯可遵循,但可以更簡潔"
]
},
{
"score": 5,
"label": "優秀",
"description": "程式碼一目了然且易於維護",
"characteristics": [
"所有名稱都具有描述性且一致",
"全面的文件",
"簡潔、模組化的結構"
]
}
],
"edgeCases": [
{
"situation": "程式碼結構良好但使用了領域特定的縮寫",
"guidance": "根據領域專家而非一般大眾的可讀性進行評分"
}
]
}
準則
-
始終要求先提供證據再給分數 - 證據優先的提示使判斷更容易稽核,並減少無根據的數字評分
-
在成對比較中始終交換位置 - 單次比較會被位置偏誤破壞
-
將量表粒度與評分標準的詳細程度相匹配 - 如果沒有詳細的等級描述,請勿使用 1-10 量表
-
分離客觀和主觀標準 - 客觀標準使用直接評分,主觀標準使用成對比較
-
包含信心分數 - 根據位置一致性和證據強度進行校準
-
明確定義邊界案例 - 模糊情況會導致最大的評估變異數
-
使用領域特定的評分標準 - 通用評分標準會產生通用(較不實用)的評估
-
根據人類判斷進行驗證 - 自動化評估只有在與人類評估相關時才有價值
-
監控系統性偏誤 - 根據標準、回覆類型、模型追蹤不一致模式
-
為迭代而設計 - 評估系統透過回饋迴圈不斷改進
陷阱
-
無理由的評分:分數缺乏依據且難以除錯。始終要求先提供基於證據的理由再給分。
-
單次成對比較:當位置不交換時,位置偏誤會破壞結果。始終進行兩次評估(交換位置)並檢查一致性。
-
過度負載的標準:一次衡量多個事物的標準會產生不可靠的分數。強制執行一個標準 = 一個可衡量的方面。
-
缺少邊界案例指導:如果沒有明確指示,評估者會不一致地處理模糊案例。在評分標準中包含邊界案例以及清晰的解決規則。
…
[為翻譯截斷]