Claude Media
Claudeのfew-shotプロンプトに使う例は3〜5個が最適です

Claudeのfew-shotプロンプトに使う例は3〜5個が最適です

Few-shot(multishot)プロンプトに入れる例の適切な数と、多様性を持たせる設計の基準をClaudeの公式資料の記述から見ていきます。

このTipsでできること

Few-shot(multishot)プロンプティングは、出力の形式・トーン・構造をClaudeに見本で示す技法です。プロンプト設計の資料は「3〜5個の実例を含めると最良の結果が得られる」と明記しています。プロンプトの書き方全体はClaudeプロンプトの書き方 — 良い指示を出す7つのコツで扱っており、本記事はfew-shotの例の数・XMLタグでの書き方・多様性設計の3点に絞って掘り下げます。

<example><examples>タグで書く基本構文

例をそのまま地の文に並べず、<example>タグ(複数の例をまとめる場合は<examples>タグ)で囲むことが推奨されています。タグで囲むことで、Claudeがどこまでが指示でどこからが例なのかを取り違えずに済みます。

問い合わせ対応チャットボットに例を渡す場合、次のような構造になります。

<examples>
<example>
<input>本日の営業時間を教えてください</input>
<output>本日は10:00〜19:00で営業しています。</output>
</example>
<example>
<input>返品はいつまでできますか</input>
<output>商品到着から30日以内であれば返品を承っています。詳しい手順は返品ページをご確認ください。</output>
</example>
</examples>

例はプロンプト本文の一部として毎回そのまま送られるため、例を増やすほど入力トークンが増えます。ネストが深い入出力を扱うなら、<examples>の中に<example index="1">のように番号を振ると、後から特定の例だけを指して修正を指示しやすくなります。

推論の過程を例に見せたい場合は、few-shotの例の中に<thinking>タグを入れる書き方もあります。拡張思考を使うプロンプトでこの構造を用意しておくと、Claudeが同じ推論パターンを自分の拡張思考ブロックでも再現しやすくなります。

<example>
<input>3個のリンゴと5個のみかんがあります。合計は何個ですか。</input>
<thinking>リンゴ3個とみかん5個を足す。3+5=8。</thinking>
<output>合計8個です。</output>
</example>

<examples>は単独で使うより、<instructions><context>と組み合わせたときに効果が出ます。指示・背景・例・変数入力が混ざるプロンプトほど、種類ごとにタグで囲むと誤読が減ると案内されています。先の問い合わせ対応チャットボットなら、次のように全体を組み立てます。

<instructions>
以下の例と同じ形式・長さで、ユーザーの問い合わせに回答してください。
</instructions>
 
<examples>
<example>
<input>本日の営業時間を教えてください</input>
<output>本日は10:00〜19:00で営業しています。</output>
</example>
<example>
<input>返品はいつまでできますか</input>
<output>商品到着から30日以内であれば返品を承っています。詳しい手順は返品ページをご確認ください。</output>
</example>
</examples>
 
<input>
{ユーザーの問い合わせ本文}
</input>

長い文書を読み込ませる場合は、この並び順も変わります。文書が2万トークンを超えるような規模になると、文書は問い・指示・例より前、プロンプトの先頭付近に置くほうが精度が上がると案内されています。<instructions><examples>は文書の後、問いの直前に置く形になります。

タグ名は<instructions><examples><input>のように用途ごとに固定し、プロンプトをまたいで同じ名前に揃えることが推奨されています。揃えておくと後からプロンプトを見直すときも構造を追いやすくなります。

例は何個が適切か — 2つの資料の基準を合わせて読む

プロンプト設計の資料「Use examples effectively」は、例の数について次のように述べています。

Include 3–5 examples for best results. You can also ask Claude to evaluate your examples for relevance and diversity, or to generate additional ones based on your initial set.

「3〜5個」は、この資料が示す具体的な基準です。数を増やしても改善しない場合は、Claude自身に手持ちの例の関連性・多様性を評価させたり、追加の例を生成させたりする選択肢も示されています。すでに書いた例をClaudeに投げ、次のように評価を頼む使い方です。

以下の3つの例は、想定する問い合わせの多様性(質問の種類・回答の長さ・情報の有無)を
十分にカバーしていますか。不足しているパターンがあれば、既存の例と同じ構造の例を
1〜2個追加で作成してください。
 
<examples>
...(既存の例)...
</examples>

自分で「多様性が足りているか」を判断しにくいときは、この一手を挟んでからタグに追記する方が、勘で例を増やすより手数が読めます。

Anthropicのブログ記事「best-practices-for-prompt-engineering」は、例を使い始める判断そのものについて別の角度から書いています。

Start with one example (one-shot). Only add more examples (few-shot) if the output still doesn't match your needs.

この2つの記述は矛盾していません。ブログが扱っているのは「例をいくつ用意すべきか」ではなく「まず何個の例から始めるか」という着手順です。フォーマットが単純で、指示だけでも出力がほぼ安定している場合は1個(one-shot)から試し、それでも出力が要件に届かないときに3〜5個まで増やす、という2段階の流れとして読むのが実務的です。

状況最初に試す例の数根拠
フォーマットが単純で、指示だけでも出力が安定している最初に試す例の数1個(one-shot)根拠ブログ記事: まず1例から始め、不足するときだけ増やす
指示だけでは出力の形式・トーン・構造が安定しない最初に試す例の数3〜5個(few-shot)根拠ドキュメント: 3〜5個で最良の結果
3〜5個まで増やしても改善しない、または偏りが出る最初に試す例の数数を増やす前に多様性を見直す根拠ドキュメント: Claudeに例の関連性・多様性を評価させる/追加生成させる

6個以上に増やした場合の効果については、どちらの資料も言及していません。数を積むより、次の節の多様性設計を先に見直す方が案内されている基準に沿っています。

社内文書のように型が強い用途では、この2段階の判断がそのまま効きます。稟議書のような定型文書は、社内の過去文書を1通抜粋するだけの1例で文体の癖を十分に拾わせられることがあり、逆に問い合わせ対応のように入力の幅が広いタスクでは3〜5個まで増やして初めて安定するケースが多くなります。判断の起点は「例を何個入れるか」ではなく「1個で試して、出力のブレを見てから増やすかどうかを決める」という順序にあります。

例の多様性設計 — 何を変え、何を揃えるか

良い例の条件は3つ挙げられています。

  • Relevant(関連性): 実際の使用場面に近い内容にする
  • Diverse(多様性): エッジケースを含み、Claudeが意図しないパターンを拾わないだけの幅を持たせる
  • Structured(構造化): <example>タグで囲み、指示と区別できるようにする

このうち多様性は、具体的に何を変えるかが分かりにくい条件です。先の問い合わせ対応の例で言えば、次のような軸で変化を持たせると、Claudeが「たまたま全部の回答が2文だった」のような無関係な共通点までパターンとして学習するのを防げます。

  • 回答の長さ(短い定型回答と、手順を含む長めの回答の両方を入れる)
  • 該当する情報がある場合とない場合の両方(「不明です、担当窓口にご確認ください」のような回答も1つ入れる)
  • 入力の言い回しの幅(丁寧語・カジュアルな言い回しなど、実際に来る問い合わせの幅に合わせる)

逆に、出力フォーマット(見出しの付け方、リストか文章か)は例ごとに揃えておきます。揃えるべき部分と変えるべき部分を混同すると、Claudeがどちらを「守るべき型」として読むかが曖昧になります。例えば3つの例すべてで「営業時間は10:00〜19:00です。」のような1文回答にしていると、実際には手順を説明すべき返品の質問でも1文で切り上げてしまうことがあります。長さや構成にも意図的な幅を持たせておくことが、フォーマットを固定しつつ内容の柔軟性を保つ鍵になります。

関連性(Relevant)の条件は、実際の使用場面に近づけることが基準です。問い合わせ対応であれば、実際のユーザーは「返品したいです」のような短い一文だけでなく、「先週買った商品が不良品だったので返品したいのですが、レシートを失くしてしまいました」のように条件が複数絡む聞き方もします。ここから先は編集部の見解ですが、例を単純な一問一答だけで揃えると、実際に来る込み入った質問への対応力を確かめずに本番運用へ入ることになりかねません。想定する入力のうち一番複雑なパターンを1つ含めておくと、抜け漏れに気づきやすくなります。

よくある落とし穴

例が1つしかないと、その1例特有の癖まで正解パターンとして拾われることがあります。Claude 4.xやそれに近い高性能なモデルは、例の細部に強く注意を払うと案内されています。数値・固有名詞・言い回しのクセなど、伝えたい意図と関係のない要素まで律儀に模倣されるリスクがあるため、例に入れる固有名詞や数値はダミーだと分かる形にしておくのが安全です。実在の顧客名や社内の実データをそのまま例に貼ると、その名前や数値が別の問い合わせへの回答にも紛れ込むことがあります。

例を増やすほどプロンプトのトークン数が増えます。 <example>タグの内容は毎回のリクエストに乗るため、同じ例入りのシステムプロンプトを繰り返し使う構成では、自動プロンプトキャッシュでこの固定コストを吸収する余地があります。ツール定義に例を添えるinput_examplesという別の仕組みもあり、Claudeのinput_examplesでツール呼び出し精度を上げる使い方にトークンコストの実測値をまとめています。few-shotの例とinput_examplesは、システムプロンプト全体に対する例か、個々のツール呼び出しに対する例かという対象範囲が異なる仕組みです。

用途別にすぐ使える例文がない状態から始めると、多様性の設計にたどり着く前に手が止まります。定型的な依頼であればそのまま使えるClaudeプロンプト例集のテンプレートを土台にして、自分の用途に合わせて2〜3個へ差し替える方が着手しやすいこともあります。

例だけを増やして、指示文そのものの明確さを後回しにするのも本末転倒です。例は指示を補う位置づけであり、指示自体が曖昧なままでは、例を何個積んでもClaudeが拾うべきパターンが定まりません。まず1〜2文の直接的な指示を書き、そこに例を足していく順序を保つと、後から見直すときにどちらを直すべきかの判断がしやすくなります。

まとめ

Few-shot(multishot)プロンプトは、指示だけでは出力の形式・トーン・構造が安定しないときに使う技法です。3〜5個の実例を最良の結果が出る目安として示す資料と、まず1個から始めて必要な場合だけ増やす着手順を勧めるブログ記事があり、両者は数の目安と着手順という別の軸を示していると読めます。例は<example>タグ(複数なら<examples>タグ)で構造化し、関連性・多様性・構造化の3条件を意識して用意します。数を増やしても改善しないときは、量ではなく多様性の設計を見直すのが案内されている基準に沿った次の一手です。

この記事を共有:XはてブLinkedIn