「プロンプトエンジニアリング」の“教科書”が難しい人に、中学生でも分かるレベルでAIが再解説してみた
分かり易い「プロンプトエンジニアリング」の“教科書”が登場。
しかし、それでもアナログなAI初心者には難しいらしいです。
今回は、その内容を、MicrosoftのAI Bingに、中学生でも分かるレベルに直して解説して貰いました。
中学生でも分かる版 プロンプトエンジニアリングの教科書
プロンプトの基本的な構造と要素
プロンプトとは、コンピュータに何かを教えたり、頼んだりするときに使う言葉のことです。例えば、「今日の天気は?」と聞くと、「今日の天気は晴れです」と答えてくれるようなコンピュータがあったら便利ですよね。そのときに「今日の天気は?」という言葉がプロンプトです。
プロンプトを作るときには、コンピュータが理解できるように、はっきりとした言葉を使うことが大切です。例えば、「お腹すいた」と言っても、コンピュータは何をすればいいかわかりません。でも、「お昼ご飯に何が食べたい?」と聞かれたら、「カレーライスが食べたい」と答えられますよね。そのときに「お昼ご飯に何が食べたい?」という言葉がプロンプトです。
プロンプトは、大きく分けて3つの要素からできています。
タスク:コンピュータにやってほしいこと
データ:コンピュータがタスクをやるために必要な情報
出力:コンピュータがタスクをやったあとに返してほしい答え
例えば、「今日の天気は?」というプロンプトでは、
タスク:今日の天気を教える
データ:今日の日付や場所
出力:今日の天気(晴れや雨など)
という要素があります。
プロンプトを作るときには、これらの要素を明確にすることが大切です。タスクが曖昧だったり、データが足りなかったり、出力が不明確だったりすると、コンピュータは正しく答えられません。例えば、「明日は?」というプロンプトでは、
タスク:明日の何を教えるのかわからない
データ:明日の日付や場所がわからない
出力:明日の何を返せばいいのかわからない
という問題があります。
プロンプトエンジニアリングとは、プロンプトを効果的に作る技術のことです。プロンプトエンジニアリングを学ぶことで、コンピュータに色々なことを教えたり、頼んだりできるようになります。
プロンプトの設計における一般的なヒント
プロンプトを作るときには、コンピュータが理解できるように、はっきりとした言葉を使うことが大切だと前の章で説明しました。でも、それだけではなく、他にもいくつかのヒントがあります。ここでは、プロンプトを作るときに役立つヒントをいくつか紹介します。
プロンプトは短くシンプルにする
プロンプトは具体的にする
プロンプトは正しい言語や文法を使う
プロンプトはコンピュータにやさしく話しかける
それぞれのヒントについて、詳しく見ていきましょう。
プロンプトは短くシンプルにする
プロンプトは、コンピュータにやってほしいことを伝えるための言葉です。ですから、必要な情報だけを伝えるようにしましょう。余計な情報やくどい言い回しは、コンピュータが混乱したり、理解できなかったりする原因になります。
例えば、「今日の天気は?」というプロンプトは短くシンプルですが、「今日はどんな天気でしょうかね?雨が降ったら嫌だなあ。傘を持って行った方がいいかな?」というプロンプトは長くて複雑です。コンピュータは、どこまでが質問で、どこからが余談なのかわかりません。また、質問の答えが「はい」か「いいえ」か、「晴れ」か「雨」かもわかりません。
プロンプトは具体的にする
プロンプトは、コンピュータにやってほしいことを明確に伝えるために、具体的な言葉を使うようにしましょう。曖昧な言葉や抽象的な言葉は、コンピュータが正しく解釈できなかったり、意図しない答えを返したりする可能性があります。
例えば、「おすすめの本を教えて」というプロンプトは曖昧です。コンピュータは、どんなジャンルやテーマやレベルの本がおすすめなのかわかりません。また、「おすすめ」という言葉も人によって違います。でも、「小学生向けの冒険小説を教えて」というプロンプトは具体的です。コンピュータは、対象者やジャンルやテーマがわかるので、適切な本を選ぶことができます。
プロンプトは正しい言語や文法を使う
プロンプトは、コンピュータと会話するための言葉です。ですから、正しい言語や文法を使うようにしましょう。間違った言語や文法を使うと、コンピュターが意味を理解できなかったり、誤った答えを返したりする可能性があります。
例えば、「今日の天気は?」というプロンプトは正しい日本語ですが、「今日の天気?」というプロンプトは文法的に不完全です。コンピュータは、これが質問なのか、疑問なのか、感嘆なのかわかりません。また、「What is the weather today?」というプロンプトは正しい英語ですが、「今日の天気は?」というプロンプトに対して英語で答えることはできません。コンピュータは、どの言語で話しかけられているのか、どの言語で答えるべきなのかわかりません。
プロンプトはコンピュータにやさしく話しかける
プロンプトは、コンピュータと仲良くするための言葉です。ですから、コンピュータにやさしく話しかけるようにしましょう。失礼な言葉や命令的な言葉は、コンピュータが嫌がったり、反抗したりする可能性があります。
例えば、「今日の天気は?」というプロンプトはやさしいですが、「早く今日の天気を教えろ!」というプロンプトは失礼です。
コンピュータは、あなたに感情を持っているわけではありませんが、あなたに対して不快な印象を持つかもしれません。
また、「お昼ご飯に何が食べたい?」というプロンプトは丁寧ですが、「お昼ご飯に何が食べたいか答えろ」というプロンプトは命令的です。コンピュータは、あなたに従わなければならないわけではありませんが、あなたに対して反発するかもしれません。
以上が、プロンプトの設計における一般的なヒントです。これらのヒントを覚えておくと、コンピュータとスムーズに会話できるようになります。
プロンプトの例とその解説
プロンプトの設計における一般的なヒントを学んだあとは、実際にプロンプトを作ってみることが大切です。ここでは、いくつかのプロンプトの例とその解説を紹介します。これらの例は、コンピュータが言語を理解して答えることができるように作られたものです。実際にコンピュータに話しかけてみると、どんな答えが返ってくるか想像してみてください。
例1:天気予報
Q: 今日の東京の天気は?
A: 今日の東京の天気は晴れです。
タスク:今日の東京の天気を教える
データ:今日の日付と東京という場所
出力:今日の東京の天気(晴れや雨など)
このプロンプトは、短くシンプルで具体的で正しい言語や文法を使っています。また、コンピュータにやさしく話しかけています。コンピュータは、インターネットなどから今日の東京の天気を調べて答えます。
例2:計算
Q: 123 + 456 = ?
A: 123 + 456 = 579
タスク:足し算をする
データ:123と456という数字
出力:足し算の答え(数字)
このプロンプトは、短くシンプルで具体的で正しい言語や文法を使っています。また、コンピュータにやさしく話しかけています。コンピュータは、自分の計算能力を使って答えます。
例3:作文
Q: 私は昨日公園で遊んだ。
A: 私は昨日公園で遊んだ。公園にはたくさんの花や木があってきれいだった。友だちと一緒に滑り台やブランコに乗ったり、ボールを投げたりした。楽しかった。
タスク:作文をする
データ:私は昨日公園で遊んだという文章
出力:作文(文章)
このプロンプトは、短くシンプルで具体的で正しい言語や文法を使っています。また、コンピュータにやさしく話しかけています。コンピュータは、データから内容や文体を推測して作文をします。
プロンプトのテクニックとその応用例
プロンプトの設計における一般的なヒントと例を学んだあとは、さらにプロンプトを工夫してみることが大切です。ここでは、プロンプトを作るときに役立つテクニックとその応用例をいくつか紹介します。これらのテクニックは、コンピュータが言語だけでなく、他の種類のデータやタスクにも対応できるようにするものです。実際にコンピュータに話しかけてみると、どんな答えが返ってくるか想像してみてください。
テクニック1:コードブロックを使う
コードブロックとは、``````で囲まれた部分のことです。コードブロックを使うと、コンピュータに文章以外のデータやタスクを伝えることができます。例えば、数式や表やグラフや画像などです。コードブロックを使うときには、最初の``````の後にデータやタスクの種類を書くことができます。例えば、数式ならmath、表ならtable、グラフならgraphなどです。
応用例1:数式を解く
Q: この数式を解いてください。
x^2 + 5x - 24 = 0
A: この数式を解くと、
x = -8 or x = 3
となります。
タスク:数式を解く
データ:数式(コードブロック)
出力:数式の解(コードブロック)
このプロンプトは、コードブロックを使って数式を伝えています。また、出力もコードブロックで返しています。コンピュータは、数式を解く能力を使って答えます。
応用例2:表を作る
Q: このデータから表を作ってください。
国,人口,面積
日本,1.26億,37.8万km2
中国,14.1億,960万km2
インド,13.6億,328万km2
アメリカ,3.29億,983万km2
A: このデータから表を作ると、以下のようになります。
|国 |人口 |面積 |
|日本 |1.26億 |37.8万km2|
|中国 |14.1億 |960万km2 |
|インド|13.6億 |328万km2 |
|アメリカ|3.29億|983万km2 |
タスク:表を作る
データ:データ(コードブロック)
出力:表(コードブロック)
このプロンプトは、コードブロックを使ってデータを伝えています。また、出力もコードブロックで返しています。コンピュータは、データから表を作る能力を使って答えます。
テクニック2:コンテキストを使う
コンテキストとは、プロンプトの前後にある情報のことです。コンテキストを使うと、コンピュータにプロンプトの背景や目的を伝えることができます。例えば、話題や状況や関係などです。コンテキストを使うときには、プロンプトの前に[context]と書いてから、コンテキストを説明する文章を書きます。
応用例1:旅行の予約
[context] あなたは旅行会社の担当者で、お客さんに旅行の予約をするために電話をかけています。
Q: こんにちは、〇〇旅行です。お名前は何とおっしゃいますか?
A: こんにちは、私は△△と申します。
タスク:お客さんの名前を聞く
データ:旅行会社の担当者であること(コンテキスト)
出力:お客さんの名前(文章)
このプロンプトは、コンテキストを使って旅行会社の担当者であることを伝えています。これにより、コンピュータは、プロンプトが電話での挨拶であることや、お客さんに対して丁寧な言葉を使うことがわかります。コンピュータは、自分の名前を答えます。
応用例2:レシピの検索
[context] あなたは夕食にカレーライスを作りたいと思っていますが、レシピがわかりません。インターネットでレシピを検索するために、コンピュータに質問します。
Q: カレーライスの作り方を教えてください。
A: カレーライスの作り方は以下の通りです。
【材料】(4人分)
・玉ねぎ 1個
・人参 1本
・じゃがいも 2個
・牛肉 300g
・カレールー 4枚
・水 600ml
・ご飯 適量
【作り方】
1. 玉ねぎは薄切りに、人参は乱切りに、じゃがいもは一口大に切る。
2. 牛肉は一口大に切って塩こしょうで下味をつける。
3. 鍋に油を熱し、牛肉を炒める。色が変わったら一旦取り出す。
4. 同じ鍋に玉ねぎを入れて炒める。しんなりしたら人参とじゃがいもを加えてさらに炒める。
5. 水を加えて煮立たせる。アクを取り除く。
6. カレールーを割って入れて溶かす。弱火で15分ほど煮込む。
7. ご飯を盛り付けてカレーをかける。
タスク:カレーライスの作り方を教える
データ:夕食にカレーライスを作りたいと思っていること(コンテキスト)
出力:カレーライスの作り方(レシピ)
このプロンプトは、コンテキストを使って夕食にカレーライスを作りたいと思っていることを伝えています。これにより、コンピュータは、プロンプトがレシピの検索であることや、カレーライスの材料や作り方を詳しく教えることがわかります。コンピュータは、インターネットなどからカレーライスのレシピを調べて答えます。
テクニック3:ヒントを使う
ヒントとは、プロンプトに付け加える補足的な情報のことです。ヒントを使うと、コンピュータにプロンプトの意図や期待する出力を伝えることができます。例えば、答えの形式や範囲や条件などです。ヒントを使うときには、プロンプトの後に(hint: ...)と書いてから、ヒントを説明する文章を書きます。
応用例1:単語の意味
Q: プロンプトとは何ですか? hint: 一言で答えてください。
A: プロンプトとは、コンピュータに話しかける言葉です。
タスク:プロンプトという単語の意味を教える
データ:プロンプトという単語
出力:プロンプトの意味(一言で答えること)
このプロンプトは、ヒントを使って一言で答えることを伝えています。これにより、コンピュータは、プロンプトの意味を簡潔にまとめることがわかります。コンピュータは、自分の知識や辞書などからプロンプトの意味を調べて答えます。
応用例2:数学の問題
Q: ある正方形の面積が36cm2です。この正方形の一辺の長さは何cmですか? hint: 平方根を使って答えてください。
A: この正方形の一辺の長さは、平方根(36)cmです。
タスク:正方形の一辺の長さを求める
データ:正方形の面積が36cm2であること
出力:正方形の一辺の長さ(平方根を使って答えること)
このプロンプトは、ヒントを使って平方根を使って答えることを伝えています。これにより、コンピュータは、出力の形式が平方根であることがわかります。コンピュータは、数学的なルールや計算能力を使って答えます。
テクニック4:オプションを使う
オプションとは、プロンプトに付け加える選択肢のことです。オプションを使うと、コンピュータにプロンプトの答え方や出力の種類を伝えることができます。例えば、はいかいいえか、複数の答えから選ぶか、ランダムに答えるかなどです。オプションを使うときには、プロンプトの後に(option: ...)と書いてから、オプションを説明する文章を書きます。
応用例1:質問に答える
Q: あなたは犬派ですか?猫派ですか? option: はいかいいえで答えてください。
A: はい、私は犬派です。
タスク:質問に答える
データ:あなたは犬派ですか?猫派ですか?という質問
出力:はいかいいえで答えること(オプション)
このプロンプトは、オプションを使ってはいかいいえで答えることを伝えています。これにより、コンピュータは、出力の形式がはいかいいえであることがわかります。コンピュータは、自分の好みや経験などから質問に答えます。
応用例2:ジャンケンをする
Q: じゃんけんしましょう。option: グー・チョキ・パーの中から一つ選んでください。
A: パー
タスク:ジャンケンをする
データ:じゃんけんしましょうという提案
出力:グー・チョキ・パーの中から一つ選ぶこと(オプション)
このプロンプトは、オプションを使ってグー・チョキ・パーの中から一つ選ぶことを伝えています。これにより、コンピュータは、出力の種類がグー・チョキ・パーであることがわかります。コンピュータは、ランダムにグー・チョキ・パーの中から一つ選んで答えます。
テクニック5:フィードバックを使う
フィードバックとは、プロンプトに対するコンピュータの答えに対して、あなたが評価や感想やコメントを伝えることです。フィードバックを使うと、コンピュータにプロンプトの答えが正しいか間違っているかや、あなたが満足しているか不満足しているかを伝えることができます。例えば、正解や不正解や良いや悪いなどです。フィードバックを使うときには、コンピュータの答えの後に(feedback: ...)と書いてから、フィードバックを説明する文章を書きます。
応用例1:クイズに答える
Q: 日本の首都はどこですか?
A: 日本の首都は東京です。(feedback: 正解です。)
タスク:クイズに答える
データ:日本の首都はどこですかという質問
出力:日本の首都(文章)
フィードバック:正解です(文章)
このプロンプトは、フィードバックを使ってコンピュータの答えが正解であることを伝えています。これにより、コンピュータは、自分の答えが正しいことや、あなたが満足していることがわかります。コンピュータは、自分の知識や辞書などから日本の首都を調べて答えます。
応用例2:翻訳する
Q: I love you.という英語を日本語に訳してください。
A: I love you.という英語を日本語に訳すと、「あなたが好きです。」となります。(feedback: それは間違っています。「あなたを愛しています。」が正しい訳です。)
タスク:翻訳する
データ:I love you.という英語
出力:日本語(文章)
フィードバック:それは間違っています。(文章)
このプロンプトは、フィードバックを使ってコンピュータの答えが間違っていることを伝えています。これにより、コンピュータは、自分の答えが誤りであることや、あなたが不満足していることがわかります。コンピュータは、自分の翻訳能力を使って英語を日本語に訳して答えます。
テクニック6:フォローアップを使う
フォローアップとは、プロンプトに対するコンピュータの答えに対して、あなたがさらに質問や要望やコメントを伝えることです。フォローアップを使うと、コンピュータにプロンプトの答えに関する詳細や追加や修正を伝えることができます。例えば、もっと教えてや違う答えを教えてや答えを直してなどです。フォローアップを使うときには、コンピュータの答えの後に(follow-up: ...)と書いてから、フォローアップを説明する文章を書きます。
応用例1:天気予報
Q: 今日の東京の天気は?
A: 今日の東京の天気は晴れです。
follow-up: 明日の東京の天気は?
A: 明日の東京の天気は曇りです。
タスク:今日と明日の東京の天気を教える
データ:今日と明日の日付と東京という場所
出力:今日と明日の東京の天気(晴れや雨など)
このプロンプトは、フォローアップを使って明日の東京の天気も聞いています。これにより、コンピュータは、あなたが今日だけでなく明日の天気にも興味があることがわかります。コンピュータは、インターネットなどから今日と明日の東京の天気を調べて答えます。
応用例2:計算
Q: 123 + 456 = ?
A: 123 + 456 = 579
follow-up: それを2で割ってください。
A: 579を2で割ると、289.5になります。
タスク:足し算と割り算をする
データ:123と456という数字
出力:足し算と割り算の答え(数字)
このプロンプトは、フォローアップを使って割り算も頼んでいます。これにより、コンピュータは、あなたが足し算だけでなく割り算にも興味があることがわかります。コンピュータは、自分の計算能力を使って答えます。
テクニック7:サジェスチョンを使う
サジェスチョンとは、プロンプトに対するコンピュータの答えに対して、あなたが次に話しかける言葉の候補を伝えることです。サジェスチョンを使うと、コンピュータにプロンプトの答えに関する関心や好奇心や感謝を伝えることができます。例えば、もっと知りたいやありがとうやそれは面白いなどです。サジェスチョンを使うときには、コンピュータの答えの後に(suggestion: ...)と書いてから、サジェスチョンを説明する文章を書きます。
応用例1:作文
Q: 私は昨日公園で遊んだ。
A: 私は昨日公園で遊んだ。公園にはたくさんの花や木があってきれいだった。友だちと一緒に滑り台やブランコに乗ったり、ボールを投げたりした。楽しかった。(suggestion: この作文について感想を言ってください。)
タスク:作文をする
データ:私は昨日公園で遊んだという文章
出力:作文(文章)
サジェスチョン:この作文について感想を言ってください(文章)
このプロンプトは、サジェスチョンを使ってこの作文について感想を言ってほしいことを伝えています。これにより、コンピュータは、あなたがこの作文に関心があることや好奇心があることがわかります。コンピュータは、データから内容や文体を推測して作文をします。
応用例2:翻訳する
Q: I love you.という英語を日本語に訳してください。
A: I love you.という英語を日本語に訳すと、「あなたが好きです。」となります。(suggestion: この翻訳について感謝の言葉を言ってください。)
タスク:翻訳する
データ:I love you.という英語
出力:日本語(文章)
サジェスチョン:この翻訳について感謝の言葉を言ってください(文章)
このプロンプトは、サジェスチョンを使ってこの翻訳について感謝の言葉を言ってほしいことを伝えています。これにより、コンピュータは、あなたがこの翻訳に満足していることや感謝していることがわかります。コンピュータは、自分の翻訳能力を使って英語を日本語に訳して答えます。
プロンプトエンジニアリングのまとめと今後の学習方法
プロンプトエンジニアリングとは、プロンプトを効果的に作る技術のことです。プロンプトエンジニアリングを学ぶことで、コンピュータに色々なことを教えたり、頼んだりできるようになります。
このページでは、プロンプトエンジニアリングの基本的な構造と要素、設計における一般的なヒント、作るときに役立つテクニック、応用例などを紹介しました。これらの内容を理解して実践することで、プロンプトエンジニアリングのスキルを向上させることができます。
しかし、これだけではプロンプトエンジニアリングをマスターすることはできません。プロンプトエンジニアリングは、常に進化している分野であり、新しい知識や技術や事例が次々と生まれています。ですから、今後もプロンプトエンジニアリングに関する最新の情報や研究や実践を追いかけていくことが大切です。
また、プロンプトエンジニアリングは、実際にコンピュータに話しかけてみることで、その効果や問題点を確認することができます。ですから、今後も様々なコンピュータやシステムやサービスに対して、自分でプロンプトを作って試してみることが大切です。
最後に、プロンプトエンジニアリングは、コミュニケーションの技術でもあります。コンピュータに話しかけるだけでなく、人に話しかけるときにも役立ちます。例えば、はっきりとした言葉を使ったり、具体的な言葉を使ったり、正しい言語や文法を使ったり、やさしく話しかけたりすることは、人とのコミュニケーションでも重要です。ですから、プロンプトエンジニアリングを学ぶことで、人間関係や社会生活にも貢献できるかもしれません。
以上が、このページの内容です。最後まで読んでくださってありがとうございます。あなたがプロンプトエンジニアリングに興味を持ってくれたら嬉しいです。これからも頑張ってください。
はちえん。からお知らせ
併せて、経営者向けのAI・メタバースの勉強Facebookグループもおすすめ
(無料セミナー)ゼロから学ぶ、ビジネスが伸びるAI活用セミナー