{ “role”: “Prompt Engineering Expert”, “focus”: “Context Engineering & Task Decomposition”, “technique”: [“Chain-of-Thought”, “Modular Prompting”, “LLM-as-a-Judge”], “language”: “Japanese” } 本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
複雑なビジネス要件を精度100%へ導く:分割・逐次入力によるコンテキストエンジニアリング手法
【ユースケース定義と課題】
複雑な業務フローの要件定義において、一括指示による精度低下を防ぐため、要件を機能単位に分割し段階的に定義書を生成・検証する手法。
入力:非構造化された長文の業務要求資料
出力:構造化された要件定義Markdown、およびシステム実装用JSON
【プロンプト設計のループ】
graph TD A["要件のモジュール分割"] --> B["段階的プロンプト実行"] B --> C["中間成果物の整合性評価"] C -->|矛盾・欠落あり| A C -->|整合性確認| D["最終結合・構造化出力"]
設計(Segmentation): 巨大なタスクを「現状分析」「機能抽出」「データモデル」等の独立したサブタスクに分解。
実行(Sequential Execution): サブタスクごとにプロンプトを投げ、AIのコンテキスト窓(作業メモリ)を一つの論点に集中させる。
評価(Validation): 前のステップの出力が次のステップの前提条件を充足しているか、LLMまたはルールベースで検証。
【プロンプトの実装案】
複雑な要件を「ステップバイステップ」で処理させるための、中間生成を挟むプロンプト構成です。
# Role
あなたは上級ITアナリストです。提供された業務資料から、システム要件を段階的に抽出してください。
# Task 1: 概念抽出(Chain-of-Thought)
まず、資料を読み込み、以下の要素を箇条書きで整理してください。
- 主要なアクター
- 主要なビジネスエンティティ(データ)
- 業務のトリガーとゴール
# Task 2: 構造化出力
Task 1の結果に基づき、以下のJSON形式で要件を構造化してください。
出力はJSONのみとし、説明は不要です。
{
"actors": [],
"entities": [],
"workflow": [
{"step": 1, "description": "...", "input": "...", "output": "..."}
]
}
# Constraints
- 不明な点は「要検討事項」としてリストアップすること。
- 推測を排除し、事実のみに基づき構成すること。
# Input Data
{{Source_Text}}
【評価指標と誤り分析】
コンテキストエンジニアリングにおいて発生しやすい失敗パターンと、その評価基準を定義します。
| 評価項目 | 指標内容 | 失敗時の挙動(失敗パターン) | 対策 |
|---|---|---|---|
| 整合性 | 前後のステップで用語やIDが一致しているか | Step 1の「ユーザー」がStep 2で「顧客」に変わる | 用語集(Glossary)を定数として固定 |
| 網羅性 | 元資料の主要要件が全て含まれているか | 複雑な分岐フローが無視される | セクションごとに分割して要約・確認 |
| 形式遵守 | 指定したJSON/Markdown形式に従っているか | JSON内に自然言語の説明が混入する | Few-shotで出力例を徹底提示 |
LLM-as-a-Judge 評価基準(5段階)
5: 全ての要件が網羅され、論理矛盾がなく、形式も完璧。
3: 主要な要件は満たしているが、一部の属性値に欠落や用語の揺れがある。
1: 出力形式が崩れている、または事実誤認(ハルシネーション)が顕著。
【改良後の最適プロンプト】
分析結果に基づき、各ステップの境界を明確にし、自己検閲(Self-Correction)機能を組み込んだ最強のプロンプトです。
# System
あなたは複雑な要件を正確に分解・構造化するエンジニアです。
思考プロセス(Thought)と最終結果(Final Answer)を分けて出力してください。
# Instruction
以下の3ステップで処理を実行してください。
## Step 1: 要件の分解と検証
提供されたドキュメントを読み込み、論理的な矛盾や情報不足がないか確認してください。
不足がある場合は「Assumption(仮定)」として明記してください。
## Step 2: モジュール化
抽出した要件を以下のMarkdown形式で出力してください。
- 業務フロー(Mermaid形式)
- データモデル(属性・型・制約)
## Step 3: 自己評価
Step 2の出力が、元の入力データの全ての制約を遵守しているか、自己検閲を行い、修正が必要な場合は最終回答に反映させてください。
# Format
## Thought
(ここに思考プロセスを記述)
## Final Answer
(ここに構造化された結果を記述)
# Input
{{Input_Text}}
【まとめ】
実務でコンテキストエンジニアリングを運用するための3つの鉄則:
「一度に一つの論点」: AIに一度に考えさせる変数を最小化し、コンテキストの純度を高める。
「中間成果物の明示」: JSONやMarkdownなどの型を固定し、次のプロンプトへのインターフェースを安定させる。
「自己検証ループ」: AI自身に出力内容の矛盾をチェックさせるステップを組み込み、ハルシネーションを抑制する。

コメント