本回答は、Chain-of-Thought(CoT)プロンプトの設計において、多段階の推論プロセスを構造化し、検証ステップを組み込むことで精度を最大化するアプローチをまとめています。推論の連鎖(Chain)を明示的に指示し、自己評価ルールを設けることで、論理的破綻や計算ミスを抑制する構成をとっています。
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
Chain-of-Thoughtを用いた多段階推論タスクの精度最適化プロンプト設計
【ユースケース定義と課題】
複雑な製造コスト算出や複数条件の論理推論において、途中の計算ミスや論理の飛躍を防ぎ、根拠に基づいた正確な結論をJSON形式で出力させます。
【プロンプト設計のループ】
graph TD A["設計: 思考ステップの定義"] --> B["実行: Zero-shot/Few-shot CoT"] B --> C["評価: 推論の整合性と形式チェック"] C -->|改善: 制約の追加と例示の最適化| A
設計: LLMが辿るべき論理ステップ(現状分析→中間計算→検証→結論)を定義します。
実行: 思考プロセスを書き出すよう指示し、タスクを遂行させます。
評価: 最終回答だけでなく、途中の推論が論理的か、出力形式が遵守されているかを検証します。
【プロンプトの実装案】
# Role
あなたは精密な論理推論を行うスペシャリストです。
# Task
以下の「条件」に基づき、最終的な計算結果と推論プロセスを回答してください。
# Conditions
1. 工場の年間稼働時間は360日、1日24時間。
2. 装置Aの電力消費は100kWh、装置Bは150kWh。
3. 電気代は一律 25円/kWh。
4. 装置Bを導入した場合、装置Aに比べ生産効率が20%向上し、人件費を年間1,000万円削減できる。
# Instructions
- 結論を出す前に、必ず思考の過程を「Step-by-step」で記述してください。
- 最終結果は以下のJSON形式で出力してください。
# Few-shot Example
Input: [条件データA]
Thought:
Step 1: 消費電力の差分を算出。150 - 100 = 50kWh。
Step 2: 年間の電気代増加分を計算。50 * 24 * 360 * 25 = ...
...
Output: {"result": "...", "cost_benefit": "..."}
# Output Format
{
"thought_process": "ここまでの思考ステップ",
"total_cost_delta": 0,
"is_profitable": true
}
【評価指標と誤り分析】
| 評価項目 | 採点基準 (1-5) | 失敗パターン |
|---|---|---|
| 推論の整合性 | 途中の論理に飛躍や矛盾がないか | 単位変換ミス、前提条件の無視 |
| 計算の正確性 | 数値計算が正しいか | 桁数の間違い、四則演算の誤り |
| 形式遵守 | 指定されたJSON構造を維持しているか | 余計な解説テキストの混入、閉じ括弧不足 |
【改良後の最適プロンプト】
# Role Professional Logic & Financial Analyst # Constraint Rules - [THINKING_PROCESS]: 結論を導く前に、変数の定義、中間計算、矛盾確認の3段階で思考を書き出すこと。 - [VERIFICATION]: 最終回答の前に、計算結果を逆算してセルフチェックすること。 - [FORMAT]: 出力は純粋なJSONのみとし、Markdownのコードブロックで囲むこと。 # Input Data [対象となる複雑なデータ] # Execution Command Let's think step by step to ensure the highest accuracy. Verify each calculation twice.
【まとめ】
思考の明示化: 「Let’s think step by step」だけでなく、思考の「型(ステップ)」を指定する。
検証フェーズの組み込み: プロンプト内で自己検算や論理チェックを明示的に命令する。
出力の分離: 推論過程(思考用)と構造化データ(結果用)を明確に分けて定義する。

