「プロンプトの書き方ひとつでAIの性能が劇的に変わる」——その背景にある概念がゼロショット・フューショット学習です。ファインチューニングなしにプロンプトだけでAIを特定タスクに特化させるこの技術は、AI活用の核心スキルです。
ゼロショット・ワンショット・フューショットの違い
“ショット(Shot)”は「例の数」を意味します。AIに何個の例を見せてからタスクを実行させるかで3種類に分かれます。
| 種類 | 意味 | プロンプトの例 | 向いているケース |
|---|---|---|---|
| ゼロショット(Zero-Shot) | 例を一切与えずにタスクを実行 | 「このレビューがポジティブかネガティブかを判定して:〇〇」 | シンプルなタスク・汎用的なAIで対応できる場合 |
| ワンショット(One-Shot) | 1つだけ例を与えてからタスクを実行 | 「例:すごく良かった→ポジティブ。では:〇〇は?」 | 例が少ない場合・フォーマットを合わせたい場合 |
| フューショット(Few-Shot) | 複数の例(3〜10件程度)を与えてからタスクを実行 | 「例1:…→ポジティブ 例2:…→ネガティブ 例3:…→中立 では:〇〇は?」 | 特定のフォーマット・スタイルを徹底させたい場合 |
なぜフューショットが効くのか
大規模言語モデルは学習時に膨大なパターンを学んでいます。フューショット学習では、プロンプトに例を入れることで「このパターンで回答してほしい」という文脈をAIに伝えます。AIはその文脈を読み取り、例と同じパターンで回答します。ファインチューニングのような再学習は不要で、プロンプトを変えるだけで即座に動作します。これを「In-Context Learning(文脈内学習)」とも呼びます。
Chain-of-Thought(思考の連鎖)プロンプティング
フューショット学習の応用として「Chain-of-Thought(CoT)プロンプティング」があります。答えだけでなく「考え方のプロセス」も例として示すことで、AIが複雑な推論をステップバイステップで行えるようになります。
通常のプロンプト(精度が低い)
Q: りんごが5個あります。3個食べました。残りは?
A: 2個
A: 2個
Chain-of-Thoughtプロンプト(精度が高い)
Q: みかんが8個あります。5個食べました。残りは?
A: まず8個からスタートします。5個食べると8-5=3。残りは3個です。
Q: りんごが5個あります。3個食べました。残りは?
A: まず5個からスタートします。3個食べると5-3=2。残りは2個です。
A: まず8個からスタートします。5個食べると8-5=3。残りは3個です。
Q: りんごが5個あります。3個食べました。残りは?
A: まず5個からスタートします。3個食べると5-3=2。残りは2個です。
実践的なフューショットプロンプトの書き方
例の質を高める
例は多ければ良いわけではない。高品質な例を3〜5件の方が10件の粗悪な例より効果的。
出力フォーマットを統一
例の回答フォーマット(JSON・箇条書き・特定の文体等)を統一することでAIの出力も同じフォーマットになる。
エッジケースを含める
通常のケースだけでなく、例外的なケースも例に含めると精度が上がる。
「なぜそうなるか」を例示
単純な入力→出力だけでなく、reasoning(理由)も一緒に例示するとChain-of-Thought効果が得られる。
よくある質問
フューショット学習とファインチューニングはどちらが良い?
フューショット学習の利点はコストゼロ・即座に試せること。ファインチューニングの利点は大量データで学習した結果が「永続的に」モデルに組み込まれること。まずフューショット学習を試して効果が不十分ならファインチューニングを検討するのがベストプラクティスです。
ゼロショットとフューショットどちらが良い?
タスクによります。シンプルなタスクはゼロショットで十分なことが多いです。特定のフォーマット・スタイル・ドメイン固有の判断が必要な場合はフューショットが効果的です。まずゼロショットで試して、結果が不満足ならフューショットに移行する方法がおすすめです。


コメント