プロンプトチェイニングとは
Prompt Chaining
1つの複雑なタスクを複数のプロンプトに分割し、前段の出力を次段の入力として順につなげていく手法
ひとことで言うと
大きな仕事を小さな質問に分けて、前の答えを次の質問の材料にしながら順番にAIへ渡していくやり方。
概要
プロンプトチェイニングは、1つの複雑なタスクを単一の巨大なプロンプトで一度に処理させるのではなく、複数の小さなサブタスクへ分割する手法。 あるプロンプトの出力を次のプロンプトの入力として順につなげていくことで、段階的にタスク全体を完成させる。 例えば長文の要約から質問応答を行うタスクであれば、まず長文を要約するプロンプト、次にその要約をもとに質問へ答えるプロンプトというように、工程ごとにプロンプトを分けて実行する。 各段階の出力を人間やプログラムが検証・修正してから次の段階へ渡すことも可能で、単一プロンプトでは制御しにくい複雑なタスクを、扱いやすい単位に分解して精度を高められる。 LangChainなどのフレームワークが提供する「チェーン」の概念は、このプロンプトチェイニングの考え方をプログラム上で体系的に実装したものにあたる。
背景
複雑なタスクを1つの巨大なプロンプトに詰め込むと、モデルが途中の指示を見落としたり、出力形式が安定しなかったりすることがある。 プロンプトチェイニングは、タスクを扱いやすい単位に分割し、各段階の出力を検証しながら進められるようにすることで、この不安定さを軽減する目的で使われる。
ワークフロー
解決したいタスクを、順序立てて実行できる複数のサブタスクへ分解する。 最初のサブタスクに対応するプロンプトをLLMへ入力し、その出力を得る。 得られた出力を次のサブタスクのプロンプトへ組み込んで入力し、これを最後のサブタスクまで繰り返して最終的な結果を得る。
利点
欠点
比較
関連用語
よくある質問
プロンプトチェイニングとReActの違いは?
プロンプトチェイニングはあらかじめ決めた固定的な工程の順序に沿ってプロンプトをつなげるのに対し、ReActはモデル自身がその都度次に何をすべきかを判断しながら思考と行動を繰り返す点が異なる。
どんなタスクにプロンプトチェイニングが向いている?
要約してから質問に答える、翻訳してから校正するなど、明確な順序を持つ複数工程のタスクに向いている。各工程の出力を個別に検証したい場合にも有効。