前回記事では、「ChatGPTはなぜウソをつくのか?」「ChatGPTの得意分野・苦手分野はなにか?」について解説しました。
今回は、ChatGPTの回答の質を上げるにはどうすればよいか?をテーマに、いろんな角度から実際に検証をして結果をまとめたいと思います。
結論:ChatGPTの回答の質を高めるには
「ChatGPTの回答の質を高めるにはどうすれば良いか?」
という課題に対しての回答は、結論として
- ChatGPTの得手・不得手を考慮する
- ユーザー自身が質の高い質問をすることが必要
の2点となります。
ChatGPTの得手・不得手を考慮する
ChatGPTは言葉をベースに学習します。これはつまり、「1 + 1 = 2」という計算式もテキストとして記憶しているということになります。なので、ユーザーから計算を命令されたとき、実際には計算をしておらず、与えられたテキストをもとに答えを生成します。
他にも、データベースに存在しない内容を聞かれると「それっぽい文章」を大嘘混じりに返してくることもあります。ChatGPTの得意分野と苦手分野については、過去記事にて詳しく解説していますので併せてご確認ください。
ユーザー自身が質の高い質問をする
ChatGPTは、ユーザーからの質問内容によって回答のクオリティに大きな差が生じます。例えば、
欠席連絡のメールを書いて。
という質問文と、
欠席連絡のメールを書いて。設定は以下で。
・高熱と頭痛が酷いので会社を休む。
・本当はいきたくて仕方ないのに、行けなくて残念・申し訳ないという気持ちをこめて。
という質問文では、後者のほうがユーザーの意図した回答が返ってくる確率が高いです。このように、プロンプトを打つ際にAIが良質な回答を返せるように命令を作成すること「プロンプトエンジニアリング」と言います。
プロンプトエンジニアリングでChatGPTをより有能に
「プロンプトエンジニアリング」というのは、ChatGPTがベストなパフォーマンスをできるよう人間がお膳立てするようなものです。ChatGPTなどの言語モデルは、質問のしかた次第で回答の質が変化します。
プログラミング言語を使ってプログラミングをする人をプログラマと言いますが、最近では、人工知能に投げるプロンプト自体を研究・分析したり、プロンプトを使いこなす人を「プロンプトエンジニア」と言ったりするようです。
企業でもChatGPTをはじめとする人工知能の活用を重要視しており、海外企業では「プロンプトエンジニア」としての求人も多く見受けられます。
回答の質を高める質問のコツ
ここからは、「プロンプトエンジニアリング」という手法をもとに、具体的にChatGPTにどのように質問すれば良いのかを具体的な事例を交えて解説します。なお、本内容は、ChatGPTの開発元であるOpenAIが公開している「openai-cookbook」の内容を参考に作成しています。
一文をなるべく短くする
ChatGPTに質問する際には、質問文をなるべく細分化することが大切です。以下のように、ひとつの文に命令を詰めこむと、ChatGPTは提示した条件のいくつかだけ回答したり、ユーザーが意図した回答が得られなかったりする場合があります。
ChatGPTに複数の条件・内容を尋ねたいときには、ひとつの文には一つの内容だけを入れるようにします。
こうすることで、先ほどと同じことを質問しても、ユーザーが意図した答えが返ってくる可能性が高まります。
回答モデルを渡す
「回答モデル」というのは、以下のようなデータのセットになります。
上記は「桃太郎についてのレビュー」の例です。ChatGPTに質問を投げる前に、質問の前にパターンを渡しています。パターンを渡すことで、「高評価なら”良い”、低評価なら”悪い”と返すんだな」というのをChatGPTが理解します。
このように、パターンをあらかじめ渡すことで、そのパターンに沿った回答をしてくれるようになります。回答が的外れな内容になったり、長々と文章で答えが返ってきてしまうことを防ぐことができます。
ふるまいを設定する
ChatGPTはふるまいを設定することができます。ここでいう「ふるまい」とは、ChatGPTのキャラ設定のようなものになります。
例えば、単に「夜ごはんを考えて」と質問すると、以下のような回答が返ってきました。
かなり一般的というか、あたりさわりのないメニューが並んでいます。しかし、節約家の人が質問をしてこのような回答が返ってきたら「思ったような回答が来ない。使えない!」と思ってしまうかもしれません。
次に、ChatGPTの振る舞いを設定してから質問を投げた結果です。
ChatGPTのキャラ設定は「節約家の料理研究家」です。単なる節約家でなく料理研究家と書いたのにも意味があります。以下は単に「あなたは節約家です」と書いたときの結果です。
だいぶ質素なメニューになってしまいました。「もやし炒飯」はちょっとやりすぎ感が・・・。文章も先ほどより情報量が少ないです。このように、ChatGPTは役職やポジションを設定することで、より専門性の高い回答や詳しい回答を得やすい傾向にあります。どんな回答が欲しいのかを考えて、できるだけキャラ設定を明確にすると望んでいる回答に近づきます。
例題を渡す
次に、質問する前に例題を渡す方法について解説します。こちらは計算問題やプログラミング等の質問の精度を上げるのに有効です。
ChatGPTに、ふだん通りの質問方法で給与計算をさせてみます。
ChatGPTからの回答は以下になりました。
2点間違いがあります。
- 「3/10~3/11の給与を求めよ」と質問したのに、3/9を含んでいる
- 20時以降は時給が変わるのを反映できていない
そこで、以下のように例題を渡してから質問します。
すると、以下の回答を得ることができました。
このように、計算問題であれば計算の過程を載せてあげたり、プログラミングであればサンプルコードを載せてあげるなど、ChatGPTに解き方を教えてあげてから質問をすると、単純に質問するよりも回答の精度を上げることができます。
ChatGPTの回答クオリティを上げる無料ツール
ここまで、ChatGPTの回答の精度を上げる方法をいくつか紹介してきましたが、「毎回の質問時にこちら側でお膳立てするのは面倒!」ということもあるかと思います。
そのような場合にぜひ使ってみていただきたいのが、Google Chromeの拡張機能である「AIPRM for ChatGPT」です。
「AIPRM for ChatGPT」では、質問のテンプレートがすでに用意されていて、
- SEO対策に強いプロンプト
- Pythonの質問に強いプロンプト
- SNS投稿用の文章を作成してくれるプロンプト
など、ジャンルごとに様々なプロンプトを使い分けることができます。無料で使うことができますので、ChatGPTを頻繁に使用する方にはおすすめです。
まとめ
今回は、ChatGPTの回答の質を上げる方法について解説しました。そもそも、言語モデルであるChatGPTには得手・不得手があること、質問の際に凡例をあわせて渡したり、質問文をなるべくシンプルにすることで回答の質の向上につながることが分かりました。
ChatGPTは、単に「使えない」「ウソつき」なのではなく、使う側の「質問力」も試されているなと感じました。使い方次第で有能なアシスタントともなり得るChatGPT。今後も、ChatGPTをより便利に使えるようなヒントやコツなどを発信していけたらと思います。
コメント