ChatGPTにしてもBingAIにしても、何か分からないことがあれば何でも質問に答えてくれますが、質問の仕方によっては「何かいまいち」な回答の場合もあるし、質問の仕方を変えると全然違う回答が返ってきたりします。
こうした中、的確な回答だったり精度が高い回答を得るにはプロンプトに「より具体的な情報」や「前提となる条件」を含めたり「ちょっとした表現」を入れていくことがポイント。
ここではChatGPTへ質問する際のプロンプトの書き方のコツや、回答精度を上げるためのプロンプトの工夫についての解説です。
あわせて読みたい)
【ChatGPT】プロンプトの書き方の基本!初心者がまず覚えることと注意点
Contents
1)質問に関する具体的な背景情報を入れる
ChatGPTに質問して、質問の意図に適した回答を得るためには、ChatGPTに質問の意図や背景を理解してもらうことが大切で、これは友達や先生などに質問したり相談する場合に同じです。
たとえば、以下のような質問のプロンプト。
「明日休日だけど何をしたらいい?」
こうしたプロンプトは、質問が大雑把なだけに、回答も大雑把で一般的な回答になりそう。
より的確な回答を得るためには、
質問のプロンプトに対して、以下の観点で情報が不足してないか、追加した方が良い情報はないかをチェックしてみるのが良いです。
どうも期待した答えとは違う、と思ったら、以上のような観点を含めた質問にしてみると良いです。
ちなみに最初の「1)どうしてその質問をするのか」では、質問する理由や質問するに至った背景などを含める、ということになりますね。
そのプロンプト例は以下ですが、
- 明日は休日だけど、休日に何をするか考えるのが苦手で、いつもつまらないことしかできない。
何かアイディアはない?
このプロンプトでは「休日に何をするか考えるのが苦手」と、質問する理由や質問に至る背景を付け加えてます。
実際この「休日に何をするか考えるのが苦手」があることでChatGPTの回答がどのように変化するかChatGPT自身に聞いたところ、以下のような差異が生じるようですね。
- ない場合:
一般的な回答になる - ある場合:
「休日に何をするか考えるのが苦手」ということから、1日のスケジュールを考えたアイディアや、その苦手を苦手意識を克服するための休日のアイディア、休日を楽しむための心理的アプローチに関するものが含まれる可能性がある
実際ChatGPTがしっかり考慮入れてくれるかどうかは質問して回答を見てみないことには分かりませんが、質問をしている背景や質問をする理由なども入れていくと、より的確な回答が得られやすい、ということになりますね。
2)前提条件の設定をする
前提条件というのは、質問に関連する具体的な情報。
たとえば「恋の悩みをChatGPTに相談したい」としたとき、単に「彼女とうまく行ってない。どうしたらうまく行くようになれる?」というプロンプトでは、一般的な回答しか返ってこないことが予想できそうです。
1つ目の「具体的な背景情報を入れる」に重なる部分がありますが、ChatGPTが回答に必要だと思われる情報(前提条件)をプロンプトに含めていくと、より具体的だったり適した回答が得られやすくなりますね。
彼女とうまく行ってない。どうしたらうまく行くようになれる?
■前提条件
・おいらは25歳。相手は同い年
・LINEしても返事がなかなか来ないし、既読スルーされる場合も多い
・デートに誘っても乗り気でない感じがする
・共通の趣味があるけど、最近お互い興味をなくしてる
この例では分かりやすく「■前提条件」として質問とは分けて書いてます。
ちなみにこの前提条件のありなしで、ChatGPTの回答がどのように変わるかというと...
< 前提条件がない場合 >
前提条件がない場合、一般的な内容の回答に見えそうです。
(3つ目の「妥協する」っていうのがちょっとドキッとしますが笑)
< 前提条件がある場合 >
前提条件がないプロンプトと比べると、前提条件を考慮して「彼女が忙しいかもしれない」というような観点での回答になってるように見えます。
もっと詳しい前提条件を書くと、ChatGPTからの回答もより精度UPというか的確になってくる可能性がありそうですね。
3)メリットデメリットの比較表作成
ChatGPTに何か質問したりアイディアをもらう場合、ポイントとなるテクニックは「他にはないの?」と聞くこと。
あるプロンプトに対して一度回答してもらうと、
「それ以外のアイディアはない」
「その回答が全て」
みたいについ思ってしまうかもしれませんが、
「他にもない?」とか、若干プロンプトの内容を変更して、「お金のかからないアイディアない?」など更に聞くと、次々にアイディアを出してもらえます。
こうしたChatGPTと会話しながらアイディアをもらってる場合、会話も思いのほか長くなり結局どんなアイディアをもらったのか、何が良いのかが分からなくなりがち。
そうした時には、ChatGPTにそれまでのアイディアをまとめてもらって比較してみるってことができます。
たとえば上の方で見た最初のプロンプト例、
「明日休日だけど何をしたらいい?」
これを質問し、ChatGPTと会話しながら色々アイディアを出してもらったとします。
「他にはない?」って聞くと「もちろんです!」と別の案を出してくれますね。
こうして色々案を出してもらった時、
情報が多すぎて結局何が良いのか分からない、とか、
これまでの回答をいったん整理したい場合には、以下のプロンプトがおすすめ。
これまでのアイディアを、メリット、デメリット、デメリットの対処法、の表にまとめて。
実際このプロンプトを送ると、
ChatGPTがそれまでの内容を整理して表にまとめてくれますね。
回答の精度UPとは少し異なりますが、
これまでの回答を整理してまとめたい、とか、ChatGPTからの回答の中で「より自分に合ったもの」を比較検討したい場合、こうした表を作ってもらうとより的確に回答を選びやすくなりますね。
ちなみに、この表の中から1つ選んだりして、同様に表形式で改めてアイディアを提案してもらう、ということもできます。
アイディア「自然に触れる」について、より細かくアイディアが欲しい。
同様に、メリット、デメリット、デメリットの対処法、の表にまとめて。
ここでは「自然に触れる」というChatGPTのアイディアが気に入ったので、それをより具体的なアイディアにして表でまとめてね、ということをしています。
メリット、デメリット、デメリットの対処法を表にしてまとめて見比べたりしていくと、得たい情報に近づけていけますね。
4)適切な回答を得るための追加質問
ChatGPTに質問する場合、追加質問をすることで回答の精度UPができます。
- 1)最初はザックリした質問をする(でもできるだけ具体的にが基本)
- 2)ChatGPTからの回答を見て、より詳細情報を得るために更に追加の質問をする
この1,2を繰り返すことで、回答内容が明確化したり詳細化したりして、回答の精度UPにつながります。
例えば「旅行に関する質問」をする場合、
最初に「旅行に行く場所はどこがおすすめ?」というようなザックリとした質問のプロンプトをChatGPTに投げてみる。
ChatGPTからの回答で「おすすめの場所」がいくつかあったら、さらに「その中でカップルで行くならどこがいい?」とか「その場所のおすすめポイントって何?」など、より具体的な質問を追加することで、回答精度も上がります。
BingAIを使ってみると、以下のような感じになりますね。
その後、BingAIからの回答を見つつ、以下のような追加質問をしてみました。
こうした質問と回答の流れで、最終的に以下のタイムテーブルまでたどり着きました。
やり取りが長いからか、BingAIの回答も抜けがあったり、上のタイムテーブルの一番右の項目「カップルが楽しめること」の途中から「~を楽しむ」が消えて、「中華街」では「中華料理を食べる」とか「山下公園」では「散歩する」とか、結構適当な感じというか、AIが疲れてる感が出てますね(笑)
ちなみに追加質問したプロンプトについては、BingAIの反応の仕方を考慮しつつ1つのプロンプトとして整理しておくと、次に同じような質問をする時にも使えて便利。
カップルで横浜ランドマークタワーへ観光で行きたい。
以下の条件でおすすめのタイムテーブルを表で作って。
■条件
・到着の時間:横浜ランドマークタワー周辺に午前中の10時到着
・帰りの時間:帰りは横浜ランドマークタワーを夜9時に出る。
・主な予定:
到着から夕食まで:横浜ランドマークタワーの周辺観光。
夕食後:夜は横浜ランドマークタワーからの夜景を楽しむ
<タイムテーブルの表について>
・「時間」「訪れる場所」「カップルで何が楽しめるのか」の3項目。
・訪れる場所は「横浜ランドマークタワー周辺」といったものにしない。具体的に訪れる場所を1つ1つ分ける
・昼食と夕食も1項目として入れる。
・昼食と夕食は同じ場所にはしない。
<その他>
・「あなたの好み次第」という回答はせず、必ずおすすめをピックアップしてタイムテーブルを作ること
このプロンプトは「横浜ランドマークタワー」と場所を特定してからのプロンプトを整理してまとめたもの。
こうしたプロンプトを作っておけば、次回別の場所に行くときに行先や時間を変更するだけで同様のことができて質問の手間も省けますね。
ちなみにこのプロンプトでBingAIに質問すると、
今回は一発でタイムテーブルを作ってくれました。
中華街の昼食前にラーメン博物館でラーメンを食べる、というのが気になりますね(笑)
この場合、同じプロンプトで質問するとまた異なる提案をしてくれるので質問し直すか、「昼食の前は食べること以外にする」とかプロンプトに条件を追加して改めて聞いてみる、という感じになりそうです。
ちなみに同じプロンプトをChatGPTに投げると以下のような感じになりますね。
このタイムテーブルを見ると、昼食はレストランではなくお弁当など持参になってます。こうした提案も「カップル向け」というプロンプトの内容が考慮されているかもしれません。
ChatGPTは2021年までのデータで学習してますが、横浜ランドマークタワーといった以前からある観光スポットなら普通にChatGPTに聞いても良さそうです。
あせて読みたい)
【ChatGPT】表形式(テーブル)のプロンプト!基本の書き方から驚きの活用事例まで
5)精度の高い回答を得るための表現
ChatGPTからの回答は、質問のプロンプトに「ちょっとした表現を含める」ことでガラっと変わります。
たとえば「~を教えて」と単に聞くだけでなく、
「~を分かりやすく教えて」みたいな感じです。(「分かりやすく」を加えた例)
こうした精度の高い回答を得るための「ちょっとした表現」を分類分けして表でまとめてみました。
回答精度を上げる要素 | 精度の高い回答を得るための「ちょっとした表現」の例 |
分かりやすさ | わかりやすく/具体例を交えて/比喩や例えを交えて/分かりづらそうなところは注釈を交えて/ポイントが分かるように/平易な表現で |
詳細さ | 簡単に/簡潔に/詳細に/専門的に/深堀りした形で |
対象の属性 |
・性別:男性向けに/女性向けに ・職業:サラリーマン向けに/主婦向けに ・年代:20代向けに/中高年向けに/高齢者向けに |
知識量 | 初心者向けに/専門家向けに/小学生向けに/その分野に詳しくない人向けに/ITやPCに詳しくない人向けに |
語調 | 優しい言葉遣いで/だ・である調で/真面目に/楽しく/面白おかしく/冗談を交えて/新聞記者が話すように/アナウンサー風に/女性が話すように/太宰治が話すように/時代劇のように/ドラゴンボールの悟空風に |
比較 | メリット・デメリットを含めて/他のものと比較しながら |
応用 | 実際にどのように活用出来るかを含めて/コツを含めて/具体的な活用例を含めて |
実際これらの表現に対してChatGPTがどこまで対応してくれるかは質問してみないとわかりませんが、質問するとき単に「~を教えて」とするだけでなく、
「~を分かりやすく教えて」とか「~を具体的に教えて」など、ちょっとした表現を含めていく。
上の表にある表現を1つだけ入れるのではなく「~を具体例を交えて初心者向けに教えて」など、必要に応じて複数の表現をプロンプトに入れていっても良いですね。
要素の中で特に「分かりやすさ」「詳細さ」の表現は必ずプロンプトに含めていくと良いと思います。
また「自分が理解すればよい」という質問ではなく「誰かへ説明するために情報が欲しい」という場合には、その「誰か」はどういった人か、特に「その誰かの知識量」に関する表現(初心者向けに/小学生向けに、など)をプロンプトに含めていくのが良いですね。
実際試してみると
たとえば単に「ChatGPTの仕組みを教えて」というプロンプトでChatGPTに質問すると以下のような答えが返ってきます。
「アーキテクチャ」とか「コーパス」とか専門用語が使われていて、AIやIT系の知識を持ってる人なら理解できる説明にはなっていると思います。でもそうした知識のない人には何か「分かったような分からないような」説明になっているかもしれません。
もっと理解しやすく分かりやすいものしたい、ということで、
プロンプトに「分かりやすく」とか「小学生向けに」を含めて改めて聞いてみると、以下のような回答に変わります。
最初の回答にあった「アーキテクチャ」とか「コーパス」などの専門用語は含まれず、ChatGPTはコンピュータープログラムなんだ、という分かりやすい説明に変わりましたね。
回答精度とは少し離れますが、プロンプトに「冗談を交えて」とか「時代劇のように」といった表現を含めるとどんな回答が来るか見てみると...
時代劇風な説明にしてくれました。(ChatGPTくん、頑張った 笑)
まとめ
- 質問に関する具体的な背景や条件などを入れることが重要
- ChatGPTが回答するのに必要だと思われる前提条件を含めることで回答の精度を上げられる
- 「他にはないの?」と更にアイディアを引き出すことがコツ
- 回答されたアイディアに対して、メリットデメリットの比較表をつくってもらうのが有効
- より適切な回答を得るために、追加質問をする
- 精度の高い回答を得るために、プロンプトに「分かりやすく」「小学生向けに」など表現を含める
ChatGPTから情報を引き出す場合、念頭においておきたいのが「ChatGPTが生成する答えは一つだけでなく、何度か聞くと別の案が出てくる」ということ。
それと同様に「追加で質問をどんどんしてみる」ということが、回答精度を上げることにつながります。
また前提条件や背景情報を質問に含めると、それらを考慮した回答をChatGPTから得られることになり、これも精度の高い回答を得るには重要なポイントになりますね。
ただChatGPTにしてもBingAIにしても、知らないのに/分かってないのにAIが想像で答える、ということも良くあることから、得られた回答が本当に正しいのか、必要に応じて回答の検証はするようにしましょう。