プロンプトチェイニングとは、複雑なタスクを複数の独立したプロンプトに分割し、複数回の呼び出しに分けて実行することを指す。前の呼び出しの出力が次の呼び出しの入力となり、鎖のように一つ一つがつながって、タスク全体が完了するまで続く。これは chain of thought(思考の連鎖)と名前が似ており混同されやすいが、階層はまったく異なる。思考の連鎖は一回の回答の内部で展開される推論であり、同じ一つの回答の中で完全な思考手順を見ることができる。プロンプトチェイニングは複数の独立した呼び出しにまたがるタスクの分解であり、各呼び出しはそれぞれ独立したリクエストと返答であって、その間に人による確認や修正の余地があることが多い。簡単に言えば、思考の連鎖はこの一回の回答の推論過程を書き出すかどうかを扱い、プロンプトチェイニングはこのタスクを複数回に分けて行うかどうかを扱う。両者は同時に使うこともでき、しばしば同じことの二つの言い方だと誤解される。
このニーズが生じるのは、一部のタスクは一度にすべての要求を伝えること自体が非現実的だからだ。指示の書き方が悪いのではなく、タスクの後半をどう進めるべきかが前半の成果物の中身次第で決まるためである。例えば、まずClaudeに大量の会議記録から要点を要約させ、要約が出た段階でいくつかが実は無関係で除くべきだと気づくことがある。その後で初めて要約を週報にまとめる段階へ進む。もし「要約して週報にまとめる」を一回の呼び出しにまとめて投げてしまえば、途中で要約の品質を確認する機会がなく、不完全な要約がそのまま最終的な週報に持ち込まれてしまい、問題に気づくのは最後になり、丸ごとやり直すことになりかねない。プロンプトチェイニングが存在する理由は、タスクの重要な節目にチェックポイントを挿入し、誤りがまだ小さいうちに食い止め、最後になって噴出させないことにある。
実務では二つの層で行う。第一層はタスクの分解だ。本当に段階を分ける必要がある節目を見つける。通常は「この段階の成果物の品質が次の段階の進め方を直接左右する」箇所であり、例えば分類してから処理する、要約してから書き直す、下書きしてから事実確認するといったものだ。すべてのタスクを分割する価値があるわけではなく、各段階の成果物が容易に予測でき、ほとんど誤りが起きないなら、複数段階に分けることは操作回数を無駄に増やすだけになる。第二層は接続の方法だ。前の段階の出力をどのような形で次の段階に渡すか、そのまま丸ごと貼り付けるのか、それとも人が先にざっと不要な部分を除いてから渡すのか。この接続部分は時間をかけて設計する価値がある。接続の設計が甘いと、鎖の途中に新たな誤りの発生源を埋め込むことになるからだ。例えば前の段階の出力に無関係な内容が混ざっていて、それをフィルタリングせずそのまま次の段階に渡すと、次の段階のモデルはその無関係な内容まで重要なものとして扱ってしまうことがある。
あなたにとって、プロンプトチェイニングの本当の価値は、大きなタスクを分割した後、各段階を個別に確認・再実行できる点にある。誤りが起きても、その誤った段階だけを修正すればよく、プロセス全体を最初からやり直す必要はない。これはタスクが複雑になり、関わる判断が増えるほど顕著になる。複雑なタスクを一度にClaudeへ丸ごと投げると、誤ったときにどの部分が壊れたのか分かりにくいことが多い。複数段階に分割すれば、どの段階の出力がおかしいかが一目瞭然になる。本当に検討すべきなのは分解そのものの運用コストだ。段階を一つ増やすごとに、呼び出しと確認の手間が一つ増え、単純なタスクではそのコストが分割によるメリットを上回ることがある。注意すべきリスクは、鎖の途中のある段階の出力品質が不安定だと、その誤りがそのまま次の段階に持ち込まれ、さらに増幅されることさえある点だ。だからこそ、重要な接続点ほど、自動で全部つなげて実行してから最後にまとめて確認するのではなく、人による確認を挟んでから先へ進める価値がある。
Anthropic はプロンプトエンジニアリング関連の技術文書の中で、プロンプトチェイニングを複雑なタスクを扱う際の推奨手法の一つとして挙げている。単一の大きなタスクを、より小さく焦点を絞ったサブタスクに分割し、順番に実行することで、モデルに一回の呼び出しで複雑な流れ全体を完了させるよう求めるより、通常はより安定し、デバッグしやすい結果が得られると説明している。この手法は検索、要約、書式変換など複数段階を連結する必要がある実際の自動化パイプラインにも広く見られ、プロンプトエンジニアリングの分野で複数段階のワークフローを扱う際によく用いられる設計パターンである。
メリットは重要な節目にチェックポイントを挿入できる点で、誤りが起きても単一の段階を修正するだけでよく、プロセス全体をやり直す必要がない。また各段階の出力品質を個別に検証しやすくなる。デメリットは段階を一つ増やすごとに呼び出しと人による確認という運用コストが増える点で、出力が予測しやすい単純なタスクでは分解自体が割に合わないことがあり、接続部分の設計が甘いと鎖の途中に新たな誤りの発生源が生まれる。