プロンプト設計の基本パターン ─ システムプロンプト・Few-shot・Chain-of-Thought
プロンプトはLLMへの「指示書」ですが、書き方次第で出力の質が大きく変わります。結論から言うと、システムプロンプト・Few-shot(例示)・Chain-of-Thought(思考の連鎖)の3パターンを組み合わせることが、エージェントを安定して動かすための基本スキルです。
システムプロンプトとは何か
システムプロンプトは、会話が始まる前にモデルに渡す役割・制約・文脈の定義です。「あなたは日本語で回答するコーディングアシスタントです」と書けば、その後のすべての会話でモデルがその役割を保ちます。
Anthropicのドキュメントでは「ひと言の役割設定でも行動とトーンが変わる」と述べられています。エージェントでは、使えるツールの説明や安全上の制約もここに書くことが多いです。
system: "あなたは天気情報APIを使って質問に答えるアシスタントです。
回答は簡潔に、かつ確認できない情報は答えないようにしてください。"
Few-shot(例示)とはどう使うか
Few-shotは、モデルに具体例を見せて出力形式や判断基準を誘導する方法です。言葉で「こうして」と伝えるより、例を見せるほうが効果的なことが多いです。
Anthropicのベストプラクティスでは、「3〜5件の例を用意し、エッジケースもカバーする」と推奨しています。<example> タグで例を囲むと、指示と例の区別がモデルに伝わりやすくなります。
<examples>
<example>入力:「今日は晴れ」 → 感情: ポジティブ</example>
<example>入力:「最悪な一日」 → 感情: ネガティブ</example>
</examples>
入力:「特に何もなかった」 → 感情: ?
このように例を積み重ねると、モデルは書式と基準を理解して一貫した出力を返すようになります。
Chain-of-Thought(CoT)でなぜ精度が上がるか
Chain-of-Thought(CoT)は、「答えを出す前に考える手順を書いてから答えよ」と指示する技術です。Weiら(2022)の論文「Chain-of-Thought Prompting Elicits Reasoning in Large Language Models」で体系化され、数学・論理・常識推論の精度が大幅に向上することが示されました。
指示の書き方は単純です。
user: "ステップごとに考えてから答えてください。
問: リンゴが3個と2個あります。合計は?"
モデルは「3個 + 2個 = 5個」と中間工程を書きながら答えます。途中を書くことで自己チェックが働き、いきなり答えを出すより推論の精度が上がるとされています。エージェントの計画立案(レッスン05)でも、思考ステップを明示させることが有効です。
3パターンをエージェントでどう組み合わせるか
実際のエージェントでは、この3パターンを場面に応じて使い分けます。
| パターン | 使う場所 | 主な目的 |
|---|---|---|
| システムプロンプト | 会話の前 | 役割・制約・ツール定義 |
| Few-shot | システムか会話の中 | 出力フォーマットの誘導 |
| Chain-of-Thought | ユーザー指示に追記 | 多段推論の精度向上 |
Anthropicのドキュメントでは「明確かつ具体的な指示を与え、なぜそう動いてほしいかの文脈も添えると効果的」とも述べられています。3パターンを組み合わせると、同じモデルでも出力の安定性が大きく変わります。
まとめ
- システムプロンプトでモデルの役割・制約・ツールを定義する
- Few-shotで具体例を与えることで、書式や判断基準を正確に学ばせられる
- Chain-of-Thoughtで「ステップを示してから答えよ」と指示すると、複雑な推論の精度が上がる
- 3パターンの組み合わせがエージェントのプロンプト設計の基本であり、モデルの重みを変えずに出力を改善できる実用的な手段とされる