プロンプトチェーニング
このテクニックとは
プロンプトチェーニング(Prompt Chaining)は、複雑なタスクを複数の小さなプロンプトに分解し、前のプロンプトの出力を次のプロンプトの入力として連鎖的に処理する手法です。一つの巨大なプロンプトですべてを処理させるのではなく、各ステップに明確な役割を持たせることで、出力の品質と制御性を大幅に向上させます。
人間が複雑な作業を行うとき、一度にすべてを処理するのではなく、段階的に取り組むのと同じ考え方です。AIも同様に、一つのタスクに集中させたほうが、各ステップの出力品質が高まります。
なぜ一つの巨大なプロンプトより優れているのか
一つのプロンプトに大量の指示を詰め込むと、以下の問題が発生しやすくなります。
- 指示の競合: 「詳しく書いて」と「簡潔に書いて」のような矛盾した要求が混在する
- 品質の低下: タスクが複雑になるほど、各部分の出力精度が落ちる
- デバッグが困難: 出力が期待と異なるとき、どの部分に問題があるかを特定しにくい
- トークンの浪費: 一度のやり取りでコンテキストウィンドウを消費してしまう
チェーニングでは、各ステップの出力を確認・修正してから次に進めるため、最終的な品質が安定します。
医療での活用例:症例検討から臨床ノートまで
複雑な症例検討を4つのステップに分解する例を示します。
ステップ1: 症例情報の構造化
以下の症例情報を、SOAP形式(Subjective, Objective, Assessment, Plan)に
構造化してください。情報が不足している箇所は「情報なし」と明記してください。
# 症例(自由記載)
72歳女性、3日前から食欲がなくなり、昨日から37.8度の熱が出ている。
今朝から意識がぼんやりしていると家族が気づいて救急搬送。
既往に高血圧と脳梗塞後遺症あり。アムロジピン5mg、
クロピドグレル75mg内服中。来院時のバイタルは体温38.2度、
血圧90/60mmHg、脈拍110/分、SpO2 94%。
このステップの出力は、情報が整理されたSOAP形式のテキストになります。
ステップ2: 鑑別診断の生成
以下のSOAP形式の症例情報から、鑑別診断リストを作成してください。
[ステップ1の出力をここに貼り付ける]
Critical(見逃してはいけない)、Common(頻度の高い)、
Rare(稀だが考慮すべき)の3段階で分類し、
各疾患を疑う根拠を簡潔に記載してください。
ステップ3: 検査・治療計画の立案
以下の症例と鑑別診断リストに基づき、初期検査および治療計画を作成してください。
# 症例情報(構造化済み)
[ステップ1の出力]
# 鑑別診断リスト
[ステップ2の出力]
優先度の高い検査から順に、各検査の目的(どの鑑別を評価するか)を
明記してください。初期治療は、確定診断前に開始すべきものを中心に記載してください。
ステップ4: 臨床ノートの作成
以下の情報を統合し、電子カルテに記載する臨床ノートを作成してください。
# 症例情報
[ステップ1の出力]
# 鑑別診断
[ステップ2の出力]
# 検査・治療計画
[ステップ3の出力]
形式はSOAP形式で、A(Assessment)には最も可能性の高い診断を筆頭に記載し、
P(Plan)には検査・治療計画を具体的に記載してください。
単一プロンプト vs チェーニングの比較
単一プロンプトの場合
72歳女性の症例を分析し、SOAP形式に整理し、鑑別診断を挙げ、
検査計画を立て、臨床ノートを書いてください。
[長い症例記述...]
この方法では、AIが各タスクに十分な注意を払えず、鑑別診断が浅くなったり、検査計画の根拠が不明確になったりする傾向があります。
チェーニングの場合
各ステップで一つのタスクに集中するため、以下の利点があります。
- 鑑別診断がより網羅的: 構造化された情報をもとに考えるため、見落としが減る
- 検査計画の根拠が明確: 各検査が「どの鑑別に対応するか」を明示できる
- 途中修正が可能: ステップ2の鑑別診断に漏れがあれば、追加してからステップ3に進める
- 再利用性: 同じステップ1の構造化テンプレートを、別の症例にも使い回せる
いつ使うべきか
チェーニングが効果を発揮する場面は以下の通りです。
- 複数の異なるスキル(情報整理、推論、文書作成)を組み合わせるタスク
- 出力の各部分を個別に検証・修正したい場合
- 定型的なワークフローを繰り返し実行する場合
- 一つのプロンプトでは出力品質が安定しない場合
いつ使わないべきか
以下の場面では、単一プロンプトのほうが効率的です。
- シンプルな質問への回答(例:「この薬の副作用は?」)
- 一つの明確なタスク(例:「この文章を英訳して」)
- 速度が最優先の場面(緊急時のクイックリファレンス)
- ステップ間の依存関係がない独立したタスク
効果的なチェーニングのコツ
- 各ステップの出力形式を明確に指定する: 次のステップが受け取りやすい形式を設計してください。箇条書き、表、SOAP形式など、構造化された出力を指定すると連携がスムーズです。
- ステップ数は3-5が目安: 少なすぎると分解の意味がなく、多すぎると管理が煩雑になります。
- 各ステップの出力を確認してから次に進む: チェーニングの最大の利点は、途中修正ができることです。各ステップの出力をチェックし、不足があれば追加指示を出してから次へ進んでください。
- テンプレート化して再利用する: 一度作成したチェーンは、患者情報を差し替えるだけで繰り返し利用できます。頻出する業務フローは、チェーンテンプレートとして保存しておくと効率的です。
- 最初のステップは「情報の構造化」にする: 自由記載のテキストを構造化するステップを最初に置くと、後続のステップの精度が大きく向上します。