LLM-as-a-Judgeの落とし穴
評価モデルは冗長な回答に偏り、自身の出力の評価に苦戦するため、慎重なキャリブレーションが必要です。
「LLM-as-a-Judgeの落とし穴」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
なぜLLMを評価者にするのか
自由回答の出力(エッセイ、コードレビュー、会話形式の回答)には、唯一の正解がありません。何千もの出力を人間に採点してもらうには、多額のコストがかかります。
LLM-as-a-Judgeは、強力なモデルを使って出力を採点し、この問題を補います。
Basic LLM Judge
judge_prompt = '''
You are an evaluator. On a scale of 1-5, rate the following answer
for accuracy and helpfulness. Return JSON: {score: int, reason: str}.
Question: {question}
Answer: {answer}
'''落とし穴1:位置バイアス
評価者は、ペア比較で最初の回答を好みます。必ず順序をランダム化し、2回実行してください。
def fair_compare(a, b):
score_ab = compare(a, b)
score_ba = compare(b, a) # swapped
return (score_ab + score_ba) / 2落とし穴2:長さのバイアス
評価者は、短い回答のほうが優れている場合でも、長い回答を好みます。正規化するか、評価者に指示して調整してください。
judge_prompt = '... Penalize answers that are verbose without adding value ...'落とし穴3:自己選好
モデルは自分自身の出力を好みます。GPT-4に自分の成果物を評価させると、本来より高い点数を付けます。評価には別のモデルファミリーを使ってください。
- GPT-4の出力 -> Claudeが評価
- Claudeの出力 -> GPT-4が評価
落とし穴4:迎合
評価者は、回答内の強い意見に同意します。「100%確信しています…」という表現は、「…だと思います」より高い評価を受けます。評価の前に確信度を示す言葉を取り除いてください。
落とし穴5:スコアのインフレ
1〜5の尺度では、評価者の点数が4付近に集中します。より明確なシグナルを得るには、二値評価(正しい/誤り)を使ってください。
judge_prompt = '... Return PASS or FAIL only ...'落とし穴6:形式バイアス
正しさに関係なく、箇条書きの回答は文章形式より高く評価されます。この点を認識し、変動要因をなくすために形式を指定することも検討してください。
人間の評価で調整する
サンプルに対する人間の評価と、評価者の判定がどの程度相関するかを測定します。
from scipy.stats import pearsonr
human_scores = [...]
llm_scores = [...]
rho, _ = pearsonr(human_scores, llm_scores)
print(f'Correlation: {rho}')
# Below ~0.6 — judge unreliable for this task可能な場合はペア比較を使う
「AはBより優れていますか?」のほうが、「Aを1〜5で評価してください」より信頼性が高くなります。2つのプロンプトから選ぶ場合は、絶対評価よりペア比較を使います。
Chain-of-Thoughtによる評価
まず評価者に推論させます。
judge_prompt = '''
First list the factual claims in the answer.
Then check each against the reference.
Then produce a score.
Question: {q}
Reference: {r}
Answer: {a}
'''コスト
GPT-4で評価すると、evalのコストは2倍になります。通常のチェックには、より安価な評価者(gpt-4o-miniやclaude-haiku)を使い、大規模な評価者はリリース時のために温存してください。
ルールと組み合わせる
評価者だけに頼らないでください。次を組み合わせます。
- ルール(「'30 days'を含む」)
- ヒューリスティック(長さの範囲)
- 自由回答部分に対するLLM評価者
LLM評価者を調整する
LLM評価者の信頼性は、どのように確認すればよいでしょうか。
まとめ
LLM評価者は便利ですが、バイアスがあります。位置をランダム化し、長さを正規化し、異なるモデルファミリーを使い、人間の評価で調整し、明確なルールと組み合わせてください。
よくある質問
「LLM-as-a-Judgeの落とし穴」レッスンは無料ですか?
はい。「LLM-as-a-Judgeの落とし穴」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。
「LLM-as-a-Judgeの落とし穴」で何を学びますか?
評価モデルは冗長な回答に偏り、自身の出力の評価に苦戦するため、慎重なキャリブレーションが必要です。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Agentsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「LLM-as-a-Judgeの落とし穴」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Agentsレッスンでコードを書いて実行できますか?
はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- エージェントのEval-Driven Development
- Golden Test Setの構築
- LLM-as-a-Judgeの落とし穴
- ベンチマークスイート:SWE-Bench、GAIA、ToolBench