思うようにAIツールから理想的な回答がもらえない…
どんなプロンプトを作ればいいんだろう?
デジタルデータの急増やコンピューターにおける処理性能の飛躍的向上から、第3次AIブームに位置付けられている昨今。
効率的に文章が生成できる利便性から、ChatGPTやBing AI ChatなどのAIツールを活用している人は多いですよね。
ただ、AIツールを使っていても思うような回答がもらえない人もいるはず。また、どんなプロンプトを作ればいいのかあいまいな人も多いでしょう。
下の言葉にもあるとおり、大前提としてAIツールから理想的な回答を引き出すには的確なプロンプト作りが不可欠です。不十分なプロンプトでは、何度試しても思うような回答は得られません。
You can achieve a lot with simple prompts, but the quality of results depends on how much information you provide it and how well-crafted the prompt is.
(単純なプロンプトで多くのことを達成できますが、結果の品質は、提供する情報の量とプロンプトがどれほど巧妙に作成されているかによって決まります。)
引用:Prompt Engineering Guide
そこで、この記事ではAIツールから理想的な回答を引き出すにはどうすればいいのか、プロンプトの作り方をコツも交えわかりやすく解説します。よくあるプロンプトの失敗例やつまづいた時の対処法も紹介するので、ぜひ参考にしてください。
本記事の解説内容に関する補足事項
本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。
また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に、提供コースは「教育訓練給付制度の指定講座」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。
記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。
生成AIから理想的な回答を引き出すプロンプトの作り方
さっそく、生成AIから理想的な回答を引き出すプロンプトの作成方法を、5つのステップにまとめて紹介します。
- STEP1:プロンプトに必要な要素を把握する
- STEP2:出力したい内容を明確にする
- STEP3:事前に読み込ませる情報を言語化する
- STEP4:前提条件を決める
- STEP5:出力形式を定める
まず、上記のステップにそって作成したプロンプトの完成例を先にお見せします。
プロンプト①
以下の内容を読み込んでください。 書き出しは不要です。なので、読み込みを終えたら「読込完了」と記載してください。 “事前に読み込ませたい情報を明記”
プロンプト②
# 出力における前提条件 前提条件を明記 # 出力の内容 出力してほしい内容を明記 # 出力の形式 出力形式を明記
STEP1:プロンプトに必要な要素を把握する
まず、プロンプトに必要な要素を把握しましょう。
前提として、理想的な回答が引き出せるプロンプトには次のような共通点があります。
- 回答に必要な背景情報が明示されている
- 条件が指定されている、
- 回答の形式が指定されている
回答に必要な前提条件やデータを与えることで、回答範囲を絞れるため正確な回答を得られます。必要な要素を考えずにプロンプトを作成した場合、条件が足りず希望の回答を得られません。とくに複雑な情報や内容を含むほど、条件設定が不十分だと失敗しやすくなります。
具体的にプロンプトを作成する前に、まずプロンプトに含むべき情報を確認してください。また、作成したプロンプトで求める回答を得られなければ、必要な要素を検討しなおすと良いでしょう。
STEP2:出力したい内容を明確にする
次に、出力したい内容を明確にしましょう。
出力したい内容が明確でなければ、どんなプロンプトを作ればいいのかが定まりません。出力してほしい内容があいまいなままプロンプトを作成したとしても、理想の回答は引き出しづらくなります。
まず、次のようにプロンプトの作成前には出力したい内容を明確にしておきましょう。
- プログラミングを活用した副業アイデア
- 1,000文字の恋愛短編小説
- HTML/CSSを活用したWebサイトデザインのコード など
上記の例でいうと、「1,000文字の恋愛短編小説」と質問すれば文字数や小説の内容が明確です。一方、「短編小説を作成してください。」とだけ質問した場合、条件が足りないため理想と異なる回答が出力される可能性があります。
STEP3:事前に読み込ませる情報を言語化する
出力したい内容を明確にできたら、事前に読み込ませる情報を言語化しましょう。
前述したとおり、希望とする内容を出力させるのには、前提条件と事前情報をAIツールに与える必要があります。しかし、両方を同時に読み込ませた場合、処理が複雑になり精度は落ちやすいです。そのため、回答に必要な事前情報は個別に読み込ませる必要があります。
たとえば、新商品のキャッチコピーアイデアを出力したい場合、次のような事前情報を読み込ませることで正確な回答を得られます。
以下の内容を読み込んでください。 書き出しは不要です。読み込みを終えたら「読込完了」と記載してください。 “参考にしたいキャッチコピーの情報を明記する”
参考にしたいキャッチコピーをたくさん読み込ませることで、共通点をおさえたアイデアが出力できます。1からアイデアを出力させるより、参考になる見本のあるほうが精度を高めやすいのです。
一方、参考データを読み込ませない場合、AIツールは1から回答を生成します。この場合、人気のあるキーワードやいいまわしなど、反映してほしい情報が足りず理想の回答が得られない可能性があるのです。
なお、アイデアを出力するときは著作権などに配慮し、前提条件のプロンプトにオリジナル情報を含めると良いでしょう。
STEP4:前提条件を決める
事前に読み込ませる情報が言語化できたら、前提条件を決めましょう。具体的には、次のような条件を設定します。
- AIツールのキャラクター(回答する立場)
- 回答を作成する目的
- 回答を利用するシチュエーション
- 具体的な出力内容
- 必ず記載したい内容 など
前提条件を詳しく設定するほど、回答の精度は高まります。前提条件を加えると回答の幅が狭まるため、出力内容を想定しやすいです。
たとえば、ビジネスメールの素案を出力したい場合、次のような条件が考えられます。
# 出力における前提条件 ・メール送信先の立場 はじめて商品を購入いただいた新規顧客。今後もお付き合いを続けるため、丁寧な対応が求められる。 ・目的 クライアントへ納品完了を伝達するためのメール ・送り先 株式会社〇〇 営業担当〇〇様 # 出力の内容 下記の内容を踏まえてメールを作成。 ・お申込みいただいた〇〇について、2024年2月15日に納品できる旨が確定した。 ・商品の使い方や設定に関して、次のURLから確認できる旨を記載。 https://~ ・最後にご購入いただいたお礼と感謝を伝える文章を記載。
取引相手の特徴やメールに含める情報など、より具体的に設定すれば精度の高い回答を得られます。なおセキュリティの観点から、具体的な企業名や取引内容は明記しないのが賢明です。「〇〇様」といった形で明記し、出力された素案に必要情報を記載して利用すると良いでしょう。
STEP5:出力形式を定める
最後に、出力形式を決めましょう。
生成AIから理想的な回答を引き出したいと考えている以上「どんな形で出力してほしいか」のイメージがあるはず。ここでは、そのイメージを次のような項目で分けながら明確にします。
- 文字数
- 文調(文章のテイスト)
- 箇条書きや表形式
- 出力してほしい数(箇条書きの場合)など
出力形式があいまいなプロンプトでは、イメージどおりの回答を得られる可能性が低くなります。どのような回答を得たいかイメージしたうえで、適切な出力形式を指示しましょう。
アイデアをたくさん出力したいのであれば箇条書き、文字数制限が必要であれば具体的な数値を指定する必要があります。
出力形式は具体的なほどブレの少ない回答を得られるため、試行錯誤しながら適切なプロンプトを作成しましょう。
1度のプロンプト入力でAIツールから理想的な回答が引き出しづらい内容
もちろん、1度のプロンプト入力で求める回答を得られれば理想的ですよね。ただ、プロンプトも万能ではありません。
出力したい内容によっては複数回AIツールとのやり取りが必要なケースもあります。
ここでは、1度のプロンプト入力で理想的な回答が引き出しにくい内容を、4つにまとめて紹介します。
複雑かつ専門的な内容
複雑かつ専門的な内容は、1度のプロンプト入力では理想の回答を出力しにくいです。
たとえば、次のような専門知識が必要な内容や複数の回答例が考えられる場合、1度のプロンプトでは情報をまとめきれない可能性があります。
- 量子コンピュータは従来のコンピューターと比較してどの点が優れていますか?
- AIとは何か専門的に回答してください。
- 人間とAIの違いを具体的に答えてください。
量子コンピュータの領域は、高度な物理学やコンピュータサイエンスなど専門知識が必要です。生成AIの処理機能や文字数制限が影響し、1度のプロンプトでは回答をまとめきれない可能性も。また、仮に回答を出力できた場合でも、専門的すぎて素人では理解できない内容となるかもしれません。
複雑かつ専門的な内容を出力したいときは、無理せず複数のプロンプトにわけて実行するのが良いでしょう。
複数の分野にまたがる内容
複数の分野にまたがる内容も、1度のプロンプト入力では出力しにくいです。
複数分野を1つのプロンプトに盛り込んだ場合、各分野の関係性が複雑になります。そのため、回答内容の精度低下や、情報の漏れが発生しやすいです。
たとえば、次のような質問では、出力すべき情報が多岐にわたるため、正確に出力する難易度が高いです。
- 世界経済の歴史とその未来の傾向は?
- 暗号資産の将来性と価格が上がりそうな銘柄は?
- プログラミングを短期間に習得して月収50万円稼ぐ方法は?
1のプロンプトは、経済学と歴史学の分野が混在しています。歴史的な背景から現代の経済状況まで網羅しなければならず、1回の回答で出力する難易度は高めです。それ以外のプロンプトも複数分野の情報が必要であり、無理に出力した場合は情報漏れが発生するリスクもあるでしょう。
複数分野の情報をまとめたい場合、プロンプトをわけて入力したほうが目的とする出力内容を得やすくなります。
回答者によって意見や解釈が異なる内容
回答者によって意見や解釈が異なる内容の場合、1つのプロンプトでは求める情報を出力できない可能性があります。
意見や解釈が異なる情報を網羅できないため、1回のプロンプト入力で求める回答を出力するのは難しいです。たとえば、次のように研究や専門家により意見が異なる質問の場合、希望する回答を得られない可能性があります。
- 現代芸術は本当に芸術と呼べるのか?
- 日本人とは何か?
- 人間にとって幸せとは何か?
意見や解釈が異なる回答を得たい場合は、1回目のプロンプトでアイデアを出力。2回目のプロンプトで、そのなかから自分の意見に近いものを詳しく質問すると良いでしょう。
非現実的な根拠が示しづらい内容
非現実的で根拠が示しづらい内容を出力したい場合、1度のプロンプト入力では理想的な回答が得にくくなります。
次のような非現実的で仮定に基づくプロンプトでは、現実に即した回答は得られません。実例や根拠となるデータがなければ、質問を工夫しても仮想的なシナリオしか出力できないでしょう。
- 地球外生命体が地球を侵略してきたらどうなりますか?
- 地球から人類がいなくなるとどうなりますか?
- AIが人間の知能を超えたらどうなりますか?
回答をできるだけ現実的にしたい場合、プロンプトを複数にわけて細かい条件設定を行うのがおすすめです。たとえば、1の質問では地球外生命体の特徴や侵略方法、地球側の対処方法など条件があれば可能な限り現実的な回答を得られます。
とはいえ、非現実的なプロンプトの回答は仮想を含む内容になりがちです。現実的な回答を得たいのであれば、プロンプトの内容に工夫が必要でしょう。
生成AIから理想的な回答が引き出せないプロンプトの共通点
冒頭で触れたとおり、AIツールから理想的な回答を引き出せるかは作り込んだプロンプトの質で決まります。
ここでは、生成AIから理想的な回答が引き出せないプロンプトの共通点を、4つにまとめて紹介します。
上記を織り込んだプロンプトにならないよう、作成時は注意しましょう。
指示内容があいまい
あいまいな指示内容では、AIツールから理想の回答は引き出せません。
回答に必要な事前情報や生成AIに設定する立場・条件があいまいでは、回答の精度が低くなります。不明瞭な質問では回答内容の幅が広がるため、出力したい内容からずれる可能性があるのです。
たとえば、次のように同じプロンプトでも具体的な数字や条件の含まれるほうが理想に近い回答を得られます。
1.幸せとは何か? 2.幸せとは何か?次の条件を踏まえ回答してください。 ・立場:25歳男性/会社員/独身 ・考え方:お金も大事だがライフスタイルも大切にしたい。
1より2のプロンプトのほうが、対象の人物像がわかりやすく幸せという抽象的な概念でも言語化しやすいです。指示内容があいまいなプロンプトを入力した場合、あいまいな回答しか得られません。
理想的な回答を得るには、プロンプトを複数にわけて条件の設定が必要です。
求める回答の範囲が広すぎる
求める回答の範囲が広すぎることは、AIツールから理想的な回答が引き出せないプロンプトの共通点です。
次のように回答範囲が広すぎる場合、求める内容をピンポイントで出力する難易度は高く、抽象的な回答になる可能性があります。
- 1.世界の歴史を教えてください。
- 2.明日の世界の天気を教えてください。
- 3.日本の名産品を教えてください。
1であれば、世界の歴史という広範囲をカバーしなければならず、特定の時代やできごとに特化した回答は期待できません。精度の高い回答を得るには、具体的な国名や年代を指定する必要があります。
このように、求める回答の範囲が広すぎるプロンプトでは、特定の内容を出力するのが困難です。満足できる回答を得るには、具体的な条件を指定して回答の範囲を絞りましょう。
複数の質問が詰め込まれている
複数の質問が詰め込まれているのも、AIツールから理想の回答理想的な回答が引き出せないプロンプトの共通点です。
たとえば、次のように複数の質問を無理にまとめると関係性が複雑になりやすく、回答の精度が低くなります。
- プログラミングの将来性と魅力、これから学ぶべき言語を教えてください。
- 生成AIの将来性や活用例、利用するときの注意点を教えてください。
- 地球温暖化の影響と対応方法、関連する国際協定について教えてください。
複数の質問を詰め込むと、質問ごとの回答が浅くなりがちです。それぞれの質問には複雑な背景や多くの情報が含まれるため、1つの質問で最良の回答は出力できません。精度の高い回答を得るには、質問ごとにプロンプトをわけることをおすすめします。
回答に必要な情報を共有していない
回答に必要な情報が共有されていないことも、AIツールから理想の回答理想的な回答が引き出せないプロンプトの共通点です。
前述したとおり、精度の高い回答を出力するには、必要な事前情報を読み込ませる必要があります。参考にするテキストや画像など、具体的なデータがなければ、適切な分析や結論を導き出せません。たとえば、次のようなプロンプトでは前提条件やデータが足りず理想の回答を出力するのは難しいです。
- TOEICの点数を上げるための対策を教えてください。
- 今までにない〇〇に関するアイデアを考えてください。
TOEICの点数アップ方法を出力したい場合、現状の点数や学習履歴など分析に活用する情報を共有する必要があります。事前に情報を読み込ませることで、精度の高い回答を効率よく得られるでしょう。
生成AIのプロンプト入力でつまづいた時の対処法
ここからは、生成AIのプロンプト入力でつまづいたときの対処法を、2つにまとめて紹介します。
不足点や修正案を生成AIに聞いてみる
自分で考えてもわからないことは生成AIに聞いてみましょう。
現状のプロンプトを入力したうえで、理想の回答を得るにはどのようなプロンプトが必要か生成AIに質問しましょう。出力したい内容や含めたい情報など具体的な条件を記載すれば、理想に近いプロンプトの修正案が出力できます。
なお、出力に成功したプロンプトをテンプレートとして保存すれば、次回以降の作業が効率化できるのでおすすめです。プロンプト作成に悩んだら、生成AIをうまく活用してください。
別の生成AIを試してみる
別の生成AIに同様のプロンプトを入力すれば、求める答えが返ってくるかもしれません。
生成AIにより回答内容は異なるため、何度試しても求める回答を得られない場合は生成AIとの適合性が合わない可能性もあります。
たとえば、無料版のChatGPTは拡張機能を使わなければ最新情報が活用できません。作成したプロンプトが適切でも、最新情報を含む回答はうまく出力されない可能性があります。
理想の回答が出力できないのは、プロンプトのせいではなく生成AIとの適合性が原因かもしれません。何度試してもつまづく場合は、他の生成AIも活用してください。
なお、次の記事ではおすすめの無料生成AIを紹介していますので、あわせてご覧ください。
生成AIから理想的な回答を引き出すにはプロンプトの試行錯誤が不可欠
生成AIから理想的な回答を引き出すには、プロンプトの試行錯誤が不可欠です。
一問一答のように明確な答えがある内容であれば、1回のプロンプト入力で問題ないかもしれません。しかし、明確な回答がない分野や新しいアイデアを形にする場合、理想の回答が得られるまでプロンプトの試行錯誤が必要です。
生成AIの回答精度は、プロンプトの質に依存します。使用する情報の指定や出力条件の設定など、具体的であるほど理想の回答を得やすいです。
プロンプトを実際に入力するまで回答結果はわかりません。1度のプロンプト入力で理想の回答を得るのは難しいため、理想の回答が得られるまで試行錯誤は必要です。
プロンプトの試行錯誤が必要なのは、文章・画像生成などあらゆる生成AIに共通します。1度のプロンプト入力で理想の回答が出力できなくても、諦めず試行錯誤してください。
なお、プロンプトを試行錯誤しても思いどおりの回答が得られない場合、利用している生成AIのスペックが足りない可能性も。
利用できる情報の新しさや量、出力できる文字制限など生成AIによりスペックの上限があります。自分の求める回答が難しいスペックのツールであれば、いくらプロンプトを修正しても改善できません。プロンプトを試行錯誤しても改善できない場合、他の生成AIも検討してください。
次の記事では、プロンプトエンジニアリングについて解説しています。プロンプトの手法や学習方法が知りたい人は、あわせてご覧ください。
プロンプトの試行錯誤には言語化力が必須
プロンプトの試行錯誤には、言語化力(頭の中にある考えや気持ちを言葉にする力)が不可欠です。
あいまいな概念や自分が得たい回答をプロンプトに盛り込むには、客観的に理解できる形で言語化する力が求められます。生成AIはプロンプトの質により回答精度が決まるため、文章表現のわかりやすさや簡潔な言い回しなど言語化力が求められるのです。
とくに自分の考えを盛り込んだ回答がほしい場合、頭で考えているアイデアをどこまで言語化できるかが重要です。自分ではプロンプトに落とし込めていると考えていても、実際は客観的にわかりにくい文章であるケースも。質の高いプロンプトを作成するには、わかりやすい文章で言語化できる力が必要です。
1人で試行錯誤できるか不安な人にはスクールもおすすめ
1人でAIツールから理想の回答が引き出すプロンプトが作れるか不安な人は、プログラミングスクールでの受講を通じてプロンプトエンジニアリング(プロンプトを開発・最適化するスキル)を磨くのがおすすめです。
スクールでは、講師の手厚いサポートを受けながらスキルが習得できます。効率の良いプロンプト作成方法はもちろん、ビジネスやプログラミングに生成AIを活用するコツも学習可能です。
わからない点は講師へ質問できるため、1人ではどうしたらいいかわからない人も安心。挫折せず効率よくプロンプト作成スキルを学びたいなら、独学よりスクールが向いています。
なお、どのスクールを選ぶべきかわからない人には侍エンジニアの「業務改善AI活用コース」がおすすめです。
業務改善AI活用コースは、プログラミング未経験からChatGPTとPythonを使いこなせるDX人材が目指せるコースです。ChatGPTで使用するプロンプトの作成方法や、Pythonを活用したデータ処理・自動化技術が学べます。
座学だけでなく、タスクの自動化や議事録・報告書の作成など実践学習も充実。卒業時には、ChatGPTをビジネスやプログラミングに活用できるスキルが身につきます。
挫折しにくい仕組みも充実しており、次のように手厚いサポートを受けられます。
- 現役エンジニア講師のマンツーマンレッスン
- ニーズにあわせたオーダーメイドカリキュラム
- 回答率100%のQ&A掲示板 など
ChatGPTをビジネスやプログラミングに活用したい人や、ChatGPT向けのプロンプトエンジニアリングを学びたい人におすすめです。
侍エンジニアでは、コース選びや学習方法など質問ができる無料カウンセリングを実施していますので、お気軽にご参加ください。
公式サイトで詳細を見るまとめ
今回は、生成AIで理想的な回答を得るために必要なプロンプトについて解説しました。
生成AIの回答精度はプロンプトの質で決まります。事前に生成AIに与える情報や出力条件など、何度も試行錯誤しながら最適なプロンプトを見つけなければいけません。生成AIで希望の回答が得られないと悩んでいる人は、記事内容を参考にプロンプトを見直してください。
なお、精度の高い回答を得られるプロンプトのテンプレートが見つかれば、次回以降の作業を効率化できます。次の記事では、ChatGPTで活用できるプロンプトのテンプレートを紹介していますので、ぜひ参考にしてください。