複雑な推論を自動化するプロンプト技術34選:Tree of ThoughtsとSelf-Refineの統合実装
【ユースケース定義と課題】
複雑なシステム設計や論理的矛盾の解消において、LLMの「思考の浅さ」や「一貫性の欠如」を、高度な推論フレームワークを用いて改善する。
入力形式: 自然言語による課題定義
出力形式: Markdown形式の解決策 + 思考プロセス(思考の木)
【プロンプト設計のループ】
graph TD A["設計: ToT/Self-Refineの組み込み"] --> B["実行: 複数パスの推論生成"] B --> C["評価: 論理的妥当性のセルフチェック"] C -->|論理破綻の修正| A C -->|精度向上| D["最終出力"]
設計: Tree of Thoughts (ToT) を模倣し、複数の思考プロセスを並列化する命令を組み込む。
実行: Gemini 1.5 Pro等の長文コンテキストを活用し、ステップごとに検証を行う。
評価: 出力された各パスに対し、LLM自身に批判的レビュー(Self-Refine)を行わせる。
【プロンプトの実装案】
Tree of Thoughts (ToT) と Chain-of-Thought (CoT) を組み合わせた、高度な推論用プロンプトです。
# Role あなたは世界最高峰の戦略コンサルタントおよびシステムアーキテクトです。 Tree of Thoughts (ToT) プロンプト手法を用い、以下の課題に対して「3つの異なる思考の道筋」を提示し、最終的にそれらを統合した最適解を導き出してください。 # Task [ここに解決したい複雑な課題を入力] # Constraints 1. 思考のプロセスを Step-by-Step で記述すること (Chain-of-Thought)。 2. 3つの異なるアプローチ(思考の木)を生成すること。 3. 各アプローチの「弱点」を自ら指摘すること (Self-Refine)。 4. 最終的に、3つの案を統合した「最強の解決策」を提示すること。 # Process Template ## Thought Branch 1: [アプローチ名] - 論理展開: - 期待される結果: - 潜在的リスク・弱点: ## Thought Branch 2: [アプローチ名] - 論理展開: - 期待される結果: - 潜在的リスク・弱点: ## Thought Branch 3: [アプローチ名] - 論理展開: - 期待される結果: - 潜在的リスク・弱点: ## Synthesis & Final Solution - 3案の比較評価: - 統合された最終回答:
【評価指標と誤り分析】
LLMが出力を自己評価する際、または人間が評価する際の基準を以下に定義します。
| 評価項目 | 評価内容 | 1点 (不可) | 5点 (優) |
|---|---|---|---|
| 論理的一貫性 | 思考の過程に矛盾がないか | 飛躍・矛盾がある | 全て整合している |
| 多角性 (ToT) | 異なる視点から検討しているか | 1つの視点のみ | 3つ以上の独自視点 |
| 自己批判 (Refine) | 自身の欠点を正しく認識しているか | 無批判 | 核心的な弱点を指摘 |
| フォーマット遵守 | 指定のMarkdown形式か | 崩れている | 完璧に準拠 |
主な失敗パターン:
ハルシネーション: 存在しない技術や事実を前提に思考を進める。
浅い批判: Self-Refineにおいて「特になし」や「さらなる検討が必要」といった抽象的な記述に留まる。
【改良後の最適プロンプト】
上記課題を克服するために、GoT (Graph of Thoughts) の要素を取り入れ、中間ノードでのフィードバックを強化した形式です。
# Instruction
以下の課題について、複数のエージェントが議論し、合意形成を行うプロセスをシミュレーションしてください。
1. 【立案】: 専門性の異なる3人のエキスパートが独自の解決策を提示する。
2. 【批判】: 各エキスパートが他者の案に対し、Graph of Thoughts的に相互フィードバックを行う。
3. 【洗練】: フィードバックに基づき、各案を修正(Self-Refine)する。
4. 【統合】: 議論を総括し、最も堅牢な結論を1つ出力する。
# Input Data
[課題の詳細]
# Output Format
JSON形式で出力してください。
{
"experts": [{"name": "...", "initial_plan": "..."}],
"critique_round": [{"from": "...", "to": "...", "feedback": "..."}],
"final_optimized_solution": "..."
}
【まとめ】
実務でプロンプト精度を最大化するための3つの鉄則:
「思考の外部化」を強制する: CoTやToTを用い、LLMに「答え」ではなく「解き方」を先に書かせる。
「批判フェーズ」を分離する: 案を出させるステップと、それを批判・修正するステップを明確に分ける(Self-Refine)。
「多角的シミュレーション」を行う: GoTや複数役割(Multi-role)の視点を取り入れ、単一の論理パスに陥るのを防ぐ。

