ChatGPTが「ウソ」をつかないプロンプトの書き方
ChatGPTは「平気でウソをつく」の間違い
ChatGPTはわたしたちの質問に平気で嘘を回答するという話をよく聞きます
確かに、素晴らしい文章の中には時折間違った内容が混じることがあります。
感情を持つ人間的には「ウソ」と思ってしまいますが、
ChatGPTがどうやって学び、どうやって文章を生成しているのかを考えると
その間違いをプロンプトでうまく制御することが可能です。
まず、ChatGPTがどのようにして学んでいるのでしょうか?
その学び方をディープラーニング(深層学習)といいます。
どんなことをやっているのかと言うとカンタンにまとめるとこんな感じです。
人間が自然に行うタスクをコンピュータに学習させる機械学習の手法のひとつです。
人工知能(AI)の急速な発展を支える技術であり、その進歩により様々な分野への実用化が進んでいます。
大量のデータをもとに自動で特徴量を抽出し、学習していくAI技術です。
基本的には3層以上からなる、多層のニューラルネットワークによって構成されています。
2021年9月以前のネット上にある全ての情報を学び、
その文字数は5兆語に及ぶと言われています。
膨大な文章を読み込んで学んでいます。
そして、学んだ文章からChatGPTは質問された内容から
文章の後に続くべき文章を確率的に高い物を並べていくという方法で
文章にしています。
つまり、
「生きてるだけで」と言えば「まるもうけ」とか
「むかしむかし」と言えば「あるところに」のように
続きに来る確率の高い文章を続けて文章にします。
そんな単純な方法であの完成度の高い文章を出せるのがなぜかと言うと
やはり5兆語の情報量によるものです。
ですから、わたしたちが指示するプロンプトを工夫することで
「ウソ」を回答しにくくなると言えます。
ここでChatGPTに「ウソ」を認識しているかを聞いてみましょう。
ChatGPTは間違えた情報を書く時に「ウソ」と言う認識を持っていますか?
どうやら回答の正確性は判断できないということです。
情報の正確か不正確化を理解できないのですからウソというものも理解できないですね。
回答が不正確でいい加減になるのはプロンプトが原因とも言えます。
丸投げで回答を求めるのではなく正確性の必要な情報は最初からプロンプトとしてChatGPTに渡すべきなんです。
では、ついでにChatGPTにプロンプトを書く時に気を付けるべきことを聞いてみます。
回答のミスを防ぐための的確なプロンプトを書く方法を箇条書きで示して
このChatGPTの回答にある「回答者」とはChatGPTです。
関連する情報を含めるという部分で正確性の必要な情報は入力する必要があるということと、質問の背景を含めるというところでは、回答を利用する場面やChatGPTに専門家として回答してもらいたいなど回答の形や情報の深度を決めることができます。
プロンプトの基本的な型とは
ChatGPTがウソをつかないプロンプトの書き方を考える前に
まず、基本的なプロンプトの型を知っておきましょう。
このnoteでは何度も言っているものですがおさらいです。
プロンプトを書く時にテンプレート化して型にすることでカンタンに書くことができます。
プロンプトの基本テンプレート
指示・質問(ChatGPTへの指示や質問)
ルール(情報収集や文章生成のルール)
資料・サンプル(文章生成のサンプル)
ChatGPTに指示や質問を入力する時に「ルール」と「資料・サンプル」を
一緒に渡す形になっています。
分解して説明します。
1:指示・質問
これはChatGPTにやってもらいたいことや聞きたいこと入力します。
何の文章を生成して欲しいのか、どんな疑問を聞きたいのかを
書きますが、気を付けたいのは思い切り具体的に伝えることです。
あやふやで抽象的な指示ではあいまいで質の低い回答が返ってきます。
よく、「ChatGPTの回答は使えない」という方がいますが
だいたいがプロンプトが具体的でない書き方をしているのが原因です。
ChatGPTは膨大な知識を持っています。
その膨大な知識から欲しい情報を抽出するためには
質問や指示も具体的で欲しい情報が特定できるプロンプトが必要なんです。
2:ルール
ここでは、情報抽出や文章生成についてのルール(条件)を書きます。
これが一番重要なパートになります。
ここで書くべき要素は以下のようになります。
ChatGPTへロールを与え得る(AIに役割を与える)
※あなたは優秀なプログラマーです。などあなたの立場、理解度を提示(あなたの理解度・欲しい情報の詳細)
※私は初心者です、簡単な言葉で説明してください。など出力の条件提示(回答規定・表現方法・文字数など)
※プロの視点で読まれるブログ構成を考えて。
※32文字以内で読まれる見出しを考えて。
※本文全体の要約を箇条書きで書いて。などChatGPTの動作指示(わからない部分は質問して、など)
※不足の情報はわたしに質問して。など
これらは、全部必要ではなく最低「ロール」と「条件提示」で文章の精度は格段にあがります。
どんな情報が欲しいのか、その情報はどのレベルの情報なのか
また、抽出した情報をどういった表現で文章にするのか
「網羅的に抽出した見出しから要点を1文50文字程度の箇条書きで書く」
のような具体的な指示を書きます。
プロンプトを書く時に常に意識しておくのは「具体的」です。
言わないことは伝わらないといいますが、ChatGPTも言わないことは伝わりません。
3:資料・サンプル
ChatGPTはサンプルの文章を見せるとその文章形式などを学んで同じような形で文章生成します。
この方法を「Few Shot Prompting」フュー ショット プロんプティングと言います。
テキストで指示しなくてもサンプルから学習する方法で、言語化が難しい時でもサンプルを見せることで学習してくれます。
また、セールスコピーを書いてもらってLP(ランディングページ)を書く時に紹介する商品の詳細を説明した文章を提示します。
この文章から商品のメリットや、ベネフィットを抽出してセールスコピーを書いてくれます。
この資料・サンプルをプロンプトに入れる時に注意する点は文字数です。
2048文字までしか入力できません。
その文字数を超えるとそれ以降の文章は無視されます。
プロンプト全体で2000文字を目安にプロンプトを書きましょう。
プロンプトの例
プロンプトの書き方の例を書いておきます。
ただ、この書き方が絶対というわけではなくあなた自身で作り出していくことも大事です。
※SEO記事を書くブログの見出し構成を生成するプロンプト
Web ChatGPTのChrome拡張ツールでネット情報を収集させている場合
書き方だけ参考にして下さい。
※商品詳細文からLPを書くためのプロンプト
ChatGPTがウソを書かないプロンプト
それでは本題です。
ちょっと長くなりましたが、ChatGPTがウソを書かないプロンプトを説明します。
冒頭で説明した通り、ChatGPTは決してウソをついているわけではありません。
確立から割り出した文章がたまたまウソになっているだけです。
それを回避するためには真実の文章に焦点を絞るためにプロンプトで条件を絞り込む必要があります。
難しく書きましたが、ウソを排除するための条件を書くということです。
書くべきことは非常に簡単なことです。
情報に確信があることだけ書いて
分からない時は必要な情報をわたしに質問して
情報に自身が無いことは回答しないで
ChatGPTが確信を持たない情報を書かないことを明示します。
プロンプトの「ルール」に書き加えます。
ChatGPTへの動作指示になります。
ここで注意する点は「ウソ」=ChatGPTが確信をもっていないこと
だということです。
情報の確信がない物を書かないという条件でウソを書く確率は下がります。
また、回答しないという選択肢を与えることで無理して文章を生成しなくなります。
分からない時のChatGPTの動作を与えることで無理やり文章を書く必要が無くなります。
また、「わからない時はわたしに質問して」
という動作を指示するのもウソを書かなくなります。
ウソを書く選択肢を削除する指示を考えてプロンプトに書いてみましょう。
「ChatGPTの回答は使えない」
で終わってしまっては勿体ない程の驚愕の情報量を持つAIです。
あなたの指示の結果がその回答だということを思い出しましょう。
回答は質問の質を表しているとも言えます。
回答がダメな時はプロンプトを考え直してブラッシュアップしましょう。
あと、同じプロンプトを何度か入力した時のあるあるですが、
ChatGPTはおなじ回答は返しません。
やるたびに違う答えが返ってきます。
ダメな時は何度か同じプロンプトで指示するのもいいです。
時々いい回答が返ってきます。
今日の記事がお役に立ったという方は是非フォローしていただければ幸いです。
【PR】
【マガジン】レベル60から稼ぐためのヒント
【マガジン】情報書籍
【㏚】読書嫌いなあなたのための新読書法
サポート頂ければモチベーションになります。