プロンプトチェーンとは、複数のプロンプトを連鎖的に実行し、前のステップの出力を次のステップの入力として渡していく手法です。1つの長大なプロンプトにすべての指示を詰め込む代わりに、タスクを小さなステップに分解して段階的に処理することで、精度・制御性・デバッグ性のすべてを向上させられます。このレッスンでは、プロンプトチェーンの設計原則、代表的な5つのチェーンパターン、実際のプロンプト文面つきの具体例、構造化出力の実装、最適化とデバッグの手法までを体系的に学びます。AIエージェント開発の土台となる、最も重要な設計技術のひとつです。
「レポートを調査して、分析して、要約して、日本語で整形して」のような複合タスクを1つのプロンプトで指示すると、LLM(大規模言語モデル)は複数の目標を同時に処理しようとして、どれも中途半端な品質になりがちです。指示の一部が無視される「指示落ち」も頻発します。
プロンプトチェーンでは、各ステップが「1つのLLMコールで確実に達成できる」単一の責務だけを持ちます。ソフトウェア開発でいう関数分割と同じ発想です。分解することで次のメリットが得られます。
💡 分解の目安: 「このステップの出力が正しいかどうかを、人間が10秒で判定できるか」を基準にすると、ちょうどよい粒度になります。判定に数分かかるようなステップは、まだ分解の余地があります。
効果的なチェーンを設計するための基本原則は次の4つです。
1. タスク分解: 複雑なタスクを、1回のLLMコールで確実に達成できる粒度まで分解します。「情報収集→分析→執筆」のように、人間が作業を分担するときの切り方をイメージすると分解しやすくなります。
2. 明確な入出力: 各ステップの入力フォーマットと出力フォーマットを厳密に定義します。ステップAの出力がそのままステップBの入力になるため、フォーマットが曖昧だとチェーン全体が不安定になります。
3. 構造化出力: 中間ステップの出力はJSON形式で強制します。自然文のままだと次のステップでの解釈がぶれるため、プログラムで扱える形式に固定するのが鉄則です(後述)。
4. エラーハンドリング: 各ステップで出力のバリデーション(検証)を行い、不正な出力は再試行します。LLMの出力は確率的なので、「失敗する前提」で設計することが安定稼働の鍵です。
実務でよく使われるチェーンパターンは、次の5つに整理できます。
| パターン | 流れ | 得意なタスク | 実装難易度 |
|---|---|---|---|
| 逐次チェーン | A→B→C と順番に実行 | レポート作成、記事生成 | 低 |
| 分岐チェーン | 条件に応じて別プロンプトへ分岐 | 問い合わせの振り分け | 中 |
| ループチェーン | 品質基準を満たすまで反復 | 文章の自己改善、校正 | 中 |
| マップリデュース | 分割して並列処理→統合 | 大量データの要約・分類 | 中〜高 |
| 再帰チェーン | 出力を入力に戻して深掘り | リサーチの深堀り | 高 |
逐次チェーンは最もシンプルで予測可能なパターンです。まずはこれで組み、必要になったら他のパターンを導入するのが定石です。
分岐チェーンは、最初のステップで入力を分類(ルーティング)し、分類結果に応じて専用プロンプトへ振り分けます。カスタマーサポートの自動応答で「返金依頼」「技術的質問」「クレーム」を別々の専門プロンプトで処理する、といった使い方が典型です。
ループチェーンは「生成→評価→修正」を品質基準を満たすまで繰り返す自己改善型の構成です。評価ステップに合格基準を明示しておき、不合格なら指摘内容を添えて再生成させます。
マップリデュースは、100件のレビューを10件ずつ並列で要約し(Map)、最後に10個の要約を統合する(Reduce)ような構成です。1回のプロンプトに収まらない大量データの処理に有効です。
再帰チェーンは、出力から「さらに調べるべき問い」を抽出して次の入力に戻す構成で、リサーチエージェントの深掘りなどに使われます。無限ループを防ぐため、最大反復回数の上限を必ず設定します。
⚠️ 最初から複雑なパターンを選ばない: 分岐やループを多用したチェーンは、デバッグの難易度が指数的に上がります。まず逐次チェーンで動くものを作り、品質のボトルネックが明確になった箇所にだけ、ループや分岐を追加してください。
ここからは「プロンプトチェーンの例」として、実際のプロンプト文面つきで2つの実例を紹介します。
「競合3社を分析してレポートを作る」タスクを、逐次チェーンで設計した例です。
ステップ1: 情報の抽出(入力: 競合各社のWebサイト本文)
あなたは市場調査のアナリストです。
以下の企業サイトの本文から、次の項目を抽出してください。
- 主力サービス名
- 価格帯(記載がなければ "不明")
- ターゲット顧客
- 強みとして訴求しているポイント(最大3つ)
出力は次のJSON形式のみで返してください。説明文は不要です。
{"service": "", "price": "", "target": "", "strengths": []}
【サイト本文】
{{site_text}}
ステップ2: 比較分析(入力: ステップ1のJSONを3社分)
あなたは競合分析の専門家です。
以下の3社のデータを比較し、次の観点で分析してください。
1. 価格ポジショニングの違い
2. ターゲット顧客の重なりと空白地帯
3. 自社が差別化できる余地
出力はJSON形式で:
{"pricing_analysis": "", "target_gap": "", "differentiation": []}
【3社のデータ】
{{step1_results}}
ステップ3: レポート執筆(入力: ステップ2の分析JSON)
以下の分析結果をもとに、経営会議向けの競合分析レポートを
Markdown形式で執筆してください。
- 構成: サマリー / 各社比較 / 差別化戦略の提言
- 文体: です・ます調
- 分量: 1,200字程度
- 分析結果にない情報を推測で追加しないこと
【分析結果】
{{step2_result}}
ポイントは、ステップ1と2の出力をJSONに固定し、最終ステップだけ人間が読むMarkdownにしていることです。「抽出」「分析」「執筆」という性質の異なる作業を分けたことで、各プロンプトの指示が短く明確になっています。
「生成→評価→修正」を繰り返すループチェーンの例です。
ステップ1: 生成
新商品「{{product}}」のX(旧Twitter)投稿文を作成してください。
条件: 140文字以内、ハッシュタグ2つ、絵文字1つ以上。
ステップ2: 評価(合格するまでステップ1へ差し戻し)
以下の投稿文を採点者として評価してください。
チェック項目:
- 140文字以内か
- 商品の便益が具体的に書かれているか
- 誇大表現(「絶対」「No.1」等の根拠なき断定)がないか
出力JSON:
{"passed": true/false, "issues": ["不合格の理由を列挙"]}
【投稿文】
{{draft}}
passed が false の場合は、issues の内容を添えてステップ1に再生成を依頼します。「生成する役」と「評価する役」を別のプロンプトに分けると、同一プロンプト内で自己チェックさせるよりも指摘の精度が上がります。
チェーン間のデータ受け渡しを安定させるには、構造化出力の実装が不可欠です。
| 手法 | 内容 |
|---|---|
| JSONモード | OpenAI APIの response_format 等でJSON出力を強制する |
| スキーマ定義 | 出力のJSONスキーマを事前に定義し、プロンプトに明記する |
| バリデーション | zod(TypeScript)やPydantic(Python)で出力を検証する |
| リトライ | 検証失敗時はエラー内容をフィードバックして再生成させる |
特に重要なのがバリデーションとリトライの組み合わせです。たとえばPydanticで検証に失敗したら、「フィールド price が数値ではありません。数値で再出力してください」のように、エラーメッセージそのものを次のプロンプトに含めて再生成させます。これだけで実運用時の失敗率を大きく下げられます。
各ステップのプロンプト品質を高める代表的なテクニックです。
💡 最適化はボトルネックのステップだけに: すべてのステップに全テクニックを盛り込むと、プロンプトが長くなりコストとレイテンシが増えます。中間ログを見て品質が低いステップを特定し、そこにだけFew-shot例示などを追加するのが費用対効果の高い進め方です。
プロンプトチェーンは「作って終わり」ではなく、運用しながら品質を維持する仕組みが必要です。
LangSmithやLangfuseといったLLM専用の監視ツールを使うと、チェーンの各ステップの入出力・コスト・実行時間をトレースとして一覧できます。
以下の課題に取り組みましょう。
プロンプトチェーンは、複雑なAIタスクを高い精度と制御性で実行するための設計手法です。タスクを単一責務のステップに分解し、中間出力をJSONで構造化し、バリデーションとリトライで失敗に備える。この3点がチェーン設計の核心です。パターンはまず逐次チェーンから始め、ボトルネックが見えた箇所にだけループや分岐を追加します。中間ログとコスト追跡を最初から仕込んでおくことが、運用フェーズでの改善速度を決めます。次の章では、エージェントの外部ツール連携について学びます。
複数のプロンプトを連鎖させ、前のステップの出力を次のステップの入力として渡しながらタスクを段階的に処理する手法です。複雑なタスクを単一責務のステップに分解することで、単一の長いプロンプトよりも精度と制御性が高まります。AIエージェントやLLMワークフロー設計の基本技術です。
複数の作業工程を含む複合タスクでは、一般にプロンプトチェーンの方が精度が高くなります。各ステップの指示がシンプルになり、指示落ちが減るためです。一方、単純なタスクをあえて分割するとコストとレイテンシが増えるだけなので、タスクの複雑さに応じて使い分けます。
小規模ならPythonやTypeScriptからLLM APIを順番に呼び出すだけで実装でき、特別なツールは必須ではありません。本格的に構築する場合は、チェーン構築フレームワークのLangChainやLlamaIndex、出力検証にPydanticやzod、運用監視にLangSmithやLangfuseがよく使われます。
全問正解でこのレッスンが「完了」になり、コースの全レッスンを完了すると修了証が発行されます。解説つき・何度でも挑戦できます。
Q1.プロンプトチェーンの中間ステップの出力を、本文がJSON形式に固定するよう勧める理由はどれですか?
Q2.初めてプロンプトチェーンを組む際、分岐やループの扱いとして本文が勧める進め方はどれですか?
Q3.Pydanticでの検証に失敗し、priceが数値になっていませんでした。本文が勧める対処はどれですか?
完全無料・クレジットカード不要
ChatGPT完全マスター講座
ChatGPTの回答品質はプロンプト(指示文)の書き方で8割が決まります。
30分無料公開
ChatGPT完全マスター講座
ChatGPTは「聞き方次第で別のツールになる」と言われます。
30分本文は無料で閲覧可
AI画像生成マスター - Midjourney & Stable Diffusion
AI画像生成の品質はプロンプト(指示文)の書き方で90%が決まります。
25分本文は無料で閲覧可
ChatGPT完全マスター講座
ChatGPTはOpenAIが開発した対話型のAIアシスタントです。
30分無料公開
ChatGPT完全マスター講座
ChatGPTを使い始めるには、まずOpenAIアカウントを作成する必要があります。登録はスマートフォンでもPCでも3ステップで完了します。
30分無料公開
ChatGPT完全マスター講座
ビジネスパーソンが1日に文書作成に費やす時間は平均2〜3時間という調査があります。
30分本文は無料で閲覧可