<p><style_prompt>
{
“expert_role”: “Prompt Engineering Specialist”,
“technical_focus”: [“Iterative Optimization”, “Agentic Workflow”, “Evaluation Metrics”],
“frameworks”: [“PromptWizard”, “Agent Lightning”, “Chain-of-Thought”],
“output_style”: “Business-Technical Draft”
}</style_prompt></p>
<p>
本記事は**Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)**です。
# PromptWizard vs Agent Lightning:市場分析エージェント構築におけるプロンプト最適化
## 【ユースケース定義と課題】
**ユースケース:**
公開されている企業情報から、競合他社に対する「独自の優位性(USP)」を抽出し、特定形式のJSONレポートを生成する。
**課題:**
1. **推論の欠落**:公開情報から直接的な答えがない場合、LLMが憶測で埋める、あるいは論理を飛躍させる「幻覚(Hallucination)」が発生する。
2. **フォーマット崩れ**:複雑な分析指示を重ねると、最終出力のJSONスキーマが破壊され、後続システムでのパースエラーを引き起こす。
—
## 【プロンプト設計のループ】
</p>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
graph TD
A["設計: 役割と制約の定義"] --> B["実行: Few-shot/CoT適用"]
B --> C["評価: LLM-as-a-Judgeによる採点"]
C -->|改善: PromptWizard方式の変異| A
C -->|固定: Agent Lightning方式の軽量化| D["デプロイ"]
</pre></div>
<p>
1. **設計**:役割(Role)と出力形式(JSON)を定義し、タスクを最小単位に分解。
2. **実行**:Gemini 1.5 Pro等の長文コンテキストを活用し、思考プロセス(CoT)を誘発。
3. **評価**:出力されたJSONの妥当性と、論理の整合性を別のLLMインスタンスで検証。
4. **改善**:評価が低い箇所を特定し、指示を「指示内容の自動変異(Wizard)」または「役割の専門化(Lightning)」により修正。
—
## 【プロンプトの実装案】
PromptWizardの「指示の反復改善」アプローチを取り入れた、初期実装用プロンプトです。
</p>
<div class="codehilite">
<pre data-enlighter-language="generic"># Role
あなたは戦略コンサルタントとして動作し、提供された企業情報から競合優位性を分析するエキスパートです。
# Constraints
1. 出力は必ず以下のJSON形式を守ること。
2. 根拠が不明確な場合は「unknown」と記述し、憶測を排除すること。
3. 推論プロセスを `reasoning` フィールドに記述し、結論を `usp` フィールドに記述すること。
# Input Data
企業名: {{company_name}}
事業内容: {{business_description}}
# Thinking Process (Chain-of-Thought)
1. 事業内容からターゲット市場を特定する。
2. 市場内の一般的なサービスと比較し、対象企業特有の機能・価格・顧客層を抽出する。
3. 抽出した要素から、他社が模倣困難な要素を「USP」として定義する。
# Output Format (JSON)
{
"company": "string",
"reasoning": "string",
"usp": ["string"],
"confidence_score": "number (0.0-1.0)"
}
</pre>
</div>
<p>
—
## 【評価指標と誤り分析】
LLM-as-a-Judgeを用い、以下の基準で自動評価を行います。
| 評価項目 | 評価内容 | 失敗パターン(例) |
| :— | :— | :— |
| **スキーマ準拠** | JSONがパース可能か、型は正しいか | カンマ欠落、Markdownタグの混入 |
| **論理一貫性** | reasoningとuspの内容に矛盾がないか | 根拠にない強みがuspに記載される |
| **根拠の正確性** | 入力データに基づいているか | 一般論(「高品質なサービス」等)の出力 |
| **幻覚率** | 入力にない情報を捏造していないか | 未知の製品名や提携先を勝手に生成 |
—
## 【改良後の最適プロンプト】
PromptWizardの「指示の具体化」とAgent Lightningの「効率的な役割分担」を統合した、高精度プロンプトです。
</p>
<div class="codehilite">
<pre data-enlighter-language="generic"># System Role
Competitive Intelligence Agent (Expert Mode)
# Mission
入力データに基づき、競合優位性(USP)の構造化分析を実行せよ。
# Execution Rules
- <Logic_Verification>: 各USPについて「なぜそれが模倣困難か」を反証的な視点で100文字程度で自己検証せよ。
- <Format_Control>: JSON以外のテキスト(挨拶や解説)は一切出力禁止。
- <Uncertainty_Handling>: 入力データに不足がある場合、`usp`を空配列にせず、不足している情報の種類を `missing_data` フィールドに明記せよ。
# Output JSON Schema
{
"analysis_meta": { "model": "Gemini-1.5-Pro", "timestamp": "ISO8601" },
"logic_verification": "string",
"data": {
"company": "{{company_name}}",
"usp": [],
"missing_data": []
}
}
# Example (Few-shot)
Input: 企業A, 独自の冷却技術を用いたサーバー提供。
Output: { "analysis_meta": {...}, "logic_verification": "冷却技術の特許性と電力効率の相関を確認。", "data": { "company": "企業A", "usp": ["冷却技術による低PUE"], "missing_data": [] } }
</pre>
</div><hr/>
<h2 class="wp-block-heading">【まとめ:運用の3つの鉄則】</h2>
<ol class="wp-block-list">
<li><p><strong>「思考」と「出力」を分離せよ</strong>
複雑なタスクでは、<code>reasoning</code> フィールドのように、LLMが結論を出す前に自ら考えを整理する「場」をプロンプト内に強制的に設けること。</p></li>
<li><p><strong>スキーマ崩れには「逆転の指示」を用いよ</strong>
「JSONで出力して」という指示よりも、「JSON以外の出力を厳禁とする」という否定的な制約の方が、現在の高IQモデル(GPT-4o/Gemini 1.5 Pro)には効果的である。</p></li>
<li><p><strong>評価を自動化し、指示を「変異」させよ</strong>
PromptWizardの核心は、人間が手動で直すのではなく、失敗した原因をLLMに分析させ、その分析結果をプロンプトにフィードバックするループを自動化することにある。</p></li>
</ol>
{
“expert_role”: “Prompt Engineering Specialist”,
“technical_focus”: [“Iterative Optimization”, “Agentic Workflow”, “Evaluation Metrics”],
“frameworks”: [“PromptWizard”, “Agent Lightning”, “Chain-of-Thought”],
“output_style”: “Business-Technical Draft”
}
本記事は**Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)**です。
# PromptWizard vs Agent Lightning:市場分析エージェント構築におけるプロンプト最適化
## 【ユースケース定義と課題】
**ユースケース:**
公開されている企業情報から、競合他社に対する「独自の優位性(USP)」を抽出し、特定形式のJSONレポートを生成する。
**課題:**
1. **推論の欠落**:公開情報から直接的な答えがない場合、LLMが憶測で埋める、あるいは論理を飛躍させる「幻覚(Hallucination)」が発生する。
2. **フォーマット崩れ**:複雑な分析指示を重ねると、最終出力のJSONスキーマが破壊され、後続システムでのパースエラーを引き起こす。
—
## 【プロンプト設計のループ】
graph TD
A["設計: 役割と制約の定義"] --> B["実行: Few-shot/CoT適用"]
B --> C["評価: LLM-as-a-Judgeによる採点"]
C -->|改善: PromptWizard方式の変異| A
C -->|固定: Agent Lightning方式の軽量化| D["デプロイ"]
1. **設計**:役割(Role)と出力形式(JSON)を定義し、タスクを最小単位に分解。
2. **実行**:Gemini 1.5 Pro等の長文コンテキストを活用し、思考プロセス(CoT)を誘発。
3. **評価**:出力されたJSONの妥当性と、論理の整合性を別のLLMインスタンスで検証。
4. **改善**:評価が低い箇所を特定し、指示を「指示内容の自動変異(Wizard)」または「役割の専門化(Lightning)」により修正。
—
## 【プロンプトの実装案】
PromptWizardの「指示の反復改善」アプローチを取り入れた、初期実装用プロンプトです。
# Role
あなたは戦略コンサルタントとして動作し、提供された企業情報から競合優位性を分析するエキスパートです。
# Constraints
1. 出力は必ず以下のJSON形式を守ること。
2. 根拠が不明確な場合は「unknown」と記述し、憶測を排除すること。
3. 推論プロセスを `reasoning` フィールドに記述し、結論を `usp` フィールドに記述すること。
# Input Data
企業名: {{company_name}}
事業内容: {{business_description}}
# Thinking Process (Chain-of-Thought)
1. 事業内容からターゲット市場を特定する。
2. 市場内の一般的なサービスと比較し、対象企業特有の機能・価格・顧客層を抽出する。
3. 抽出した要素から、他社が模倣困難な要素を「USP」として定義する。
# Output Format (JSON)
{
"company": "string",
"reasoning": "string",
"usp": ["string"],
"confidence_score": "number (0.0-1.0)"
}
—
## 【評価指標と誤り分析】
LLM-as-a-Judgeを用い、以下の基準で自動評価を行います。
| 評価項目 | 評価内容 | 失敗パターン(例) |
| :— | :— | :— |
| **スキーマ準拠** | JSONがパース可能か、型は正しいか | カンマ欠落、Markdownタグの混入 |
| **論理一貫性** | reasoningとuspの内容に矛盾がないか | 根拠にない強みがuspに記載される |
| **根拠の正確性** | 入力データに基づいているか | 一般論(「高品質なサービス」等)の出力 |
| **幻覚率** | 入力にない情報を捏造していないか | 未知の製品名や提携先を勝手に生成 |
—
## 【改良後の最適プロンプト】
PromptWizardの「指示の具体化」とAgent Lightningの「効率的な役割分担」を統合した、高精度プロンプトです。
# System Role
Competitive Intelligence Agent (Expert Mode)
# Mission
入力データに基づき、競合優位性(USP)の構造化分析を実行せよ。
# Execution Rules
- <Logic_Verification>: 各USPについて「なぜそれが模倣困難か」を反証的な視点で100文字程度で自己検証せよ。
- <Format_Control>: JSON以外のテキスト(挨拶や解説)は一切出力禁止。
- <Uncertainty_Handling>: 入力データに不足がある場合、`usp`を空配列にせず、不足している情報の種類を `missing_data` フィールドに明記せよ。
# Output JSON Schema
{
"analysis_meta": { "model": "Gemini-1.5-Pro", "timestamp": "ISO8601" },
"logic_verification": "string",
"data": {
"company": "{{company_name}}",
"usp": [],
"missing_data": []
}
}
# Example (Few-shot)
Input: 企業A, 独自の冷却技術を用いたサーバー提供。
Output: { "analysis_meta": {...}, "logic_verification": "冷却技術の特許性と電力効率の相関を確認。", "data": { "company": "企業A", "usp": ["冷却技術による低PUE"], "missing_data": [] } }
【まとめ:運用の3つの鉄則】
「思考」と「出力」を分離せよ
複雑なタスクでは、reasoning フィールドのように、LLMが結論を出す前に自ら考えを整理する「場」をプロンプト内に強制的に設けること。
スキーマ崩れには「逆転の指示」を用いよ
「JSONで出力して」という指示よりも、「JSON以外の出力を厳禁とする」という否定的な制約の方が、現在の高IQモデル(GPT-4o/Gemini 1.5 Pro)には効果的である。
評価を自動化し、指示を「変異」させよ
PromptWizardの核心は、人間が手動で直すのではなく、失敗した原因をLLMに分析させ、その分析結果をプロンプトにフィードバックするループを自動化することにある。
コメント