【実例付】Chat-GPTの使い倒し方 04[ プロンプト入力26の原則]を読み解く③
アブダビのモハメド・ビン・ザイード人工知能大学 (MBZUAI) の研究者グループが発表した、大規模言語モデル(LLM)とのインタラクションを最適化するための「26の原則」。その①~⑦まで補足説明をしてきました。
今回は⑧の説明です。
⑧プロンプトのフォーマット:###Instruction###」で始め、適宜「###Example###」や「###Question###」を含める→◎「プログラミング」のように書くのが一番いい
これは、簡単にいえば、Chat-GPTのプロンプトを入力する際に、希望や質問したいこと等を的確に伝える方法です。
「的確」に伝えるにはどうしたらいいでしょうか?
それは「論理的」に伝えるに限ります。
なぜなら、Chat-GPTはAIコンピュータなのでロジカルそのものです。抽象的な表現より論理的な表現の方が、はるかに理解がいい。
では、論理的に伝えるにはどうすればいいか。コンピュータ言語で作られた「プログラミング」のように書くのが一番いいのです。
これは、以前僕が作った、どんなことにもある程度応用性があって使えるテンプレートにも用いた方法(詳しくは ↓こちらの記事参照)です。
プロンプトのテンプレート(再掲)
以下の#依頼を実行してください。
# 依頼
あなたは[#役割]です。
[#依頼事項]を[# フォーマット]の形式で、回答して下さい。
[#手順]に従って実行して下さい。
[# ルール]を守って実行して下さい。
[# 参照]を参考にして実行して下さい。
# 役割
- SNSで新商品のアピールするメーカーの広報担当者
#依頼事項
- 新商品を宣伝に効果的な商品キャッチコピーを15字程度で作る。
- キャッチコピーにそった商品の宣伝文を200文字程度で書く。
- キャッチコピーと宣伝文をセットで5個作る。
# フォーマット
- 表形式にする
- 列は[案番号] [商品キャッチコピー] [商品宣伝文]
- 行は5行。5個の [商品キャッチコピー] と[商品宣伝文]を表示
#手順
1.回答をする。回答したら、「回答を終えていいか?」と私に聞く。
2.私がYESと入力したら、実行を終了する。
3.私がNOと入力したら、「どの案がいいですか?」と私に聞く。
4.私が回答した番号の案について、それに似た案を新たに5個作る。
5.手順の1に戻る。ただし#手順を10回実行したら自動的に終了する。
# ルール
- 商品に親しみをもってもらうため、カジュアルに書く
- 若者に受け入れられるような、キャッチコピーと文章を書く
# 参照
*参考の文章があればここにコピペする
「#」で区切る意味
ところで、「#」って何? と、思った方もいると思います。
「#」でなくてもいいのですが、プログラム言語では、何かを「定義」するときに「#」や「{}」といった記号をよく使うので、こうした記号が通じやすいのです。
事例:「#」で回答がどう違う?
では、どこまで違うのか。「#」などを使ってChat-GPTにお願いする場合と、使わずにお願いする場合を比較します。
以前、「小学生にAIの授業をしてください」とお願いされて困ったときに、Chat-GPTに相談した記事を書きました。
これを2通りでやってみます。
・「#」のない場合
僕
小学生にAIについての授業をすることになったので、どんな授業をしたらいいか教えて
GPT
小学生にAIについて教える場合、わかりやすく、興味を引く内容を提供することが重要です。以下にいくつかのアイデアを紹介します。
1. AIの基本概念の紹介
AIとは何か:人間のように考え、学ぶコンピューターシステムの説明。
AIの歴史と進化:シンプルなゲームから現在の高度な技術までの進化を説明。
2. 日常生活でのAIの例
スマートフォンのアシスタント:SiriやGoogleアシスタントのような音声認識。
推薦システム:YouTubeやNetflixのおすすめ動画など。
3. インタラクティブなアクティビティ
AIとの会話体験:シンプルなAIチャットボットとの対話。
ロボットのプログラミング:ビジュアルプログラミングツールを使った簡単なロボット制御。
4. AIのエシックス
AIの良い使い方と悪い使い方:プライバシーやセキュリティに関する基本的な議論。
AIの将来:AIが将来私たちの生活にどのように影響を与えるかについてのディスカッション。
5. クリエイティブなプロジェクト
AIアート:AIを使って絵や音楽を作るデモンストレーション。
ストーリーテリング:AIを使って物語を作り、それをクラスで共有。
これらのアクティビティは、小学生の興味を引き、AIに関する基本的な理解を深めるのに役立ちます。
うーん……。「Chat-GPTって、どうもいまいち使えない」という場合、このような入力と返答である場合が多いのではないでしょうか。
・「#」のある場合
では、「#」を使ったらどうなるでしょう?
僕
あなたは[# 役割]です。 [#依頼事項]を[#フォーマット]の形式で、回答して下さい。 [#手順]に従って実行して下さい。 [#ルール]を守って実行して下さい。
#役割
小学校で、小学生の生徒にAIについて授業をする先生
#依頼事項
AIについての授業の案を作る。
#フォーマット
授業を、進行順に番号をつけて、それぞれの授業内容を簡単に書く
#手順
1.回答をする。回答したら、「回答を終えていいか?」と私に聞く。
2.私がYESと入力したら、実行を終了する。
3.私がNOと入力したら、別の案を作る。
4.手順の1に戻る。ただし#手順を10回実行したら自動的に終了する。
# ルール
・小学生にわかるように、難しい言葉は一切使わない。
・ 子供が興味がわくような、楽しく、聞いていてワクワクする内容にする。
・内容は5つとする。
GPT
授業案:「小学生のためのAI入門」
はじめに:AIって何?
AI(人工知能)がどんなものか、簡単な言葉で説明します。
例えば、「AIはコンピューターの頭脳みたいなもので、人間のように考えたり、学んだりできるんだよ」と説明します。
AIの例:身近なAIを探そう
生徒たちの身の回りにあるAIの例を紹介します。
スマートフォンのアシスタントや自動運転の車、オンラインゲームなどがAIを使っていると説明します。
AIと遊ぼう:AIゲーム体験
簡単なAIを使ったゲーム(例:AIとじゃんけん、クイズゲーム)で遊びます。
生徒たちにAIがどのように「考える」か体験してもらいます。
AIアート:AIに絵を描かせよう
AIが絵を描くデモンストレーションを見せます。
子供たちが考えたものをAIに描かせてみる活動をします。
みんなで考えよう:AIの未来
AIが将来どんな風に使われるか、クラスで話し合います。
「AIが学校の先生になったらどうなるか?」など、楽しい話題で議論します。
GPT
回答を終えていいですか?
僕
いいえ
GPT
了解しました。異なるアプローチで授業案を作成します。
GPT
授業案:「冒険!AIの不思議な世界」
冒険の始まり:AIの魔法の森へようこそ!
「AIは魔法の森のようなもの」の物語形式でAIについて紹介します。
魔法の森でAIがどのように「魔法」を使うか、例えば「言葉を理解する魔法」や「絵を描く魔法」などを説明します。
AI探検隊:AIを見つけよう!
学校や家で使われているAIを探検隊として探します。
音声アシスタントやゲームのAIなど、子供たちが日常で触れているAIの例を挙げます。
AIとおしゃべり:AIと会話してみよう
簡単なAIチャットボットと会話する活動をします。
子供たちに質問させ、AIがどう答えるかを楽しみます。
魔法の絵師:AIに絵を描かせる
AIが絵を描くデモンストレーションをします。
子供たちが思い描いたものをAIに描かせて、どんな絵か見てみます。
未来の魔法使い:AIと一緒に未来を描こう
AIが未来にどんな影響を与えるか、クラスで話し合います。
子供たちがAIと一緒に生活する未来を想像し、描いてみます。
GPT
回答を終えていいですか?
僕
はい
最初の入力に対する授業案と比較してどうでしょうか? かなり具体的で面白い授業を提案してくれています。2つの案のいいところ取りをすれば、いい授業ができそうですね。
1回のやり取りでも高精度に
基本的に、Chat-GPTは「1問1答」では、いい活用はできません。
ただ、何往復も面倒だな、と思うなら、今回書いた「#」などの記号を使って、論理的に指示する方法は、とても有用です。
メモ帳にテンプレートとして保存しておき、Chat-GPTを使うときにテンプレートをコピペしてから、目的に応じて加筆修正すると、1回のやり取りでも、かなり良質な回答が得られます。
次回に続きます。
※大規模言語モデル(LLM)とのインタラクションを最適化するための「26の原則」
①礼儀を省く:「お願いします」などの礼儀用語は不要
②対象者を明示:「専門家向け」など返答を受ける対象者を明示
③複雑なタスク分割:複雑なタスクを簡単なプロンプトに分ける
④肯定的指示の使用:否定的な言葉ではなく肯定的な言葉を使用
⑤明確化のための指示:「簡単な言葉で」「中学生にも分かるように」等
⑥報酬の提示:「良い解答には報酬を出す」と示す
⑦事例を提示:既存の事例を使用
⑧プロンプトのフォーマット:###Instruction###」で始め、適宜「###Example###」や「###Question###」を含める。
⑨明確なタスク指示:「あなたのタスクは」と指示。
⑩ペナルティの提示:「ペナルティあり」と伝える。
⑪自然言語による回答指示:「自然言語で回答して」と指示。
⑫先導的な言葉の使用:「ステップバイステップで考えて」と指示。
⑬偏見の排除:「偏見を持たず、ステレオタイプに依存しない」と指示。
⑭ユーザーとの対話促進:問題解決までモデルに質問させる。
⑮テストを含む指導:テストを出してもらい、自分の理解度を試す。
⑯モデルへの役割割り当て:モデルに特定の役割を割り当てる。
⑰デリミターの使用:特定の区切り文字を使用。
⑱繰り返しの使用:特定の単語やフレーズを複数回使用。
⑲思考の連鎖:中間ステップを生成し、事例を組み合わせる。
⑳出力プライマーの使用:期待される出力の始まりでプロンプトを終える。
㉑詳細なテキストの作成指示:「詳細に書いて」と指示。
㉒スタイル変更の防止:「スタイルを変更しない」と指示。
㉓複数ファイル対応のコーディングプロンプト:複数のファイルにまたがるコーディング作業の効率化のために、自動的に新しいファイルを作成し、生成されたコードを適切なファイルに挿入するスクリプトの作成を提案。
㉔特定の言葉で続ける:「与えられた言葉で完成させて」と指示。
㉕モデルの要件の明示:コンテンツを制作するためにモデルが守らなければならない要件を、キーワード、規定、ヒント、指示などの形で明示。
㉖サンプルに基づくテキスト作成:サンプルと同じ言語で書くよう指示。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?