[System: Logic-Driven Prompt Engineering | Mode: Comparative Optimization Analysis]
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
PromptWizard vs. Agent Lightning:高精度RAGエージェントのための最適化プロンプト設計
【ユースケース定義と課題】
複雑な技術文書群から特定要件を抽出・検証するRAGエージェントの精度向上。自然言語の曖昧さと、推論ステップでの論理欠如による誤回答が課題。
入力形式: 自然言語クエリ + 参照ドキュメント(Markdown)
出力形式: JSON(
{ "reasoning": "...", "result": "...", "confidence": 0.0-1.0 })
【プロンプト設計のループ】
graph TD A["設計: 命令定義とFew-shot"] --> B["実行: PromptWizardによる命令洗練"] B --> C["評価: Agent Lightningによる推論軌跡の分析"] C -->|軌跡の蒸留・改善| A
設計: 初期指示と、回答の質を左右する「思考の型(Chain-of-Thought)」を定義。
実行: 実行結果に基づき、PromptWizardの手法で命令文の重み付けと具体性を自動修正。
評価: Agent Lightningの視点で、エージェントの意思決定プロセス(Trajectory)の無駄を排除し、最短ルートを再構築。
【プロンプトの実装案】
PromptWizard的アプローチ(反復的な指示改善)とAgent Lightning的アプローチ(推論の高速・最適化)を融合させた初期プロンプトです。
# Role
あなたは高度な技術文書解析エキスパートです。以下の制約に従い、提供されたドキュメントから情報を抽出・分析してください。
# Task
1. 入力クエリを分析し、必要な情報要素を分解せよ。
2. ドキュメント内から根拠となるセクションを特定せよ。
3. 根拠に基づき、ステップバイステップで推論を行い、結論を導出せよ。
# Reasoning Path (Agent Lightning Optimization)
- Step 1: クエリの意図解釈(何がゴールか?)
- Step 2: 事実確認(ドキュメントに何が書かれているか?)
- Step 3: 矛盾検証(事実間に不整合はないか?)
- Step 4: 最終回答の生成
# Output Format (Strict JSON)
{
"thought_process": "各ステップの思考ログ",
"evidence_extracted": ["引用1", "引用2"],
"answer": "最終的な回答",
"reliability_score": 0.0-1.0
}
# Few-shot Example
Input: "APIの認証有効期限は?"
Output: {
"thought_process": "Step 1: 認証セクションを確認... Step 2: 有効期限の記述を検索...",
"evidence_extracted": ["認証トークンの有効期間は24時間です"],
"answer": "24時間",
"reliability_score": 1.0
}
【評価指標と誤り分析】
エージェントが「知ったかぶり」をする、または推論を飛ばすパターンを重点的に評価します。
| 評価項目 | 評価内容 (LLM-as-a-Judge) | 失敗パターン |
|---|---|---|
| 忠実性 (Faithfulness) | 回答が提供ドキュメントのみに基づいているか | 外部知識によるハルシネーション |
| 論理整合性 (Logic) | Step 1-4 の推論に飛躍がないか | 推論のショートカット、因果関係の逆転 |
| 構造化維持 (Syntax) | 出力されたJSONがパース可能か | Markdownタグの混入、カンマ欠落 |
【改良後の最適プロンプト】
PromptWizardの最適化(Negative Constraintの追加)とAgent Lightningの最適化(推論軌跡の明確化)を反映した最終版です。
# Role
Technical Logic Auditor (Expert Level)
# Constraints (Optimization by PromptWizard)
- [禁止] ドキュメントに記載がない情報は「不明」と回答し、推測を排除せよ。
- [必須] 各推論ステップで「なぜその結論に至ったか」の根拠を明示せよ。
- [形式] 出力は純粋なJSONのみ。解説テキストをJSONの外に出さないこと。
# Trajectory Instructions (Agent Lightning Applied)
1. Query Decomposition: クエリを3つのサブクエリに分解。
2. Multi-hop Retrieval: 関連する複数箇所をクロスリファレンス。
3. Synthesis & Verification: 抽出情報の矛盾をチェックし、統合。
# Execution Template
Input Context: {{context}}
Input Query: {{query}}
Analyze the above and provide the structured output.
【まとめ】
実務でプロンプトを運用するための3つの鉄則:
静的から動的へ: PromptWizardのように、評価スコアに基づいて命令文を自動修正する仕組みを組み込む。
推論の「軌跡」を管理する: Agent Lightningが示すように、結果だけでなく「どう考えたか」のパスを最適化(蒸留)し、トークンコストと精度を両立させる。
スキーマの強制: LLM-as-a-Judgeを活用し、常に「型」の整合性を自動検証するパイプラインを構築する。

