AI・機械学習
中級

プロンプトチェイニング(プロンプトチェイニング)

複数のLLM呼び出しを直列に連結し、前段の出力を後段の入力として渡すことで、単一プロンプトでは困難な複雑なタスクを段階的に解決する手法。

0 回閲覧
0 いいね

プロンプトチェイニングとは

プロンプトチェイニング(Prompt Chaining)とは、複数のLLM呼び出しを連鎖的に実行し、各ステップの出力を次のステップの入力として渡すことで、複雑なタスクを段階的に解決する手法です。「分割統治法」をLLMに適用した設計パターンであり、1回のプロンプトでは品質が出ない大規模タスクを、管理可能な小さなステップに分解します。

なぜチェイニングが必要か

LLMは1回のプロンプトで処理するタスクが複雑になるほど、出力品質が低下する傾向があります。「記事を調査→構成を作成→本文を執筆→校正→フォーマット」のような多段階タスクを1プロンプトで指示すると、各ステップの品質が犠牲になります。

アプローチ品質制御性コスト適用場面
単一プロンプト中〜低低低単純なタスク
プロンプトチェイニング高高中複雑な多段階タスク
LLMエージェント高中高動的判断が必要なタスク

チェイニングの基本パターン

シーケンシャルチェイン

最もシンプルなパターンで、Step1 → Step2 → Step3 の順に直列実行します。各ステップは前段の出力のみを入力として受け取ります。

例:文書要約チェイン

  1. Step1: 長文テキストから主要ポイントを抽出
  2. Step2: 抽出されたポイントを論理的に整理
  3. Step3: 整理されたポイントを指定文字数で要約

条件分岐チェイン

前段の出力に基づいて後段のプロンプトを動的に選択するパターンです。分類 → 分類結果に応じた専用処理という流れで使用されます。

例:カスタマーサポートチェイン

  1. Step1: ユーザーの問い合わせをカテゴリ分類(技術/請求/一般)
  2. Step2a(技術): 技術的な解決策を生成
  3. Step2b(請求): 請求関連の定型回答を生成
  4. Step2c(一般): 一般的な案内を生成

並列チェイン

独立した複数のプロンプトを並列実行し、結果を最終ステップで統合するパターンです。異なる観点からの分析を同時に行い、総合的な結論を導出します。

例:レビュー分析チェイン

  1. Step1a: ポジティブ要素の抽出(並列)
  2. Step1b: ネガティブ要素の抽出(並列)
  3. Step1c: 改善提案の生成(並列)
  4. Step2: 3つの分析結果を統合してレポート作成

再帰チェイン

出力が品質基準を満たすまで同じプロンプトを繰り返し実行するパターンです。自己改善ループとも呼ばれます。

例:コード生成チェイン

  1. Step1: コードを生成
  2. Step2: 生成コードをレビュー(バグ・品質チェック)
  3. Step3: レビュー結果が「合格」なら終了、「不合格」ならStep1に戻りフィードバックを反映して再生成

フレームワーク別の実装

フレームワークチェイン機能特徴
LangChain LCELchain1 | chain2 | chain3パイプ演算子で直感的に連結
LlamaIndexQueryPipelineDAG(有向非巡回グラフ)ベース
Semantic Kernelプランナー自動的にステップを計画
HaystackPipelineコンポーネントベースの組み立て
自前実装関数チェイン最大の柔軟性、ボイラープレート多い

LangChain の LCEL(LangChain Expression Language)はパイプ演算子 | でチェインを記述でき、最も簡潔な実装を実現します。

チェイン設計のベストプラクティス

ステップ間のインターフェース定義

各ステップの入出力フォーマットを明確に定義します。JSON Schema やPydantic モデルで出力構造を型付けし、後段が安全にパースできるようにします。構造化出力(Structured Output)の活用が効果的です。

エラーハンドリング

チェインの途中でLLMがパース不能な出力を返した場合のフォールバック処理を設計します。リトライ(最大3回)、代替プロンプトへの切り替え、人間エスカレーションなどの戦略を組み込みます。

中間結果の保存

各ステップの入出力をログとして保存し、デバッグとパフォーマンス分析に活用します。チェインのどのステップで品質が劣化したかを特定するために不可欠です。

コスト最適化

全ステップに最高性能モデル(GPT-4o、Claude Opus)を使う必要はありません。分類・抽出などの単純なステップには軽量モデル(GPT-4o-mini、Claude Haiku)を使い、最終出力生成のみ高性能モデルを使うティアードモデル戦略が有効です。

FAQ

Q1: プロンプトチェイニングとLLMエージェントの違いは?

A1: チェイニングは事前に定義された固定のステップ順序で実行されますが、エージェントはLLM自身が次のアクションを動的に判断します。チェイニングは予測可能性と制御性が高く、エージェントは柔軟性が高い反面、挙動の予測が困難です。

Q2: チェインのステップ数に推奨上限はありますか?

A2: 3-5ステップが実用的な上限です。ステップ数が増えるとレイテンシ・コスト・エラー蓄積リスクが増大します。6ステップ以上必要な場合は、タスクの分解粒度を見直すか、一部のステップを統合することを検討してください。

Q3: チェイニングのレイテンシを削減するには?

A3: 並列実行可能なステップの特定が最も効果的です。独立したステップを並列チェインに変換すれば、ウォールタイムは最も遅いステップに律速されます。また、軽量モデルの活用とストリーミング出力の組み合わせで体感レイテンシを大幅に改善できます。