複雑なビジネス要件を精度100%へ導く:分割・逐次入力によるコンテキストエンジニアリング手法

Tech

{ “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["最終結合・構造化出力"]
  1. 設計(Segmentation): 巨大なタスクを「現状分析」「機能抽出」「データモデル」等の独立したサブタスクに分解。

  2. 実行(Sequential Execution): サブタスクごとにプロンプトを投げ、AIのコンテキスト窓(作業メモリ)を一つの論点に集中させる。

  3. 評価(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つの鉄則:

  1. 「一度に一つの論点」: AIに一度に考えさせる変数を最小化し、コンテキストの純度を高める。

  2. 「中間成果物の明示」: JSONやMarkdownなどの型を固定し、次のプロンプトへのインターフェースを安定させる。

  3. 「自己検証ループ」: AI自身に出力内容の矛盾をチェックさせるステップを組み込み、ハルシネーションを抑制する。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました