<p><!-- metadata: style_prompt_applied -->
本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</p>
<h1 class="wp-block-heading">複雑な論理推論タスクの精度を最大化するChain-of-Thought(CoT)プロンプト設計ガイド</h1>
<h3 class="wp-block-heading">【ユースケース定義と課題】</h3>
<p>複雑なビジネス条件の判定やロジック検証を正確に行い、論理的破綻のない回答を出力させます。(61文字)</p>
<ul class="wp-block-list">
<li><p><strong>入力形式</strong>: Markdown(業務要件・判定対象のシナリオ)</p></li>
<li><p><strong>出力形式</strong>: JSON(判定結果、判定理由、信頼度スコア)</p></li>
</ul>
<hr/>
<h3 class="wp-block-heading">【プロンプト設計のループ】</h3>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
graph TD
A["設計"] --> B["実行"]
B --> C["評価"]
C -->|改善| A
</pre></div>
<ul class="wp-block-list">
<li><p><strong>設計</strong>: タスクの分解と、思考プロセス(CoT)を誘発する命令文および出力フォーマットの事前定義を行います。</p></li>
<li><p><strong>実行</strong>: 最新モデル(Gemini 1.5 Pro等)に対してプロンプトを入力し、推論ステップの生成を行わせます。</p></li>
<li><p><strong>評価</strong>: LLM-as-a-Judgeを用いて、思考プロセスの妥当性および出力フォーマットの厳密性を自動採点し、問題点を洗い出します。</p></li>
</ul>
<hr/>
<h3 class="wp-block-heading">【プロンプトの実装案】</h3>
<div class="codehilite">
<pre data-enlighter-language="generic">あなたは高度な論理的思考を持つビジネスアナリストです。
以下の入力テキスト(業務ルールと判定対象)を読み、条件に適合するか判定してください。
# 思考プロセス(Chain-of-Thought)の指示
回答を出力する前に、必ず以下の手順でステップ・バイ・ステップで思考してください:
1. 適用されるべき業務ルールをすべて箇条書きで抽出する。
2. 判定対象のシナリオから、事実関係を整理する。
3. ルールと事実関係を1つずつ照合し、条件を満たしているか検証する。
4. 最終的な結論と根拠をまとめる。
# 入力データ
[業務ルール]
- 契約金額が100万円以上の場合、部長承認が必要。
- 納期の変更がある場合、法務の事前確認が必要。
[対象シナリオ]
- 契約金額150万円、納期変更ありの案件。
# 出力フォーマット(JSON)
```json
{
"reasoning_steps": [
"ステップ1: ...",
"ステップ2: ..."
],
"requires_department_manager_approval": true/false,
"requires_legal_check": true/false,
"final_judgment": "承認・確認の要否まとめ"
}
</pre>
</div>
<pre data-enlighter-language="generic">
---
### 【評価指標と誤り分析】
#### 主な失敗パターン
1. **思考の飛躍(Hallucination / Skip)**: 中間ステップをスキップし、根拠のない結論を出す。
2. **フォーマット崩れ**: CoTを出力させた結果、最終出力のJSON構造が破損する。
3. **ルール見落とし**: 複数の複雑な条件が存在する場合に一部の評価を失念する。
#### 自動評価基準(LLM-as-a-Judge)
| 評価項目 | 配点 | 評価基準 |
| :--- | :--- | :--- |
| **論理的整合性** | 40点 | 思考プロセス(reasoning_steps)に矛盾や飛躍がないか |
| **条件網羅性** | 30点 | 指定されたすべてのルール・事実関係を判定対象に含めているか |
| **フォーマット準拠性** | 30点 | 指定されたJSON形式に完全に準拠し、余計なテキストが含まれていないか |
---
### 【改良後の最適プロンプト】
```text
あなたは厳格な論理検証を行うAI監査官です。
与えられた規約と案件内容を比較し、正確な判定を行ってください。
# 制約事項
- 事実に基づかない推測(ハルシネーション)は厳禁です。
- 思考プロセスは必ず `thinking_process` フィールド内で展開してください。
# 思考手順(Systematic CoT)
1. 事実抽出: 案件データから事実のみを抽出。
2. 適用規約の特定: 関連する規約をリスト化。
3. 個別検証: 各規約と事実を比較(PASS/FAIL/NOT_APPLICABLE)。
4. 総合判定: 全検証結果に基づく最終判定の導出。
# 入力データ
[規約]
{{RULES}}
[案件データ]
{{CASE_DATA}}
# 出力形式
```json
{
"thinking_process": {
"step1_facts": [],
"step2_applied_rules": [],
"step3_verification": [
{"rule_id": "", "status": "PASS|FAIL", "reason": ""}
]
},
"final_result": {
"approved": true,
"summary": ""
}
}
</pre>
<p>“`</p>
<hr/>
<h3 class="wp-block-heading">【まとめ】</h3>
<p>実務でプロンプトを運用するための3つの鉄則:</p>
<ol class="wp-block-list">
<li><p><strong>思考と出力の分離</strong>: 思考プロセス(CoT)を構造化フィールド内に限定させ、最終出力のフォーマット破壊を防ぐ。</p></li>
<li><p><strong>Step-by-Stepの明示的誘導</strong>: 単に「考えてください」ではなく、具体的にどのような手順で検証を進めるべきか(事実抽出→照合→判定)を指定する。</p></li>
<li><p><strong>自動評価(LLM-as-a-Judge)の組み込み</strong>: プロンプト変更時には必ず評価基準テーブルに基づいた定量評価を行い、精度維持を図る。</p></li>
</ol>
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
複雑な論理推論タスクの精度を最大化するChain-of-Thought(CoT)プロンプト設計ガイド
【ユースケース定義と課題】
複雑なビジネス条件の判定やロジック検証を正確に行い、論理的破綻のない回答を出力させます。(61文字)
【プロンプト設計のループ】
graph TD
A["設計"] --> B["実行"]
B --> C["評価"]
C -->|改善| A
設計: タスクの分解と、思考プロセス(CoT)を誘発する命令文および出力フォーマットの事前定義を行います。
実行: 最新モデル(Gemini 1.5 Pro等)に対してプロンプトを入力し、推論ステップの生成を行わせます。
評価: LLM-as-a-Judgeを用いて、思考プロセスの妥当性および出力フォーマットの厳密性を自動採点し、問題点を洗い出します。
【プロンプトの実装案】
あなたは高度な論理的思考を持つビジネスアナリストです。
以下の入力テキスト(業務ルールと判定対象)を読み、条件に適合するか判定してください。
# 思考プロセス(Chain-of-Thought)の指示
回答を出力する前に、必ず以下の手順でステップ・バイ・ステップで思考してください:
1. 適用されるべき業務ルールをすべて箇条書きで抽出する。
2. 判定対象のシナリオから、事実関係を整理する。
3. ルールと事実関係を1つずつ照合し、条件を満たしているか検証する。
4. 最終的な結論と根拠をまとめる。
# 入力データ
[業務ルール]
- 契約金額が100万円以上の場合、部長承認が必要。
- 納期の変更がある場合、法務の事前確認が必要。
[対象シナリオ]
- 契約金額150万円、納期変更ありの案件。
# 出力フォーマット(JSON)
```json
{
"reasoning_steps": [
"ステップ1: ...",
"ステップ2: ..."
],
"requires_department_manager_approval": true/false,
"requires_legal_check": true/false,
"final_judgment": "承認・確認の要否まとめ"
}
---
### 【評価指標と誤り分析】
#### 主な失敗パターン
1. **思考の飛躍(Hallucination / Skip)**: 中間ステップをスキップし、根拠のない結論を出す。
2. **フォーマット崩れ**: CoTを出力させた結果、最終出力のJSON構造が破損する。
3. **ルール見落とし**: 複数の複雑な条件が存在する場合に一部の評価を失念する。
#### 自動評価基準(LLM-as-a-Judge)
| 評価項目 | 配点 | 評価基準 |
| :--- | :--- | :--- |
| **論理的整合性** | 40点 | 思考プロセス(reasoning_steps)に矛盾や飛躍がないか |
| **条件網羅性** | 30点 | 指定されたすべてのルール・事実関係を判定対象に含めているか |
| **フォーマット準拠性** | 30点 | 指定されたJSON形式に完全に準拠し、余計なテキストが含まれていないか |
---
### 【改良後の最適プロンプト】
```text
あなたは厳格な論理検証を行うAI監査官です。
与えられた規約と案件内容を比較し、正確な判定を行ってください。
# 制約事項
- 事実に基づかない推測(ハルシネーション)は厳禁です。
- 思考プロセスは必ず `thinking_process` フィールド内で展開してください。
# 思考手順(Systematic CoT)
1. 事実抽出: 案件データから事実のみを抽出。
2. 適用規約の特定: 関連する規約をリスト化。
3. 個別検証: 各規約と事実を比較(PASS/FAIL/NOT_APPLICABLE)。
4. 総合判定: 全検証結果に基づく最終判定の導出。
# 入力データ
[規約]
{{RULES}}
[案件データ]
{{CASE_DATA}}
# 出力形式
```json
{
"thinking_process": {
"step1_facts": [],
"step2_applied_rules": [],
"step3_verification": [
{"rule_id": "", "status": "PASS|FAIL", "reason": ""}
]
},
"final_result": {
"approved": true,
"summary": ""
}
}
“`
【まとめ】
実務でプロンプトを運用するための3つの鉄則:
思考と出力の分離: 思考プロセス(CoT)を構造化フィールド内に限定させ、最終出力のフォーマット破壊を防ぐ。
Step-by-Stepの明示的誘導: 単に「考えてください」ではなく、具体的にどのような手順で検証を進めるべきか(事実抽出→照合→判定)を指定する。
自動評価(LLM-as-a-Judge)の組み込み: プロンプト変更時には必ず評価基準テーブルに基づいた定量評価を行い、精度維持を図る。
ライセンス:本記事のテキスト/コードは特記なき限り
CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。
コメント