複雑な要件を分解し精度を最大化する「コンテキストエンジニアリング」の実装ガイド

Tech

本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

複雑な要件を分解し精度を最大化する「コンテキストエンジニアリング」の実装ガイド

【ユースケース定義と課題】

曖昧な業務記述から例外処理を含む厳密なフロー図とJSON仕様を生成する。情報過多による論理欠落や様式崩れを、段階的な情報提供で解決。

  • 入力形式: 自然言語による業務説明(Markdown)

  • 出力形式: 構造化データ(JSON)および可視化コード(Mermaid)

【プロンプト設計のループ】

graph TD
A["設計: 段階的タスクの定義"] --> B["実行: 各フェーズの逐次投入"]
B --> C["評価: 論理整合性と形式チェック"]
C -->|改善: コンテキスト変数の再定義| A
  1. 設計: 一度の指示で全てを求めず、「要件抽出」「論理構築」「フォーマット変換」にタスクを分離。

  2. 実行: LLMのコンテキストウィンドウ内に、前のステップの出力を「確定事項」として保持。

  3. 評価: 各ステップの出力が後続のステップで再利用可能な精度かを確認。

【プロンプトの実装案】

# Role

あなたはエンタープライズレベルの業務設計者です。
与えられた業務記述を、論理的な欠陥がないフローチャートとシステム仕様に変換してください。

# Task: Phase 1 (Analysis & Step-by-step reasoning)

以下の手順に従って思考してください。

1. 業務の「開始地点」と「終了地点」を明確にする。

2. 正常系(ハッピーパス)のステップを5〜8個でリストアップする。

3. 各ステップで発生しうる「例外」や「分岐条件」を特定する。

# Constraints


- 専門用語はそのまま維持すること。

- 曖昧な箇所は「要確認事項」として別途リストアップすること。

# Input Data

[ここに業務内容を記述]

# Output Format

## 1. ワークフロー分析 (Chain-of-Thought)

[思考プロセスを記述]
## 2. 定義済みステップ


- Step1: ...
## 3. 分岐・例外リスト


- Condition A: ...

【評価指標と誤り分析】

評価項目 期待される挙動 失敗パターン (要改善) 採点 (1-5)
論理一貫性 開始から終了まで矛盾なく繋がる ループが閉じない、行き止まりがある 1-5
例外網羅性 エラー処理が定義されている 正常系のみ記述され、異常系が無視される 1-5
形式遵守 指定されたMarkdown/JSON形式 テキストが混入し、パースに失敗する 1-5
  • 幻覚の特定: 存在しない外部システムとの連携をAIが勝手に捏造していないか。

  • 様式崩れ: JSONコードブロック内にコメントアウトが含まれ、構文エラーになっていないか。

【改良後の最適プロンプト】

# Role

業務プロセスモデリングの専門家。

# Instructions

以下の「コンテキスト・スタッキング」手法を用いて回答してください。

Step 1: 【構造化抽出】
提供されたテキストから、Actor(誰が)、Action(何を)、Condition(どんな条件で)を抽出してください。

Step 2: 【グラフ論理の構築】
Step 1を基に、Mermaid.jsのgraph TD形式でフロー図を作成してください。
※分岐(Decision)には必ず2つ以上の遷移先を設けること。

Step 3: 【データ仕様の定義】
最終成果物として、以下のJSON形式で出力してください。
{
  "flow_id": "string",
  "steps": [{"id": "number", "label": "string", "next": []}],
  "exceptions": [{"condition": "string", "action": "string"}]
}

# Input

[業務記述を挿入]

# Final Output Checklist


- Mermaidコードは構文エラーがないか?

- JSONはRFC 8259に準拠しているか?

【まとめ】

  1. 1命令1目的: 複雑な処理は、思考プロセス(CoT)と形式出力(Format)を明確に分ける。

  2. 中間成果物の明示: LLMに「まず抽出、次に構造化、最後に整形」と段階を指示し、コンテキストを固定する。

  3. スキーマの厳格化: JSON等の構造化データを出力させる際は、具体的なプロパティ名をFew-shotで例示する。

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

コメント

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