Re Reference AI

技術

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

Prompt Chaining

1つの複雑なタスクを複数のプロンプトに分割し、前段の出力を次段の入力として順につなげていく手法

プロンプトエンジニアリングワークフロー

ひとことで言うと

大きな仕事を小さな質問に分けて、前の答えを次の質問の材料にしながら順番にAIへ渡していくやり方。

概要

プロンプトチェイニングは、1つの複雑なタスクを単一の巨大なプロンプトで一度に処理させるのではなく、複数の小さなサブタスクへ分割する手法。 あるプロンプトの出力を次のプロンプトの入力として順につなげていくことで、段階的にタスク全体を完成させる。 例えば長文の要約から質問応答を行うタスクであれば、まず長文を要約するプロンプト、次にその要約をもとに質問へ答えるプロンプトというように、工程ごとにプロンプトを分けて実行する。 各段階の出力を人間やプログラムが検証・修正してから次の段階へ渡すことも可能で、単一プロンプトでは制御しにくい複雑なタスクを、扱いやすい単位に分解して精度を高められる。 LangChainなどのフレームワークが提供する「チェーン」の概念は、このプロンプトチェイニングの考え方をプログラム上で体系的に実装したものにあたる。

背景

複雑なタスクを1つの巨大なプロンプトに詰め込むと、モデルが途中の指示を見落としたり、出力形式が安定しなかったりすることがある。 プロンプトチェイニングは、タスクを扱いやすい単位に分割し、各段階の出力を検証しながら進められるようにすることで、この不安定さを軽減する目的で使われる。

ワークフロー

解決したいタスクを、順序立てて実行できる複数のサブタスクへ分解する。 最初のサブタスクに対応するプロンプトをLLMへ入力し、その出力を得る。 得られた出力を次のサブタスクのプロンプトへ組み込んで入力し、これを最後のサブタスクまで繰り返して最終的な結果を得る。

利点

  • 複雑なタスクを扱いやすい単位に分解でき、各段階の出力を検証・修正しやすい
  • 工程ごとに異なるプロンプトやモデルを使い分けるなど、柔軟な設計がしやすい
  • 単一の巨大なプロンプトと比べ、途中の指示が見落とされにくく出力も安定しやすい

欠点

  • モデル呼び出しの回数が増えるため、単一プロンプトと比べてレイテンシとコストが増加する
  • 前段の出力に誤りがあると、後段の処理にそのまま誤りが引き継がれてしまう
  • 工程の分割方法や各段階のプロンプト設計に、ある程度の試行錯誤が必要になる

比較

  • ワークフロープロンプトチェイニングは、定型的な処理の流れを複数のプロンプトの連鎖として組み立てるワークフローの一形態
  • LangChainLangChainの「チェーン」は、プロンプトチェイニングの考え方をプログラム上で体系的に扱うための仕組み
  • ReActReActが思考と行動を交互に繰り返すのに対し、プロンプトチェイニングはあらかじめ決めた工程の順序に沿って進む

関連用語

ワークフローLangChainプロンプトエンジニアリング

よくある質問

プロンプトチェイニングとReActの違いは?

プロンプトチェイニングはあらかじめ決めた固定的な工程の順序に沿ってプロンプトをつなげるのに対し、ReActはモデル自身がその都度次に何をすべきかを判断しながら思考と行動を繰り返す点が異なる。

どんなタスクにプロンプトチェイニングが向いている?

要約してから質問に答える、翻訳してから校正するなど、明確な順序を持つ複数工程のタスクに向いている。各工程の出力を個別に検証したい場合にも有効。

関連Zenn記事