<p><meta/>
{
“version”: “1.1”,
“technique”: [“LLM-as-a-Judge”, “Rubric-based Evaluation”, “Chain-of-Thought”, “Form-Filling”],
“target_models”: [“Gemini 1.5 Pro/Flash”, “GPT-4o”],
“context”: “Professional prompt engineering for automated quality assurance.”
}
</p>
<p>本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</p>
<h1 class="wp-block-heading">評価精度を劇的に向上させる「ルーブリック+フォーム記入型」LLM-as-a-Judgeプロンプト</h1>
<h3 class="wp-block-heading">【ユースケース定義と課題】</h3>
<p>カスタマーサポート等のLLM生成物の品質を、多角的な評価基準(ルーブリック)に基づき、人間と同等の精度で自動採点・分析すること。
<strong>課題:</strong> 単純な採点では「根拠の欠如」や「一貫性のないスコアリング」が発生し、評価結果の信頼性が低くなる点。
<strong>入出力形式:</strong> 入力は「ユーザー質問+回答」、出力は評価理由とスコアを含む「JSON形式」。</p>
<h3 class="wp-block-heading">【プロンプト設計のループ】</h3>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
graph TD
A["設計: 評価基準とフォーム項目の定義"] --> B["実行: LLMによる評価実施"]
B --> C["評価: 人間の評価との相関/一致率の確認"]
C -->|不一致/幻覚あり| A
C -->|精度向上| D["運用: 自動モニタリングへの組み込み"]
</pre></div>
<ol class="wp-block-list">
<li><p><strong>設計</strong>: 評価項目(正確性、丁寧さ、等)ごとに、1〜5点の具体的定義を明文化する。</p></li>
<li><p><strong>実行</strong>: 「思考(Reasoning)」を先に書かせるフォーム形式でLLMに評価させる。</p></li>
<li><p><strong>評価</strong>: サンプルデータを用い、人間がつけたスコアとLLMのスコアが乖離していないか検証する。</p></li>
</ol>
<h3 class="wp-block-heading">【プロンプトの実装案】</h3>
<div class="codehilite">
<pre data-enlighter-language="generic"># Role
あなたは、カスタマーサポートの回答品質を厳格に評価する品質管理スペシャリストです。
提示された「評価基準(ルーブリック)」に基づき、客観的な視点で回答を評価してください。
# Evaluation Rubric: [正確性]
- Score 1: 致命的な誤情報が含まれている。
- Score 2: 部分的に誤りがあるか、重要な前提条件が抜けている。
- Score 3: 概ね正しいが、表現に曖昧さがあり、誤解を招く恐れがある。
- Score 4: 正確であり、必要な情報を十分に網羅している。
- Score 5: 完璧に正確であり、補足情報も含めてユーザーの期待を上回る。
# Task Instructions
以下の「評価フォーム」の全項目を順に埋めてください。
**注意:必ず「スコア」を決定する前に、その根拠となる「分析」を記述してください(Reason-before-Score)。**
# Input Data
- ユーザーの質問: {{USER_QUERY}}
- LLMの回答: {{AI_RESPONSE}}
# Evaluation Form (Output JSON format)
{
"analysis": {
"factual_check": "回答内容と事実の照合結果を記述",
"rubric_justification": "ルーブリックのどの定義に該当するか、具体的な証拠を記述"
},
"scores": {
"accuracy": 0 // 1-5の整数
},
"improvement_suggestion": "さらに良くするための具体的な修正案"
}
</pre>
</div>
<h3 class="wp-block-heading">【評価指標と誤り分析】</h3>
<p>自動評価の信頼性を阻害する要因を特定し、以下の指標で監視します。</p>
<figure class="wp-block-table"><table>
<thead>
<tr>
<th style="text-align:left;">評価指標</th>
<th style="text-align:left;">失敗パターン(誤り分析)</th>
<th style="text-align:left;">対策</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"><strong>一致率 (Inter-rater)</strong></td>
<td style="text-align:left;">人間の評価とスコアが2点以上乖離する</td>
<td style="text-align:left;">ルーブリックの記述をより具体的に(例:〜という単語があれば3点等)修正</td>
</tr>
<tr>
<td style="text-align:left;"><strong>根拠の妥当性</strong></td>
<td style="text-align:left;">スコアは正しいが、理由(Analysis)が事実無根</td>
<td style="text-align:left;">Chain-of-Thought(思考過程)の強制出力を強化</td>
</tr>
<tr>
<td style="text-align:left;"><strong>ハロー効果</strong></td>
<td style="text-align:left;">文体が丁寧だと、内容が間違っていても高得点になる</td>
<td style="text-align:left;">「丁寧さ」と「正確性」の評価項目を完全に分離して定義</td>
</tr>
<tr>
<td style="text-align:left;"><strong>JSON構造維持</strong></td>
<td style="text-align:left;">評価文が長すぎてJSONが壊れる</td>
<td style="text-align:left;"><code>response_format: { type: "json_object" }</code> の指定とスキーマの固定</td>
</tr>
</tbody>
</table></figure>
<h3 class="wp-block-heading">【改良後の最適プロンプト】</h3>
<p>最新のGemini 1.5 Pro等で高いパフォーマンスを発揮する、構造化された最終プロンプトです。</p>
<div class="codehilite">
<pre data-enlighter-language="generic"># Role
QA Expert for AI generated content.
# System Logic: Rubric-based Form Filling
Evaluate the [AI_RESPONSE] based on the [CONTEXT].
You MUST fill the form in the order specified. Thinking first, then scoring.
# Rubrics
1. Accuracy (1-5): Accuracy of facts.
2. Tone (1-5): Professionalism and empathy.
# Evaluation Form Format (Strict JSON)
{
"thought_process": {
"evidence_extraction": "List specific parts of the response related to facts.",
"logical_deduction": "Explain why it matches a specific rubric level."
},
"evaluation_results": {
"accuracy_score": null,
"tone_score": null,
"overall_rational": "Summary of evaluation."
}
}
# Input
- Context: {{CONTEXT}}
- AI_Response: {{AI_RESPONSE}}
# Execution
Evaluate now. Follow the JSON structure exactly. No conversational text before or after the JSON.
</pre>
</div>
<h3 class="wp-block-heading">【まとめ】</h3>
<p>実務でLLM-as-a-Judgeを運用するための3つの鉄則:</p>
<ol class="wp-block-list">
<li><p><strong>Reasoning-First (思考の先行出力):</strong> スコアを出す前に、必ず証拠の抽出と分析をステップバイステップで行わせる(CoTの強制)。</p></li>
<li><p><strong>Rubric Orthogonality (評価軸の直交性):</strong> 評価項目同士が重複しないように設計し、特定の要素(例:丁寧さ)が他の要素(例:正確性)に影響を与えないようにする。</p></li>
<li><p><strong>Few-shot Calibration (例示による補正):</strong> 「この回答なら3点、この回答なら5点」という境界線の具体例を3つ以上プロンプトに含めることで、モデルのバイアスを最小化する。</p></li>
</ol>
{
“version”: “1.1”,
“technique”: [“LLM-as-a-Judge”, “Rubric-based Evaluation”, “Chain-of-Thought”, “Form-Filling”],
“target_models”: [“Gemini 1.5 Pro/Flash”, “GPT-4o”],
“context”: “Professional prompt engineering for automated quality assurance.”
}
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証) です。
評価精度を劇的に向上させる「ルーブリック+フォーム記入型」LLM-as-a-Judgeプロンプト
【ユースケース定義と課題】
カスタマーサポート等のLLM生成物の品質を、多角的な評価基準(ルーブリック)に基づき、人間と同等の精度で自動採点・分析すること。
課題: 単純な採点では「根拠の欠如」や「一貫性のないスコアリング」が発生し、評価結果の信頼性が低くなる点。
入出力形式: 入力は「ユーザー質問+回答」、出力は評価理由とスコアを含む「JSON形式」。
【プロンプト設計のループ】
graph TD
A["設計: 評価基準とフォーム項目の定義"] --> B["実行: LLMによる評価実施"]
B --> C["評価: 人間の評価との相関/一致率の確認"]
C -->|不一致/幻覚あり| A
C -->|精度向上| D["運用: 自動モニタリングへの組み込み"]
設計 : 評価項目(正確性、丁寧さ、等)ごとに、1〜5点の具体的定義を明文化する。
実行 : 「思考(Reasoning)」を先に書かせるフォーム形式でLLMに評価させる。
評価 : サンプルデータを用い、人間がつけたスコアとLLMのスコアが乖離していないか検証する。
【プロンプトの実装案】
# Role
あなたは、カスタマーサポートの回答品質を厳格に評価する品質管理スペシャリストです。
提示された「評価基準(ルーブリック)」に基づき、客観的な視点で回答を評価してください。
# Evaluation Rubric: [正確性]
- Score 1: 致命的な誤情報が含まれている。
- Score 2: 部分的に誤りがあるか、重要な前提条件が抜けている。
- Score 3: 概ね正しいが、表現に曖昧さがあり、誤解を招く恐れがある。
- Score 4: 正確であり、必要な情報を十分に網羅している。
- Score 5: 完璧に正確であり、補足情報も含めてユーザーの期待を上回る。
# Task Instructions
以下の「評価フォーム」の全項目を順に埋めてください。
**注意:必ず「スコア」を決定する前に、その根拠となる「分析」を記述してください(Reason-before-Score)。**
# Input Data
- ユーザーの質問: {{USER_QUERY}}
- LLMの回答: {{AI_RESPONSE}}
# Evaluation Form (Output JSON format)
{
"analysis": {
"factual_check": "回答内容と事実の照合結果を記述",
"rubric_justification": "ルーブリックのどの定義に該当するか、具体的な証拠を記述"
},
"scores": {
"accuracy": 0 // 1-5の整数
},
"improvement_suggestion": "さらに良くするための具体的な修正案"
}
【評価指標と誤り分析】
自動評価の信頼性を阻害する要因を特定し、以下の指標で監視します。
評価指標
失敗パターン(誤り分析)
対策
一致率 (Inter-rater)
人間の評価とスコアが2点以上乖離する
ルーブリックの記述をより具体的に(例:〜という単語があれば3点等)修正
根拠の妥当性
スコアは正しいが、理由(Analysis)が事実無根
Chain-of-Thought(思考過程)の強制出力を強化
ハロー効果
文体が丁寧だと、内容が間違っていても高得点になる
「丁寧さ」と「正確性」の評価項目を完全に分離して定義
JSON構造維持
評価文が長すぎてJSONが壊れる
response_format: { type: "json_object" } の指定とスキーマの固定
【改良後の最適プロンプト】
最新のGemini 1.5 Pro等で高いパフォーマンスを発揮する、構造化された最終プロンプトです。
# Role
QA Expert for AI generated content.
# System Logic: Rubric-based Form Filling
Evaluate the [AI_RESPONSE] based on the [CONTEXT].
You MUST fill the form in the order specified. Thinking first, then scoring.
# Rubrics
1. Accuracy (1-5): Accuracy of facts.
2. Tone (1-5): Professionalism and empathy.
# Evaluation Form Format (Strict JSON)
{
"thought_process": {
"evidence_extraction": "List specific parts of the response related to facts.",
"logical_deduction": "Explain why it matches a specific rubric level."
},
"evaluation_results": {
"accuracy_score": null,
"tone_score": null,
"overall_rational": "Summary of evaluation."
}
}
# Input
- Context: {{CONTEXT}}
- AI_Response: {{AI_RESPONSE}}
# Execution
Evaluate now. Follow the JSON structure exactly. No conversational text before or after the JSON.
【まとめ】
実務でLLM-as-a-Judgeを運用するための3つの鉄則:
Reasoning-First (思考の先行出力): スコアを出す前に、必ず証拠の抽出と分析をステップバイステップで行わせる(CoTの強制)。
Rubric Orthogonality (評価軸の直交性): 評価項目同士が重複しないように設計し、特定の要素(例:丁寧さ)が他の要素(例:正確性)に影響を与えないようにする。
Few-shot Calibration (例示による補正): 「この回答なら3点、この回答なら5点」という境界線の具体例を3つ以上プロンプトに含めることで、モデルのバイアスを最小化する。
ライセンス :本記事のテキスト/コードは特記なき限り
CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。
コメント