ChatGPTを提供しているOpenAIが、より良い結果を出すためのプロンプトのノウハウを公開した。同社は、“GPTモデルは心を読むことができないので、望ましい結果を得るためには明確な指示を与えることが重要”としており、明確な指示を与えるための6つの戦略を提案している。
- より意味のある回答を得るために、問い合わせに詳細を含める。
- チャットボットに役割を与える(「あなたは専門家です。)
- クエリの特定の部分を識別するためにトリプルクオート(三重引用符)を使用する。
- タスクを完了するために必要なステップを指定する
- 例を示す
- 出力の長さを指定する
参考テキストの提供
言語モデルは、特に「難解な」トピックに関する質問や、引用符やURLに関する質問で不正解になりがちです。参照テキストを提供することで、不正解の数を減らすことが出来る。この戦略には次のようなものがある。
- 参考文献に基づいて回答するようモデルに指示する。
- 参考文献から引用して回答するようモデルに指示する。
複雑なタスクを単純なサブタスクに分割する
複雑なタスクは単純なタスクよりもエラー率が高くなる傾向があるため、複雑なタスクを一連のモジュール化されたコンポーネントに分割することが役立つという。この戦略には次のような戦術がある。
- 選択、質問、明確化を通じて、ユーザーリクエストに最も関連する指示を特定する。
- 長い文書を部分的に要約し、再帰的に完全な要約を作成する。
モデルに “考える”時間を与える
モデルはすぐに答えようとすると、まるで人間のようにより多くの思考ミスを犯してしまう。回答する前に、モデルに「思考の連鎖」(ステップバイステップで考えること)を形成するよう求めることで、より確実に正しい答えを導き出すことが出来る。この戦略には次のような戦術がある。
- 既存の解答を評価する前に、モデル自身に解答を生成させる。
- 内部モノローグまたは一連の質問を使用して、モデルの思考プロセスを隠す。
- 以前の反復で何か見落としがなかったか、モデルに尋ねる。
OpenAIは、”深呼吸をしてください”といったもっと変わったプロンプトの追加や、この文脈でチャットボットに感情的にプレッシャーをかける戦術については言及していない。
外部ツールの使用
大規模な言語モデルの典型的な弱点は、テキスト検索システムやコード実行プログラムなどの他のツールを使用することで補うことができる。いわゆるツール付き言語モデルは、純粋な言語モデルよりもはるかに強力な可能性がある。この戦略の戦術には以下が含まれる。
- 効率的な知識検索を実装するために埋め込み検索を使用する。
- コード実行を使用して、より正確な計算を実行したり、外部APIを呼び出したりする。
- 特定の関数へのモデルアクセス
さらに、OpenAIは、品質を評価するために直感だけに頼るのではなく、的を絞った評価によって頻繁に使用されるプロンプトを評価することを推奨している。これらの評価は実際の使用状況を反映し、多くのテストケースを含み、自動化や繰り返しが容易であるべきである、とOpenAIは推奨している。
評価結果は、コンピュータ、人間、またはその両方の混合によって評価することができる。OpenAIは、このタスクのためにEvalsというオープンソースのソフトウェアを提供している。
OpenAIプロンプティングガイドには、上記のすべてのシナリオのプロンプト例が含まれている。より基本的なヒントやプロンプトのアイデアは、ChatGPTプロンプト戦略の記事で見つけることが可能だ。
Source
コメントを残す