昨今、生成AIのビジネス利用や私的利用に関しての考え方が見直されつつある中ですが、生成AIは上手く使えば非常に心強い味方となるのは変わりません。
しかし、お試しで利用しようとして「なんか違うな……」と感じた方もいるのではないかと思います。
今回は、そんな方向けに生成AIの有効な利用の仕方と併せて、プロンプトの例と「プロンプトを作る時の考え方」から「プロンプトの作り方」まで、これ一つ読めば基本が押さえられるように記事を作成しましたので、気になるところからご覧ください。
生成AIのプロンプトって、そもそも何?
生成AIのプロンプトがどういう意味を持ち、どういう理屈で動いているのか。
これを知ることで、プロンプト作成は各段に分かりやすくなります。
まずプロンプト、という言葉の意味を確認してみましょう。
Oxford Languageによるとプロンプトとは「動作をするよう促すもの」と示されます。
生成AIに「何をどうしてほしいのか」を明確に伝えることで出力結果の質を向上させ、修正を加える際にも同様に利用することで、出力結果をより適切なものにすることができます。
プロンプトの例として真っ先に思い浮かぶのは、「〇〇について教えて」などではないでしょうか。
ほかには、「次の文章を要約して」とか「〇〇をするコードを書いて」、画像生成AIなら「猫が魚をくわえて逃げているところ」などでしょうか。
生成AIはこれらのプロンプトに基づいて動作するので、これらのプロンプトを上手く書けるかどうか、で出力結果の精度に大きな差が生まれます。
これに関してはプロンプトエンジニアリングと呼ばれるほど重要視されており、一部企業では研修が存在したり、オンライン講習が開催されているほどに大切なポイントとなっています。
では、そのコツとは一体なんなのか。
それらを順番に一つずつ確認していきましょう。
対話型の生成AIに対するプロンプトの考え方とその例
まずは生成AIの中でも、ChatGPTやGeminiなどの対話型AIに焦点を当ててみましょう。
押さえておくべきポイントの一つには、最新モデルの生成AIを使用する、という点があります。
以下は最新版を利用しているという前提で記載していきますので、ご了承ください。
基本的なプロンプトの作り方
基本的に、プロンプトは以下の3つの要素で構成されています。
指示:プロンプトについて教えてください。のような最もスタンダードな形
文脈:「小学校の先生として、ChatGPTで使える」プロンプトについて教えてください。のように役割の設定、事前情報や知識を含めた条件の追加、解答例の提示など。
出力形式:小学校の先生として、ChatGPTで使えるプロンプトを「300文字程度で」教えてください。のように、出力結果をコントロールするために付加する情報。
基本のこの形を作成するときに、注意するべき点がいくつかありますのでご紹介しましょう。
あいまいな表現を避け、明確な指示にする
例えば、端的に教えてくださいという言葉。これは避けたほうがよいです。
よりよいのは、「100文字程度で教えてください」や「箇条書きで教えてください」といった例です。
なにが端的なのか、という基準が人によって異なるように、生成AIも人に近い動きをします。
ですので、あなたが何を端的と感じるのか、ということを明言してあげると、より望みに近い結果が得られるというわけですね。
推論を避けるときの表現
生成AIから得られる結果の中には、情報元があいまいなものが含まれることがあります。
実在する情報を総合して「生成AIが推測した」内容が入る、という場合もあります。
これを避けるために有効なプロンプトが、「実在している情報のみ出力してください」です。
推論をしないでください、ではないの?と思われた方もいるかもしれませんが、生成AIは「✖✖しないで」よりも「〇〇して」の方が処理するのが得意です。
この点を覚えておくことで、出力結果の信頼性が上がり、ファクトチェックの際に「実在しないじゃん!」とがっかりする可能性が少なくなるので効果的であると言えるでしょう。
背景情報を含めて、できるだけ詳しい情報を伝える
先ほどの例で考えましょう。
「小学校の先生として、ChatGPTで使えるプロンプトを300文字程度で教えてください」。
これには不足している情報がたくさんあります。
小学校の先生として、誰に説明することを要求しているのか。
使える、とは何を意味するのか。
プロンプトの例文が300文字程度なのか、それとも全文で300文字程度なのか。
どうしてその情報が欲しいのか。
こうした情報を付加していくことで、より望んでいる結果に近づくことができます。
改善したプロンプトの例はこちら。
「あなたは小学校の先生です。小学六年生の授業で、ChatGPTにカレーの作り方を教えてもらう時に使えるプロンプトの例を3つほど、合計で300文字程度で教えてください」
順番付けを利用する
こちらはプロンプトが長くなりそうなときに使えるテクニックです。
先ほどの例で引き続き考えていきましょう。
- あなたは小学校の先生です。
- 1を踏まえて、小学校六年生向けの授業で、ChatGPTにカレーの作り方を教えてもらうことになりました。
- 2の際に、例として提示できるプロンプトを3つほど、合計300文字以内で教えてください。
- 上記、1から3まで順番に実行してください。
このような形を取ることを、プロンプトの順番付けといいます。
こうした表記をすることは生成AIに意図したとおりに伝わらなかった際、「どこが誤解されているのか」が分かりやすくなって、プロンプトの更新をしてブラッシュアップを行う手間を減らしてくれます。
段階的に質問をすることで、より詳細な情報を収集できる、という効果もありますね。
もちろん、生成AIに指示が伝わりやすくなる、という効果も前提としてありますので、覚えておけるといいでしょう。
大切な情報は最初と最後に書く
これは意外と知られていないかもしれません。
同じことを二回書いても変わらないのでは?と思う方もいるでしょうが、プロンプトが文章を読んで解釈しているときに、途中で解釈を誤ることは往々にしてあります。
そこで効果的なのがこの方法。
これから書く文章を要約してください。
(例文)
以上の文章を要約してください。
このように記載することで、最初の前提の後に入力された間の例文がどれだけ長く、プロンプトが前提の指示を忘れてしまったとしても、最後に繰り返すことでプロンプトは当初の指示を思い出すことができます。
また、冒頭の指示をいれておくことで、プロンプトは「これから書かれる文章は要約をするために読めばよいのだな」という風に解釈するので、より適切な結果につながりやすくなります。
ペルソナを設定する
これは先の例でいう「小学校の先生です」にあたる部分です。
これを設定することによって、出力結果の粒度が望んだものに近くなるという効果があります。
たとえば、小学校の先生として生成AIに関して質問するのと、テクノロジー系の大学の講師に同じことを質問するのとでは得られる結果の専門性が異なるであろうことは想像がつくと思います。
それの情報粒度の調整を、生成AIにもやってもらうための方法、ということですね。
質問はオープンクエスチョンの形にする
はい、いいえ、の解答で解決する質問を、クローズドクエスチョンといいます。
オープンクエスチョンとは、それらの解答では済まない深い洞察やアイデアが必要な質問です。
「この理論は正しいですか?」と聞くよりも、「この理論についてどう思いますか?」と聞く方が、得られる情報量が多くなる、という例だとわかりやすいでしょうか。
このテクニックを利用することで、出力結果の質と情報量を向上させることができますので、覚えておけるとよいでしょう。
参考になる構文
以下の構文も参考にしてください。
プロンプト作成に使える豆知識
プロンプト作成で使える豆知識もご用意しましたので、こちらも参考にどうぞ。
生成AIを利用するうえでの注意点
プロンプトに入力してはいけないことも、もちろんあります。
個人情報や機密情報。これらを学習して別の回答に利用される、または、先に入力していた内容をハックして吸い上げるための手口も確立されつつあるので、要注意です。
気になる方は、「Direct Prompt Injection」や「Pretending」、「Attention Shifting」、「Privilege Escalation」、「Denial of Service」といった言葉と「生成AI プロンプト」といった単語を組み合わせて検索してみてください。
少々専門的な内容にはなりますが、攻撃手法が存在するということ、それがどういった手口で行われるのかを知っておくことで、セキュリティ面での利用の注意は高まること間違いなしです。
生成AIのプロンプト作成に使えるツール3選
生成AIのプロンプト作成に関して様々な例を挙げてきましたが、プロンプト作成ツールも存在します。
ご存じではない方もいるかもしれませんので、特徴と共に3つほどご紹介していきましょう。
【無料】Neural Writer
非常にシンプルなプロンプトジェネレーターです。
ChatGPTなどの「GPTベース」の生成AIで使用するプロンプトを、簡単に作成することができます。
【有料プラン有】Easy-Peasy.AI
これ自体が生成AIのサービスなのですが、プロンプトジェネレーターも提供されています。
テキストを入力して「生成」をクリックすることでプロンプトが作成でき、テンプレート利用も可能。
無料版と有料版の違いは、各種の拡張機能が利用できるかどうか、で、基本的には無料でも問題なく利用できると思われます。
【有料】Anthropic Console
プロンプトの自動作成ツールです。
[コンソールダッシュボード]から[プロンプトを作成]をクリックすることで、実行したいタスクを入力することが可能です。その後もう一度[プロンプトを作成]をクリックすることでプロンプトが作成される、という仕組みです。
このツールが他と違うのは、[変数]を指定することができる点です。
編集を入力することによって、更に完成度の高い、要求事項を満たしたプロンプトを作成することができるでしょう。
ただ、注意点としてはサービス提供が英語であることが挙げられます。
不得手な方にはつらいサイトかもしれませんね。
画像生成AIに対するプロンプトの考え方とその例
対話型AIに対するプロンプトと例に関して、今まで説明をしてきました。
続いて、画像生成AIに対してのアプローチに使える効果的な方法を挙げていきましょう。
もちろん相手にするものが同じである以上、共通する部分も多いですが、実際にImageFXで作成しながら解説していきますので、生成結果も楽しみにして頂けると嬉しいです。
基本のポイント
対話型AIの利用と同様に、基本的には「押さえておきたい必須の要素から始めて、徐々に要素を増やして仕上がりを確認しながらプロンプトを調整する」という考え方をしておくのがよいでしょう。
しかし、プロンプトが短すぎると以下の画像のようになりますので、注意も必要です。
出力された結果がリアリティのある女性の姿でしたので、少しイラストに寄せた要素を追加します。
今回は4枚目の、ヒマワリを背景にした女性のイラストからインスピレーションを得ていきましょう。
追加する要素は「鮮やかな」、「ミディアムヘア」、「ヒマワリ」、「ピースサイン」です。
作成候補が減ってしまいましたね。
一度に要素を増やしすぎたのかもしれませんが、先ほどのイラストからは変わってしまったので「レインコート」も追加しましょう。ついでに、ImageFXでは未成年に関する画像の生成に厳しめの制限がかかっていますので、「1girl」も「1woman」に変更しておきます。
再びイラストレーション調のものが現れました。この3枚めがイメージに一番近いので、これを構成する要素をピックアップします。
「背景にヒマワリ」、「黒髪」、「イラストレーション」。
これらの単語を増やしたり、変更したりした結果がこちらです。
レインコートからの推論でしょうか、雨が降ってしまいましたので、「晴れた青空」を追加してみましょう。
最初に生成された画像に近いものが生まれました!
このように、一つずつ要素を追加していって生まれたプロンプトがこちらです。
【1woman abstract Vivid, Medium Black Hair, Sunflowers in the background, Peace sign, rain coat minimal , Illustration , sunny blue sky】
以上のことから、最適なプロンプトを作っていくにあたって必要な考え方を見つけていきましょう。
プロンプトを考える前に覚えておくとよいこと
ImageFXに限りませんが、画像生成のAIは基本的に、複数人を描画することが非常に苦手です。
基本的には人物を依頼するときには複数人ではなく、単独の画像を想定することがよいでしょう。
逆に、抽象的な表現は得意です。
先ほどの「レインコートと雨」のように、推論して要素を追加してくれることもあるので、何かこう……というアイデアは言語化できないけどこういう色の何か画像が欲しいな、という時にアイデア出しとして利用するのも手ですね。
画像生成AIでのプロンプト作成のコツ
代表的なところを挙げて、本記事の結びにつなげさせていただきます。
- 指示は具体的に(被写体、視点、構図、画風、描写など)
- 基本的な要素は網羅する(背景、天気、メインの色使い、用途など)
- 形容詞や副詞の利用でイメージを伝達する
- 画像のイメージは(徐々にでも)明確に
- 強調や制約が使えるかどうかは確認し、使える場合は有効活用
先ほど一連のプロンプト作成をお見せしましたので、どれがどの段階なのかというのは想像しやすいのではないかと思います。強調に関しては{}で表現できたり、制約に関しては[]で表現できますので、使ってみたいタイミングで調べてみてください。
本記事のまとめ【生成AIのプロンプト作成は丁寧に、段階的に】
対話型AIのプロンプト作成に関するポイントはこちら。
- 推論を避けるときの表現:「実在する情報だけで教えてください」等、〇〇してください形式の方がよい
- 背景情報を含めて、できるだけ詳しい情報を伝える:AIから得られる出力結果の粒度をコントロールする
- 順番付けを利用する:プロンプトが長くなりそうな際には、番号を振って箇条書きにしてもよい
- 大切な情報は最初と最後に書く:AIがテキストの中ごろで誤読することを防ぐ
- ペルソナを設定する:出力結果の詳細さ、精密さの程度をコントロールする
- 質問はオープンクエスチョンの形にする:はい、いいえで解決する質問は避けたほうがよい
生成AIのプロンプト作成には、専用に使えるツールもあります。
こちらの例も提示しましたので、ご興味があれば。
画像生成AIのプロンプト作成に関するポイントはこちら。
- 指示は具体的に(被写体、視点、構図、画風、描写など)
- 基本的な要素は網羅する(背景、天気、メインの色使い、用途など)
- 形容詞や副詞の利用でイメージを伝達する
- 画像のイメージは(徐々にでも)明確に
- 強調や制約が使えるかどうかは確認し、使える場合は有効活用
それでは、本日の記事はここまでとさせていただきます。
生成AIのプロンプトを作成する際に、欲しい結果が出ない……と悩んでいた方のお助けになれば幸いです。