ChatGPTに質問するとき、「例を示すと回答の質が上がる」と感じたことはありませんか?
これは「ゼロショット」と「フューショット」という、プロンプトエンジニアリングの基本概念に関係しています。
この記事では、この2つのテクニックの違いと使い分けを解説します。
ゼロショット(Zero-shot)とは?
一言で言うと
ゼロショットとは、例を一切示さずにAIにタスクを依頼する方法です。
「ゼロ」は「例の数が0」という意味。AIは事前学習で得た知識だけを頼りに回答します。
ゼロショットの例
以下のテキストの感情を「ポジティブ」「ネガティブ」「中立」で分類してください。
テキスト: この映画は最高でした!絶対また見たい。
AIは例を見ていませんが、「感情分類」というタスクを理解し、適切に回答できます。
例がなくても、AIはタスクを理解できるんですか?
ゼロショットが向いている場面
- シンプルなタスク(翻訳、要約、感情分類など)
- 一般的な知識で解決できる質問
- 素早く結果を得たい場合
- 出力形式に厳密な要件がない場合
フューショット(Few-shot)とは?
一言で言うと
フューショットとは、少数の例(1〜5個程度)をプロンプトに含めてAIにタスクを依頼する方法です。
「Few」は「少数」、「shot」は「例」を意味します。
フューショットの例
以下のテキストの感情を分類してください。
例1:
テキスト: 素晴らしいサービスでした
感情: ポジティブ
例2:
テキスト: 二度と利用しません
感情: ネガティブ
例3:
テキスト: 普通でした
感情: 中立
---
テキスト: この映画は最高でした!絶対また見たい。
感情:
AIは例から「どのように分類すべきか」を学び、より正確に回答できます。
ワンショット(One-shot)
例が1つだけの場合は「ワンショット」と呼びます。
以下の形式で商品説明を書いてください。
例:
商品名: ワイヤレスイヤホン
説明: 【高音質】最新のBluetoothチップ搭載で、クリアな音質を実現。【長時間再生】1回の充電で8時間使用可能。
---
商品名: スマートウォッチ
説明:
ゼロショット vs フューショットの比較
| 項目 | ゼロショット | フューショット |
|---|---|---|
| 例の数 | 0 | 1〜5個 |
| プロンプト長 | 短い | 長い |
| コスト | 低い | 高い |
| 精度 | 標準 | 高い |
| 出力の一貫性 | 低め | 高い |
一般的に、フューショットの方が精度は高くなりますが、プロンプトが長くなる分、トークンコストも増加します。
どちらを使うべき?
ゼロショットを選ぶ場面
- タスクがシンプルで明確
- AIが既に知っている一般的なタスク
- コストを抑えたい
- 素早くプロトタイプを作りたい
フューショットを選ぶ場面
- 特定の出力形式が必要
- AIが知らない新しい概念を教えたい
- 境界ケース(判断が難しい例)がある
- 一貫した出力品質が重要
どちらか迷ったら、どうすればいいですか?
まずはゼロショットで試してみて、結果が満足できなければフューショットに切り替えるのがおすすめです。特に「出力形式がばらつく」「特定のケースで間違える」場合は、フューショットが効果的です。
効果的なフューショットの書き方
1. 多様な例を選ぶ
似たような例ばかりではなく、異なるパターンの例を含めましょう。
❌ 悪い例(全部ポジティブ):
例1: 最高です → ポジティブ
例2: 素晴らしい → ポジティブ
例3: 完璧です → ポジティブ
✅ 良い例(バランス良く):
例1: 最高です → ポジティブ
例2: 最悪です → ネガティブ
例3: 普通です → 中立
2. 境界ケースを含める
判断が難しい例を含めると、AIの精度が向上します。
例: この商品、まあまあかな → 中立
例: 悪くはないけど、もう少し安ければ → 中立
3. 出力形式を統一する
例の出力形式を統一することで、AIも同じ形式で回答します。
4. 例の数は3〜5個が目安
多すぎるとコンテキストウィンドウを圧迫し、少なすぎると効果が薄くなります。
発展テクニック:ゼロショットCoT
2022年の研究で、ゼロショットでも「Let's think step by step(順を追って考えましょう)」と付け加えるだけで、推論タスクの精度が大幅に向上することがわかりました。
Q: 太郎は5個のりんごを持っています。2個食べて、3個もらいました。
今、太郎は何個のりんごを持っていますか?
Let's think step by step.
A: 順を追って考えましょう。
1. 最初: 5個
2. 2個食べた: 5 - 2 = 3個
3. 3個もらった: 3 + 3 = 6個
答え: 6個
これを「ゼロショットChain-of-Thought(ゼロショットCoT)」と呼びます。
まとめ:例を活用してAIの精度を上げる
ゼロショットとフューショットは、プロンプトエンジニアリングの基本テクニックです。
ゼロショット・フューショットの重要ポイント:
- ゼロショット = 例なしでタスクを依頼
- フューショット = 1〜5個の例を示してタスクを依頼
- フューショットの方が一般的に精度が高い
- ただしトークンコストが増加する
- 多様で境界ケースを含む例が効果的
- まずはゼロショットで試し、必要に応じてフューショットへ
適切なテクニックを選んで、AIから最高の回答を引き出しましょう。