ChatGPT の長いプロンプトに意味があるのか気になったときに試す評価方法
ChatGPT を上手く使う方法として、非常に長いプロンプトが共有されているのを見たことがある方は多いと思います。ただ、実務で使う場合長いプロンプトより短いプロンプトの方が扱いやすく API を利用する際のコストも少なく済みます。「ユーザーが作成した Excel マクロをメンテナンスしてほしい」と言われると 90% のエンジニアは不吉な予感に胃が痛くなると思いますが ( ※個人の感覚です ) 、今後誰かが生み出した長文プロンプトが業務に欠かせないものになっていて数文字変えると挙動が変わるようになっていたりしたらメンテナンスには想像を絶する苦痛が伴います。
プロンプト内の表現が性能へどのように寄与するのか計測することができれば、不要な表現を削り短くすることができます。本記事では、既存の書籍や記事をもとに期待する回答の基準点を定め、基準点よりどれだけ差異ある返答が得られたかで評価する方法を提案します。次節から具体的に見ていきましょう。
トップの画像は Michael Stout さんの写真を使わせて頂いています。
1. 質問と回答の基準点を定める
本記事では ChatGPT にコンサルタント役になってもらい経営問題についてアドバイスをもらうプロンプトを評価する状況を扱います。あらゆる経営問題について評価するのは困難なので、サンプルとして「中小企業がAIを活かせる業務領域を特定するためのステップを教えてください。」を評価用の質問とします。
回答の基準点とは、回答に対する期待値です。既存の文献や書籍からあたりをつけます。今回の中小企業での AI 活用についてはすでに経済産業省が AI 導入ガイドブックを公開しておりこの中で AI 導入進め方に言及しています。
AI 導入ガイドブックはボストンコンサルティンググループによって作成されています。そのため、 ChatGPT にプロンプトを与えて本文書で示されている手順と同等の内容が得られれば回答の精度としては十分と言えるでしょう。期待する回答の具体例があることでプロンプトによってどれだけ期待に近いか/期待を上回っているか評価することができます。評価用の質問と基準となる回答例の設定が本ステップで行うことです。
2. インストラクション案を用意する
回答に影響を与える振る舞いに対するプロンプトを本記事ではインストラクションと呼びます。例えば、次のようなものです。
具体的なインストラクションは次のようになります。一般人が答えるのに比べたらすごい賢そうですね。
ここで気になる点は、会社名の指定やその他の指示が回答精度に影響を与えているのか ? という点です。与えていないなら短い方が効率的です。ここで、比較対象として次のシンプルなプロンプトを用意しました。
この 2 つで、期待する回答にどれだけ近いか検証してみましょう。結果の評価観点は 2 つあります。 1) 期待回答との一致と 2) プロンプト間の回答の差異です。まず、期待回答との一致率が同程度であればシンプルなプロンプトの方が効率的です。一方、例えばキャラクター性をつけたい場合 ( 語尾に絶対にゃんをつけるなど ) 、シンプルなプロンプトとの差異が大きいほど効果が出ていることになります。もちろんキャラクター性を付けたら精度が下がったら本末転倒なので 1) 期待回答との一致が担保されており 2) シンプルなプロンプトに対し差異があることが振る舞いに特色を与える際に目指すべき点になります。
3. プロンプトを評価する
実際、 2 つのプロンプトを評価してみましょう。なお、それぞれのプロンプトは連続ではなく独立したセッションで実行しています。まずはコンサルティングファーム合体ロボプロンプトから。
以下が返答です。
なかなかの回答です。続いてシンプルなプロンプトでも回答を得ます。
以下が返答です。
2 つの回答は、1) 期待回答との一致の観点だといずれも 4/9 (44%) で変わりません。ガイドで示されている優先度の決め方についていずれも言及がないのは寂しいところです。 2) プロンプト間の回答の差異の観点ではコンサルティングファーム合体の方が 3 つ観点を多く上げているものの 7/10 (70%) は一致しており差異は小さいと言えます。
中小企業への AI 導入という評価軸では、プロンプトの精度と特色に差異がないためシンプルなプロンプトの方が効率的と言えます。
4. おわりに
今回ご紹介した手法は、 ChatGPT に限らず他の生成系 AI へも応用できます。プロンプトの評価基準に悩んでいる方にぜひ参考にしていただければ幸いです。