見出し画像

【実例付】Chat-GPTの使い倒し方 03[ プロンプト入力26の原則]を読み解く②

 先月、アブダビのモハメド・ビン・ザイード人工知能大学 (MBZUAI) の研究者グループが、大規模言語モデル(LLM)とのインタラクションを最適化するための「26の原則」を発表して話題になりました。

 それを受け、前回の記事で、全26個のプロンプト入力のコツの①~③について、補足説明させて頂きました(一覧は、こちらの ↓ 記事内、また本記事末にも掲載しています)。

 今回は、その続きの④~⑦まで、になります。


 では、始めましょう!

④肯定的指示の使用:否定的な言葉ではなく肯定的な言葉を使用→〇わかりやすく明確に。二重否定はNG(+実例)

 例えば、日本人同士で日常的に使いがちな、「それ、わからなくない?」といった口語表現(婉曲に、わからないよ、と伝えている)は、よく考えると、わかっているのかわからないのか、まさにわかりづらいですよね。

 日本語ネイティブ同士にとってはちょっとキツく聞こえるかもしれませんが、日本語を勉強中の人にやさしく話そうとするときは、ストレートに、「それ、わからないよ」「わかりません」と伝えたほうが無難でしょう。

 Chat-GPTに対しても同じです。これが④の「否定的な言葉ではなく肯定的な言葉を使用」です。

 前の例と同じく、否定の否定、つまり二重否定を使うと、Chat-GPTは誤解しかねません

 1つ実験しましょう。

Chat-GPTに次の2つを返答したらどうなるか?

・理解できていないと受け取られた例: 

僕「因果応報ってどういう意味?」
GPT「XXX...」
僕「君の言ってることは、わからなくもない」 と答えた場合は、
GPT「了解しました。もう少し簡単に説明しますね」と答えて、別の回答をしました。

 「わからなくもない」→僕が理解できていない、と思ったようです。


・理解できていると受け取られた例:

僕「因果応報ってどういう意味?」
GPT「XXX...」
僕「君の言うことは、わからないではない」と答えると、
GPT「ありがとうございます。ご理解頂けて良かったです」

 「わからないではない」→僕が理解したと思ったようです。

 否定語、あるいは二重否定は、僕たちは日本語でよく使いますよ。そう、さきほど書いたとおり、はっきりものを言いたくない時に便利だからです。

 でもAI、コンピュータには、迷惑極まりない表現で理解が難しいのです。「わかった。でもね、」と言いたいときは、文章を一度終わらせます。

 「君の言うことは、わからなくもないけどさぁ」...✕
 「君の言うことは、わかるよ。しかしね」
・・・〇

 肯定語を使わないと、Chat-GPTとはお友達になれません(笑)。相手を日本語ネイティブとは思わずに、なるべくわかりやすく、シンプルに、肯定語で、を心がけましょう。


⑤明確化のための指示:「簡単な言葉で」「中学生にも分かるように」等→◎ベスト3に入るくらい重要。「こんな感じで」を伝えよう(+実例)

 これ、大切なコツです。26個のコツのベスト3に入るぐらい重要です。僕も多用しています。

 前にも書きしましたが、Chat-GPTを使う=会話をすることですよね。そして、Chat-GPTは、どのように回答しようか、と常に悩んでいるのです。

 回答する時、Chat-GPTは僕たちが入力した言葉の回答に一番適したと思われる言葉を計算して出しているのですが、この「適した」を計算し、判断するのに、言葉の「周辺情報」を大変参考にしているのです。

 この迷いを助けるのに、有用な情報の1つは、僕はどんな回答を期待してるかの情報です。

 その時に有効になるのが、「こんな感じで答えてよ」という情報です。


「こんな感じで答えてよ」というリクエスト

 具体的には、次のような情報を入力の中に入れ込むと、期待に近い答えを返してきます。

 ・自分の知識レベルの情報を教える(*一番重要!)

  「小学生に教えるように回答して」
  「XXは理解してるが、YYは理解していない、という前提で答えて」
  「プログラム経験者なので、その前提で答えて」

 ・回答方法を明示する

  「箇条書きで回答して」
  「300文字以内で回答して」
  「日本語で回答して」

 ・テイストを指定する

  「友達っぽく答えて」
  「先生のように教えてよ」
  「礼儀正しく答えて」

あと、「日本語で」

 時々Chat-GPTは、(ややこしい内容の際には、特に)英語で回答しだす時があります。でも慌てなくて大丈夫です。

 その場合、「日本語で」「日本語で答えてください」と入力すれば、日本語に戻ります。

⑥報酬の提示:「良い解答には報酬を出す」と示す→△Chat-GPTの理解のために補足。回答に点数を付けてみる(+実例)


 これは、あまり使わなくていいテクニックですが、使い方というより、Chat-GPTのことを理解するために、少し補足します。

 Chat-GPTは機械学習という訓練を受けて、知識を大量に学んでいるのですが、その学習の際に、正解(いい答え)を出したら10点、あまりよくない回答の場合は5点、間違ったら0点、というように、点数をつけて訓練されています。

 つまり、Chat-GPTは、点数を上げるように指示されているので、点数が高いのが、いい回答であるという認識を持っているのですね。要は点数を付けられるのに慣れているのです。

 ですので、Chat-GPTがあれこれ回答してきたとき、「君のXXという答えは10点、YYは5点、ZZは0点の回答だよ。それをふまえて、以降回答してね!」と入力すると、その場で、「いい回答とは何か?の学習を一時的にするのです。


AIに点数で回答を評価→理解が早まる

 この回答結果に点数をつける、という方法は、AI開発ではよく使われているものです。AIに点数で回答を評価してあげると、何が良くて、何が良くないか、の理解が早いのです。

 もし、Chat-GPTと対話していて、「なかなか、いい回答が出てこない」と思ったら、いい回答を出したときに、「今の答えは100点。さっきの答えは0点だよ」と評価してあげると、回答の質がアップするのです。「Chat-GPTの答えがズレてしようがない」ときだけでいいので、使ってみてください。


⑦事例を提示:既存の事例を使用→〇重要。自分で回答例を示してみる(+実例)

 これも、重要です。

 このように回答してほしい、というのがあるなら、⑤で説明したように、「XXだという前提で回答して」、「XXのように回答して」と言えばいいのですが、もっと具体的にしたいなら、解答例を出すのが一番有効です。

 例えば、

「副業のおススメを5つあげて下さい。ただし、以下の形式で回答して下さい。」

①副業名(①から番号を付けてください)
②始めやすさ:1から5の5段階(5が一番簡単に始められる)とその理由
③収益性:1から5の5段階(5が一番簡単儲けが大きい)とその理由
④リスク:1から5の5段階(5が一番リスクが大きい)とその理由

①Amazonアフェリエイト
 始めやすさ:5
 理由:アフェリエイトプログラムに登録すれば、すぐに始められるから。
 収益性:2
 理由:リンクを張る自分のメディアの集客力に依存するから。
 リスク:1
 理由:初期投資なしで誰でも始められ、認可、条件もないから。

②、③・・・(同様に)

 こんな感じでまとめてもらったほうが理解しやすい、こうまとめてほしい、という場合は、上のように出力例や、フォーマットも定義しておくと便利です。

 表形式でも出してくれますので、便利ですね。

 次回に続きます。

 最後に、「26個の原則」は以下のようなものです(日本語訳しています)。

①礼儀を省く:「お願いします」などの礼儀用語は不要
②対象者を明示:「専門家向け」など返答を受ける対象者を明示
③複雑なタスク分割:複雑なタスクを簡単なプロンプトに分ける
④肯定的指示の使用:否定的な言葉ではなく肯定的な言葉を使用
⑤明確化のための指示:「簡単な言葉で」「中学生にも分かるように」等
⑥報酬の提示:「良い解答には報酬を出す」と示す
⑦事例を提示:既存の事例を使用
⑧プロンプトのフォーマット:###Instruction###」で始め、適宜「###Example###」や「###Question###」を含める。
⑨明確なタスク指示:「あなたのタスクは」と指示。
⑩ペナルティの提示:「ペナルティあり」と伝える。
⑪自然言語による回答指示:「自然言語で回答して」と指示。
⑫先導的な言葉の使用:「ステップバイステップで考えて」と指示。
⑬偏見の排除:「偏見を持たず、ステレオタイプに依存しない」と指示。
⑭ユーザーとの対話促進:問題解決までモデルに質問させる。
⑮テストを含む指導:テストを出してもらい、自分の理解度を試す。
⑯モデルへの役割割り当て:モデルに特定の役割を割り当てる。
⑰デリミターの使用:特定の区切り文字を使用。
⑱繰り返しの使用:特定の単語やフレーズを複数回使用。
⑲思考の連鎖:中間ステップを生成し、事例を組み合わせる。
⑳出力プライマーの使用:期待される出力の始まりでプロンプトを終える。
㉑詳細なテキストの作成指示:「詳細に書いて」と指示。
㉒スタイル変更の防止:「スタイルを変更しない」と指示。
㉓複数ファイル対応のコーディングプロンプト:複数のファイルにまたがるコーディング作業の効率化のために、自動的に新しいファイルを作成し、生成されたコードを適切なファイルに挿入するスクリプトの作成を提案。
㉔特定の言葉で続ける:「与えられた言葉で完成させて」と指示。
㉕モデルの要件の明示:コンテンツを制作するためにモデルが守らなければならない要件を、キーワード、規定、ヒント、指示などの形で明示。
㉖サンプルに基づくテキスト作成:サンプルと同じ言語で書くよう指示。


この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?