ChatGPTを使ってみたけど、回答が的外れ・・・。
そんな経験、ありませんか?
今回は、ChatGPTにヒントを与えることで、回答を期待通りに誘導するテクニックを紹介します。
ChatGPTは学習できる
ChatGPTの仕組みでも紹介した通り、もともとAIは「学習する」という特性を持っています。
ですから、期待したような回答が出てこない時は、どんな回答をしてほしいのか、ChatGPTに学習してもらえばよいわけです。
この方法は、ChatGPTにいくつかヒントを与えることから、英語では”Few Shot Prompting”と呼ばれています。
今のところ定着した和訳がないのですが、「ミニ学習」「即席学習」といったところでしょうか。
ミニ学習の例①:ChatGPTに時短レシピを提案してもらう
それでは実際に、「ミニ学習」がどんな場面で役に立つのか見ていきましょう。
「ミニ学習」プロンプトの作り方のコツ
たとえば時短レシピを作りたいとします。
しかしレシピといっても色々あるので、自分が知っている時短レシピを例としてChatGPTに学習してもらいます。
こんなプロンプトを作成します。
冷蔵庫の材料: 鶏肉、ほうれん草、卵
時短レシピ: 鶏肉とほうれん草の炒め物+目玉焼き
冷蔵庫の材料: トマト、チーズ、パスタ
時短レシピ: トマトとチーズの簡単パスタ
冷蔵庫の材料: 白菜、かにかま、豆腐
時短レシピ:
こういう材料があったら、自分はこんなものを作る、という例をいくつか挙げています。
ここでのコツは、プロンプトの中にわかりやすいパターンを作ることです。
ここでは「冷蔵庫の材料」と「時短レシピ」の組み合わせ、というパターンで、ChatGPTにどういう回答をしてほしいか学習させます。
ChatGPTが例に従って回答する
プロンプトの一番最後には、「冷蔵庫の材料」のみを提示し、「時短レシピ」がいわば穴埋め問題になっています。
すると、このように「白菜とかにかまの中華風炒め+豆腐のスープ」という回答がでてきました。
ミニ学習の例②:ChatGPTに優先順位をつけてもらう
「ミニ学習」をさせた場合
もう一つ例を見てみましょう。
家の掃除をするのにどこから手を付ければよいのか迷う、というとき。
自分の中で、普段の優先順位がどうなっているか、ChatGPTに学習してもらいます。
こんなプロンプトを作ります。
家の状態:ダイニングに食べこぼしがある。キッチンに洗い物がたまっている。リビングが散らかっている。
優先順位:1.食べこぼしを片付ける(誰かが踏んでさらに汚れが広がるリスク)。2.リビングが散らかっている(来客の目につく)。3.洗い物を片付ける(におい対策)。
家の状態:ベッドメイキングが済んでいない。トイレが汚れている。生ごみがたまっている。
優先順位:1.生ごみを処分する(におい対策)。2.トイレを掃除する(来客対策)。3.ベッドメイキングをする(余力があれば)。
家の状態:ソファにシミがある。リビングにおもちゃが散らかっている。洗い終わった食器が食洗機の中に入ったまま。
優先順位:
ここでも、プロンプトの中に「家の状態」「優先順位」というパターンを作っています。
この2つの例によって、いつも何を優先しているのか、をChatGPTが学習します。
「ミニ学習」しなかった場合
それでは、比較のために「ミニ学習」をしなかった場合の回答を見てみましょう。
こんなプロンプトを作ります。
ソファにシミがあります。リビングにおもちゃが散らかっています。洗い終わった食器が食洗機の中に入ったままです。どこから片付けたらいいでしょうか?
家の状態は、先ほどの例の最後のものと一緒です。
ここでは、自分がどういう優先順位の付け方をしているか、ChatGPTに学習させずに回答してもらいます。
すると、こんな回答がでてきました。
いかがでしょうか?
「ミニ学習」をしたときとは真逆の回答になりました。
最初の例では、ChatGPTがプロンプトの内容によって、優先順位の付け方を学習したことがわかりますね。
まとめ
ChatGPTの回答がなんだか的外れ・・・。
という時は、どういう回答をしてほしいのか、いくつか例を挙げることでより期待通りの回答になることがあります。
この「ミニ学習(Few Shot Prompting)」のプロンプトは、Web検索機能を使う時にも役に立つので、ぜひ覚えておいてください。