Few-shot プロンプティング
Few-shotプロンプティングは、LLMの文章の続きを予想する能力を利用して、指示内容を細かく言葉で説明することなく、「このインプットに対してはこう返す」というデモンストレーションをいくつか与えるだけで、こちらの期待するアウトプットの内容や、回答形式、口調、細かな文脈構成などをLLMへ的確に伝えるテクニックです。
例えば、このテクニックを用いて英文をカジュアルな日本語に翻訳するタスクを実行する場合、以下のようなプロンプトを入力します。
Really? That's amazing! // マジ?驚きなんだけど! I'm totally beat today. // 今日めっちゃ疲れたわ。 That new movie was sick! // その新作映画超ヤバかった! Sorry, my bad. //
始めの3行はあらかじめ用意した例文、最後の一行(Sorry, my bad.)が実際に翻訳してほしい文です。ここではプロンプトの末尾が「//」で終わっているところがポイントです。LLMの基本機能は文章の補完であるという点を踏まえると、このあとに続く内容が行頭の英文を日本語に訳した文章が来ることは明白でしょう。そのため、アウトプットは以下のようになります。
ごめん、俺のミスだ。
具体的な指示は何もしていないにも関わらず、ほぼ期待通りの翻訳が返ってきました。通常通り言葉で指示する場合と比較してこのテクニックが優れている点としては、アウトプットとしてこちらが期待している微妙な言葉のニュアンスなどを、例文を通して暗黙的に伝えられる事が大きいでしょう。言葉で説明するのが難しいような要件をLLMに伝える際には、このようなテクニックが役立つかもしれません。
上記の例では、翻訳前後の文章を「//」で区切ることで表現していましたが、必ずしもこのフォーマットに則る必要はありません。LLMが続きを予測したとき、こちらが欲しい内容がそのまま生成される形にすることが重要です。