OpenAIは、同社のウェブサイトでGPT-4のような大規模言語モデルからより良い結果を得るためのプロンプト(ChatGPTへの入力文)エンジニアリングガイドを公開しました。
GPT-4から良い結果を得るための戦略として次の6つが挙げられています。
- 明確な指示を書く
- 参照テキストを提供する
- 複雑なタスクを単純なサブタスクに分割する
- モデルに「考える」時間を与える
- 外部ツールを使用する
- 計画的に変更をテストする
また、「Prompt examples」のページでは多くのプロンプト例が公開されています。
本記事では、6つの戦略の中でもChatGPTですぐに使える「明確な指示を書く」について解説します。
参考:OpenAI
プロンプトのコツ①:質問に詳細情報を含める
抽象的な質問では、曖昧な回答や間違った解釈の回答が出力されてしまいます。
質の高い回答を得るために、リクエストには重要な詳細や文脈を含めましょう。
悪い例 (Worse) | より良い例 (Better) |
---|---|
Excelで数字をどうやって足しますか? | Excelでドルの金額の行をどうやって合計しますか? 全ての行の合計をシートの右側にある「合計」という列に自動で表示させたいです。 |
大統領は誰ですか? | 2021年のメキシコの大統領は誰でしたか、そして選挙はどのくらいの頻度で開催されますか? |
フィボナッチ数列を計算するコードを書いてください。 | TypeScriptを使ってフィボナッチ数列を効率的に計算する関数を書いてください。 コードの各部分が何をしているのか、なぜそのように書かれているのかを丁寧にコメントで説明してください。 |
会議のメモを要約してください。 | 会議のメモを一つの段落に要約してください。 次に、話者ごとにその主要なポイントをマークダウンリストで書いてください。 最後に、話者が提案した次のステップやアクションアイテムがあれば、それらをリストアップしてください。 |
「大統領は誰ですか?」だけでは具体的ではありません。例としてアメリカの大統領を回答してくれます。
国名や期間など、質問の内容を詳細に記載することで、欲しい情報を正しく得ることができます。
プロンプトのコツ②:モデルに役割を与える
モデルに役割やペルソナを設定することで出力内容が大きく変わります。
何も設定しない場合
堅いニュアンスのメール文が出力されました。
「私が何か書くのを手伝ってほしいと頼むと、あなたはすべての段落に少なくとも1つはジョークや遊び心のあるコメントが含まれた文書を返信します。」と設定します。
ジョークを交えたり喩えが多い表現になっています。
プロンプトのコツ③:区切り文字を使用して強調表示する
トリプルクォーテーション、XMLタグ、セクションタイトルなどの区切り記号は、テキストのセクションを区別するのに役立ちます。
プロンプトのコツ④:タスクを完了するためのステップを指定する
手順を指定したステップごとに指示を明示することで回答の精度を向上できます。
プロンプトのコツ⑤:出力例を示す
回答の形式や内容の例をプロンプトに含めることで、思い通りの回答を得られる可能性が高くなります。
簡単な例ですが、犬→dogのように例を示すことで具体的なテキストでの指示がなくても、例をもとに回答してくれます。
プロンプトのコツ⑥:出力の長さを指定する
指定された長さの出力を生成するように指示することができます。
目標とする出力の長さは、単語、文、段落、箇条書きなどの数で指定できます。しかし、単語数や文字数で生成するようにモデルに指示しても、指定した数ぴったりにはならない場合が多いです。特定の段落や箇条書きの数をで指定すると出力をより確実に生成することができます。
文章を50文字で要約するように指示しました。結果は58文字で若干の誤差が出てしまいます。
文字数で制限するよりも、箇条書きの数で指定するとよいでしょう。
プロンプトエンジニアリングをマスターしよう
ChatGPTのような対話型のAIから思い通りの回答を得るために、最適なプロンプト(入力文)を設計するスキルのことをプロンプトエンジニアリングと呼びます。
最近では、プロンプトエンジニアの年収が米国で最大33万5000ドルに達する(約4500万円)というニュースが話題になりました。
プロンプトの構成要素 プロンプトエンジニアリングの過程で、以下の4つの要素がプロンプトの構成に影響を与えることがわかります。 命令 - 実行してほしい特定のタスクに関する命令 文脈 - 生成AIの応答は文脈に応じて返答[…]
「Zero-Shotプロンプティングって何?」「Zero-Shotプロンプティングの効果は?」そう思う方もいるのではないでしょうか。 実は、Zero-ShotプロンプティングはAI技術を活用した効率的な方法で、さまざまなタスクに対応[…]
「Few-shotプロンプティングって何?」「Few-shotプロンプティングの効果は?」そう思う方もいるのではないでしょうか。 Few-shotプロンプティングは生成AIを効果的に活用する方法の一つで、複雑なタスクに対応することが[…]
「思考連鎖型プロンプティングって何?」「思考連鎖型プロンプティングの効果は?」そう思う方もいるのではないでしょうか。 思考連鎖型プロンプティングは生成AIを効果的に活用する方法の一つで、推論を要する複雑なタスクに対応することが可能で[…]
まとめ
OpenAIは、同社のウェブサイトでGPT-4のような大規模言語モデルからより良い結果を得るためのプロンプト(ChatGPTへの入力文)エンジニアリングガイドを公開しました。
「明確な指示を書く」に関するテクニックは、今日から使えるようなスキルばかりです。ChatGPT PlusでGPT-4を利用している方はもちろん、無料版のGPT-3.5を利用している方も是非プロンプトの最適化に挑戦してみてはいかがでしょうか。