プロンプティングのテクニック 読了時間:9分

Few-shotプロンプティングとは?例示でAIの回答精度を高める方法

著者 エマニュエル・アブ・シャブケ、創業者兼編集者 · AIQuickPrompt編集チームによる監修済み · 運営者について

Few-shotプロンプティングとは、プロンプト内に少数の入出力例を含めることで、AIモデルがパターンを推測するのではなく、例にならって回答できるようにする手法です。求める形式、トーン、構成を言葉で説明するだけでなく、実際に示します。このガイドでは、Few-shotプロンプティングの基本、Zero-shotプロンプティングとの違い、効果的なプロンプトの書き方、追加のトークンを使う価値がある場面、優れた例をAIQuickPromptに再利用可能なテンプレートとして保存する方法を解説します。

光る3枚の例示カードが青いAIコアに流れ込み、洗練された1枚の出力カードが生成される様子
光る3枚の例示カードが青いAIコアに流れ込み、洗練された1枚の出力カードが生成される様子

Few-shotプロンプティングとは?

Few-shotプロンプティングとは、入力と期待する出力の例をAIモデルにいくつか示したうえで、新しい入力も同じように処理するよう依頼する手法です。例が手本となり、モデルは説明文だけでなく、実際に示された内容から形式、トーン、詳しさを読み取ります。

この用語は、少数のサンプルだけでモデルがタスクを学ぶ「Few-shot学習」に由来します。ただし、現在のチャットモデルではモデル自体を訓練するわけではありません。プロンプトに例を貼り付けるだけです。

ZERO-SHOT | 例を示さずに直接依頼します。「このレビューを肯定的または否定的に分類してください:...」

ONE-SHOT | 本題の依頼の前に、例を1つだけ示します。

FEW-SHOT | 本題の依頼の前に、2つ以上、通常は2〜5つの例を示します。

指示だけよりも例を示したほうが効果的なのはなぜ?

形式を言葉で説明するだけでは、解釈の余地が残ります。「親しみやすく、短く返信してください」という指示にも、さまざまな受け取り方があります。短い返信例を2つ示せば、自分が考える「親しみやすさ」と「短さ」が具体的に伝わり、モデルもはるかに安定してそれに合わせられます。

例示が特に効果を発揮するのは、独特な形式を求める場合です。特定の表レイアウト、独自の文体、決まったデータラベルの付け方、言葉では説明しにくい例外的なケースなどが当てはまります。例外への対応例を1つ示すほうが、ルールを3文で説明するよりうまくいくこともよくあります。

ただし、デメリットもあります。例を加えるとリクエストごとのトークン数が増え、有料APIのコストが上がる可能性があるうえ、コンテキストウィンドウの容量も使います。単純なタスクなら、明確なZero-shotの指示で十分なことがほとんどです。

Few-shotプロンプトの書き方:手順ごとに解説

優れたFew-shotプロンプトは、コンパクトで一貫性があり、実際の作業に即しています。次の手順で作成しましょう。

  • 理想的なケースを作り上げるのではなく、実際の業務から2〜5つの例を選びます。現実的な入力を使うことで、実際のデータがどのようなものかをモデルに伝えられます。
  • すべての例で、ラベル、順序、句読点などの形式を統一します。一貫性がないと、モデルがパターンを捉えにくくなります。
  • タスクに難しいケースや例外がある場合は、その例を1つ含め、対応方法をモデルに示します。
  • 例と本題の依頼の間に、ハイフンの区切り線や「ここから本題」というラベルなど、明確な区切りを入れます。
  • 最後は新しい入力だけで締めくくります。例の後に指示を繰り返す必要はありません。示したパターンがその役割を果たします。
  • まず1件の依頼でテストして出力を確認し、例を調整してから利用範囲を広げます。

保存して再利用できるFew-shotテンプレート

用途に合わせて調整できる、改善前と改善後の例を紹介します。通常版は説明に頼りますが、Few-shot版はパターンを示します。Few-shot版を変数付きのテンプレートとして保存すれば、毎回新しい入力を埋めるだけで使えます。

改善前(Zero-shot) | 次の顧客メッセージを、落ち着いた丁寧な表現に書き換えてください:{{customer_message}}

改善後(Few-shot) | 顧客メッセージを、落ち着いた丁寧な表現に書き換えてください。意味を保ち、相手を責める表現を取り除き、60語未満にしてください。例1 | 怒りの表現:「そちらのアプリにファイルを消された。こんなのありえない!」 → 落ち着いた表現:「アップデート後、ファイルが見当たらなくなりました。復元を手伝っていただけますか?」例2 | 怒りの表現:「サポートから全然返事が来ない。使えないサービスだ。」 → 落ち着いた表現:「サポートへの問い合わせに、まだ返信をいただいていません。状況をご確認いただけますか?」 --- 次のメッセージを書き換えてください:{{customer_message}}

一度保存すれば、使うときに{{customer_message}}を埋めるだけで、例はそのまま維持できます。複数のトーンを使い分ける場合は、毎回例を書き直すのではなく、トーンごとにテンプレートを保存しましょう。

青い光線によって、ラフスケッチのカードが段階的に整えられ、鮮明な完成版カードになる様子
青い光線によって、ラフスケッチのカードが段階的に整えられ、鮮明な完成版カードになる様子

Few-shotがZero-shotより効果的な場面と、クレジットを無駄にする場面

Few-shotを使う価値があるのは、出力形式が厳密に決まっている、特定のトーンが必要、同じタスクを繰り返す、Zero-shotでは期待どおりの結果が出ない、といった場合です。分類、データ抽出、トーンの書き換え、構造化された要約は、Few-shotが得意とする代表的なタスクです。

「これを要約して」「これを説明して」といった単純で一般的なタスク、1回しか実行しないタスク、例が回答そのものより長くなる場合は、使わなくてもよいでしょう。すべての例は呼び出しのたびに入力トークンとして課金されるため、長い例を5つ含むテンプレートは、簡潔な指示に比べて1回あたりのコストが大きくなることがあります。

実践的な目安として、まずはZero-shotから始めましょう。結果が惜しいものの期待どおりでなければ、例を1つ追加します。それでもずれる場合は、2〜3つ追加します。例を増やしても出力が変わらなくなったら、それ以上追加する必要はありません。

Few-shotプロンプティングでよくある失敗

Few-shotがうまくいかない原因の多くは、モデルではなく例そのものにあります。

  • 例に一貫性がない:例ごとに形式やラベルが異なると、混在したパターンをモデルに伝えてしまいます。
  • 例が多すぎる:5〜6つを超えると、例を追加しても効果はほとんどなく、トークンコストだけは確実に増えます。
  • 例に偏りがある:すべての例が肯定的だと、モデルが何でも肯定的と分類する可能性があります。実際に起こりうるケースを幅広く含めましょう。
  • 例が古い:保存済みテンプレートの例が現在のスタイルに合っていないと、気づかないうちにすべての結果の品質が下がります。
  • 答えを混ぜてしまう:本題の依頼を誤って例の中に含めると、モデルが回答を作る代わりに、その内容をコピーしてしまうことがあります。

AIQuickPromptはFew-shotプロンプティングにどう役立つ?

Few-shotテンプレートは、まさに保存しておく価値のあるプロンプトです。AIQuickPromptで各テンプレートをプロンプトカードとして保存し、タスクごとにフォルダで整理して、日常的に使うものをお気に入りに登録しましょう。変更する部分を再利用可能な{{variables}}にしておけば、例は固定したまま、新しい入力だけを埋められます。

バージョン履歴には、テンプレートの過去の版が保存されます。例を更新して結果が悪くなった場合は、うまく機能していた版に戻せます。AI Optimiseを使えば、例の前後にある指示をより的確にできます。ただし、再利用する前に書き換え内容を確認し、例や変数が保持されていることを確かめましょう。

AIQuickPromptは、テンプレートを保存・整理するツールです。ChatGPT、Claude、Gemini内でタスクを実行するものではありません。入力済みのテンプレートを利用中のAIサービスにコピーするため、モデルに何を見せるかを自分で正確に管理できます。

AIQuickPromptの無料アカウントを作成して、今日から最初のFew-shotテンプレートを保存しましょう。必要なのは、質の高い例を2〜3つ、入力用の変数を1つ、保存先のフォルダです。次に同じタスクが発生したときは、プロンプト全体を書き直す代わりに、1つの欄を埋めるだけで済みます。以下から無料で始めましょう。

あわせて読みたい

バイブコーディング、AI開発の品質向上、AI利用コストの管理に役立つおすすめガイド。

よくある質問

Few-shotプロンプティングを簡単に説明すると?

プロンプトの中で、求める回答の例をAIモデルにいくつか示すことです。モデルはそのパターンにならって、本題の質問に回答します。

Zero-shotとFew-shotプロンプティングの違いは?

Zero-shotは、例を示さずに直接依頼する方法です。Few-shotは、先に2つ以上の入出力例を示します。Zero-shotは低コストで、単純なタスクに適しています。Few-shotは、厳密な形式、特定のトーン、繰り返し行うタスクで、より安定した結果を得られます。

Few-shotプロンプトにはいくつ例を入れるべき?

通常は2〜5つです。1つの例を示すOne-shotでも効果があることは多いですが、5〜6つを超えると、例を増やしても結果はほとんど改善せず、トークンコストは確実に増えます。

Few-shotプロンプティングはコストが高くなる?

はい、多少高くなります。例はリクエストのたびに入力トークンとして送信されるため、有料APIの呼び出しコストが少し増えます。例は短く保ち、Zero-shotで十分な結果が得られない場合にだけ使いましょう。

Few-shotプロンプティングはすべてのAIモデルで使える?

例はプロンプト内のテキストにすぎないため、ChatGPT、Claude、Geminiを含む主要なチャットモデルで利用できます。一般的に、大規模なモデルほど少ない例でパターンを捉えられます。

Few-shotテンプレートを保存して再利用できる?

はい。変更する入力部分を変数にしてAIQuickPromptにテンプレートを保存すれば、例は固定したまま使えます。更新によって結果が悪くなった場合も、バージョン履歴から以前の例に戻せます。

続きを読む