ワンショットプロンプトとは、大規模言語モデルに対して1つの具体例だけを提示し、希望する出力形式やタスクを理解させる手法です。ゼロショットプロンプトよりも指示の意図が明確に伝わりやすく、フューショットプロンプトよりもプロンプトの文字数を抑えられるため、コストや効率の面でバランスの取れたプロンプトエンジニアリング技術です。
ワンショットプロンプトとは
ワンショットプロンプトとは、生成AIへの指示文(プロンプト)内に「入力と出力の例」を1点だけ含めることで、モデルにタスクの形式や回答の方向性を理解させる手法です。
詳しく解説
大規模言語モデルは、プロンプトに含まれる文脈や例からパターンを学習・推論するインコンテキスト学習という能力を持っています。例を全く与えないゼロショットプロンプトでは、望む出力フォーマットやトーンが再現されない場合があります。一方で、複数の例を与えるフューショットプロンプトは精度が高まるものの、入力するトークン数を多く消費しコストが増大します。ワンショットプロンプトは、最小限のコスト(例1つ分)で応答の品質やフォーマットの適合率を大幅に向上させることができるため、実務で非常に重要な手法となっています。
具体例・使われ方
例えば、英語から日本語への翻訳タスクにおいて、「入力: Apple -> 出力: りんご」という1つの例を提示した上で「入力: Banana -> 出力:」と入力します。これにより、AIは余計な解説を挟まず単語のみを返すという出力形式を即座に理解します。また、テキストの感情分析で「本文: 届いた商品が壊れていました。 -> 感情: 悲観」という例を1つ入れることで、指定したラベル形式で一貫した結果を出力させることができます。
似た用語との違い
例を一切与えずに指示文のみを渡すゼロショットプロンプトと比べると、出力フォーマットの揺れを防ぐ効果が高くなります。一方、2つ以上の複数の例を提示するフューショットプロンプトと比較すると、トークン消費量が少なく済む反面、複雑なパターンや特殊な例外処理をAIに正しく伝える精度では劣る場合があります。
注意点
提示するたった1つの例が不適切であったり誤っていたりすると、モデルがその誤ったパターンをそのまま採用し、偏った応答や誤った出力を生成する原因になります。そのため、提示する例は極めて正確かつ代表的なものを選ぶ必要があります。また、複雑な推論を要するタスクでは、1つの例だけではモデルの理解が不十分になることがあります。