コーネル大学が2023年12月26日に「LLaMA-1/2」「GPT-3.5/4」の回答の精度を向上させるために有効な26個の原則を発表しました。
https://github.com/VILA-Lab/ATLAS/blob/main/data/README.md
かなりボリューミーですが、個人的に普段から使っていたり、いいなと思ったりしたのは、「2、3、7、8、12、14、16、17、22、26」です!
1.本題からすぐに入る
個人的にこれは意外でした。丁寧に接すると回答の精度が上がると信じていた人間なので……。
2.対象者を明確にする
「中学生にもわかるように」とか「まったく使ったことがない人でもわかるように」など、どういう人に向けて説明するのか、対象者を明確にする目的で使うことが多いです。
対象者を示すのと示さないのでは、かなりアウトプットが変化するイメージです。
3.タスクを分解する
これも複雑なタスクの場合によく使っています。実行の手順を示して、順序だててタスクに取り組むように指示することで、回答の精度が上がります。
4.否定的な内容を避ける
これは初めて聞きました。プロンプトの例もよくわからなかったです……。
個人的には、ネガティブプロンプトとして、使うのはありなのかなと思います。たとえば、「〇〇という言葉を使わないで説明してください」のように回答を明確にする手段として使うイメージです。
5.説明方法を具体化する
これは2番と似ているような気がします。説明の仕方を具体的に指示している感じですかね。
6.報酬を提示する
これは初めて知りました。実際に報酬を渡すわけではないのに、効果あるのかは気になりますね。
7.具体例を示す
これは有効な方法として昔から言われていますね。とくに計算式や複雑なタスクのときに使用することが多いと思います。
8.フォーマットを整える
これもかなり重要だと思います。指示文がきれいに整理されていないと、内容をしっかり理解できないときがあったりします。
人が見てわかりやすいかどうかは重要ですね。
9.役割?目的?をあたえる
これも役割を与えるのに似ていますね。AIに責任感を与えることで、プロンプトの精度が向上するという話は聞いたことがあります。
10.ペナルティを組み込む
自分はあまり使わないのですが、人間と同じように「適度なプレッシャーを与える」と、回答の精度が向上するという話は聞いたことがあります。
11.自然で人間のように答える
自分は普段GPT-4を使っているのですが、ここまで指示しなくてもかなり自然な回答をしてくれていると感じています。
12.ステップバイステップで回答を得る
これも、複雑なタスクを依頼するときには有効ですよね。タスクを分解して解いていくことで、回答の質も上がりますし、どこでミスをしたのかも把握しやすくなります。
13.中立の視点での答えを求める
AI自体が割とフラットな答えを出すので、あまり気にしていなかったのですが、状況によっては使えそうですね。
14.AIに質問をさせる
自分は、プロンプトの最後に「最高のアウトプットを出すために必要な情報があれば質問してください」というふうに記載することがあります。
十分な情報を揃えたうえで回答に移るというのは、かなり有効な方法ですね。
15.理解のテストをする
これはちょっとよくわかりませんでした……。
16.言語モデルに役割を与える
これは自分もよく使っていますね。とくに「あなたは〇〇の専門家です」「あなたはSEOが得意なライターです」のように専門知識をもった人の視点で回答を出力してほしいときに活用しています。
17.区切り文字の使用
これも重要ですね。文脈がわかりやすくなったり、重要な部分が明確になったりします。
18.特定のフレーズを繰り返す
プロンプトでは意識したことがないですが、重要なポイントは繰り返し伝えることが大事だったりするので、効果はありそうですね。
19.Chain-of-thought (Cot) と Few-Shot プロンプトを組み合わせる
これは例題を学習させて、思考プロセスを伝えるということですね。これも大事です。
20.出力プライマーを使用する
これは「出力のスタート部分」を伝えるというような感じですかね?
確かに、いきなり説明からスタートしていますね。
21.詳細な回答の提示
文字数を指定していないのもありますが、いつもより説明が長く、詳細に記載されている感じがします。
22.スタイルを変えずに修正をする
これは誤字脱字や文字起こしをするときに使えそうですね。スタイルは変えずに文章の言い回しを変更するなど、活用の幅は広そうです。
23.複雑なコーディングのプロンプト
自分がこのあたりの知識に疎いので、よくわかりませんでした。
アウトプット貼っておきます。
24.文書のスタートを指定する
始まりの文章を指定して、そこからスタートするプロンプトです。小説とか台本作成に使えそうですね。
25.重要な要件を指定する
絶対含めたいキーワードや単語を指定する方法です。文章作成で〇〇というキーワードを含めるとか、データを分類する際の、カテゴリの指定など、いろいろな用途で使えそうですね。
26.サンプルを提示する
具体例と近いですが、これもかなり使えそうですね。個人的には、画像生成のときに「イメージ画像をアップロードする」という形で活用しています。