- プロンプトエンジニアリングの基礎が学べる
- ChatGPTを使いこなすコツが学べる
ChatGPTの登場でAIがとても身近な存在になってきましたが、皆さんはこれらAIを思い通りに使いこなせているでしょうか。本記事ではChatGPTなどのLLMを利用する際に効果的なプロンプトを作成するコツをご紹介していきます。
AIと人間の架け橋、プロンプトエンジニアリング
皆さんはChatGPTのようなAIに話しかけたことはありますか?
実は、AIは私たちの質問に答えてくれたり、文章を作成してくれたりと、様々なことができるようになっています。
しかし、AIからより良い答えを引き出すためには、どのように質問するかが非常に重要です。この「どのように質問するか」を考える技術を、プロンプトエンジニアリングといいます。
なぜプロンプトエンジニアリングが重要なの?
プロンプトエンジニアリングって、料理のレシピみたいなもの
プロンプトエンジニアリングを料理に例えてみましょう。たとえると、AIは料理の腕前がずば抜けたシェフのようなものです。
どんな料理でも作れますが、どんな料理を作るかは、私たちが渡すレシピ(=プロンプト)によって決まります。
レシピが曖昧だと、出来上がりもバラバラ
「何か美味しいものを作って」というレシピでは、シェフも何を作りたいのか分かりませんよね。
レシピが具体的だと、期待通りのものができる
「トマトソースのパスタで、バジルをたっぷりかけて、麺はアルデンテで」というレシピなら、シェフはほぼ間違いなく、私たちが食べたいパスタを作ってくれます。
プロンプトエンジニアリングが重要な3つの理由
- AIの能力を最大限に引き出す:
- 料理の例: 上質な食材を揃えても、レシピが下手だとせっかくの食材がもったいないですよね。
- AIの例: どんなに賢いAIでも、適切な指示(プロンプト)がなければ、その能力を発揮できません。
- 自分の欲しい答えを正確に得る:
- 料理の例: 「パスタ」とだけ頼んでも、食べたいパスタが来るとは限りません。
- AIの例: 「東京の観光スポットを教えて」と漠然と聞くよりも、「東京で1日で楽しめる、子連れでも楽しめる観光スポットを3つ教えて」と具体的に聞けば、より自分に合った情報を得られます。
- 新しい発見や創造性を生み出す:
- 料理の例: 普段食べない食材や調味料を使うことで、新しい味の発見につながります。
- AIの例: 「猫と宇宙飛行士がコラボした絵を描いて」といったユニークなプロンプトで、今まで見たことのないような画像を生み出すことができます。
このように、AIを思い通りに使いこなすためにはプロンプトがとても重要です。次項から実際にプロンプトをどのように作成すればいいか解説していきます。
プロンプトエンジニアリングの基本
プロンプトの構成要素
プロンプトを効果的に書くには、4つの要素を意識する必要があります。
指示:AIに何をしてもらいたいのか、できるだけ具体的に指示しましょう。
- 「面白い話をして」よりも「SF世界のロボットが主人公の短編小説を書いて」
- 「料理のレシピを教えて」よりも「鶏肉を使ったヘルシーなランチメニューを3つ教えて」
文脈:指示をより具体的にするために、背景や状況を説明します。
- 「江戸時代を舞台にした物語」
- 「プログラミング初心者向け」
- 「子ども向けの絵本」
入力データ:AIに与える情報です。テキストだけでなく、画像や音声なども利用できます。
- 翻訳したい文章
- 画像生成のベースとなる画像
- 音声ファイル
出力形式:AIから得たい結果の形式を指定します。
- 箇条書き
- 文章
- 表
- コード
- 画像
以上の要素を踏まえて、「猫がピアノを弾いている画像を作ってください」というプロンプトを例に考えてみましょう。
「猫がピアノを弾いている画像を作ってください」というプロンプトの構成要素は?
指示: 画像を作る
文脈: 猫、ピアノ
入力データ: なし(AIが自由に想像)
出力形式: 画像
これらの要素を理解することで、プロンプトに何が足りていないかが分かり、より効果的にAIに指示を出せるようになるでしょう。
プロンプト設計の考え方
前提として、プロンプト設計は最適な結果を得るために何度も反復する必要があります。
そのため、より優れた結果を得るためには、まずはシンプルなプロンプトから始めて徐々に構成要素を加えていくとよいでしょう。
「複雑なタスクはシンプルなタスクに分ける」ことを念頭に置いておくことが大切です。
効果的なプロンプト作成のコツ
具体的な指示をする
AIに何をしてほしいのかを、できるだけ具体的に指示することが大切です。抽象的な言葉ではなく具体的な言葉を使うことで、AIはより正確な回答を生成できます。
抽象的な指示: 「面白い話をして」
具体的な指示: 「SF世界のロボットが主人公の短編小説を書いて」
役割を与える
AIに特定の役割を与えることで、より個性的で優れた回答を引き出すことができます。
歴史の先生: 「あなたは歴史の先生です。江戸時代の庶民の生活について説明してください。」
探偵: 「あなたは名探偵です。この事件の犯人を推理してください。」
詩人: 「あなたは詩人です。春の風景をテーマにした詩を作ってください。」
文脈を与える
AIに与える情報が多いほど、より適切な回答が得られます。
例えば、背景情報や状況を具体的に説明することで、AIはより深い理解に基づいた回答を生成できます。
プログラミング: 「私はプログラミング初心者です。Pythonで簡単な計算プログラムを作りたいのですが、どのようにすれば良いですか?」
旅行: 「来週、東京に旅行に行く予定です。おすすめの観光スポットを教えてください。特に、歴史的な建物に興味があります。」
例示する
具体的な例を提示することで、AIはあなたの聞きたいことをより正確に把握し、それに沿った回答を生成します。
料理: 「美味しいパスタのレシピを教えてほしい。特にトマトソースのパスタが好きです。」
デザイン: 「シンプルでモダンなロゴデザインを作ってほしい。色は青と白を基調にして。」
以上で学んだ内容を基にプロンプトを作成することで、欲しかった回答を的確に得られるでしょう。
ただし、重要なのは欲しかった回答を得ることであり、あくまでプロンプトエンジニアリングは手段です。
プロンプトを全て自分で考えるのではなく、ときにはAIにプロンプトを作成させるといった手段の方が有効の場合もあるため、試行錯誤することが大切です。
プロンプトエンジニアリングをさらに学ぼう
当メディアでは、プロンプトエンジニアリングを活用して生活の質が上がるような記事を投稿しています。詳しくはAIを使ってみるからご覧ください。
また、さらに応用を学びたい方はプロンプトエンジニアリングの基礎から研究結果なども言及している「prompt engineering guide」というサイトがとてもおすすめです。
他にも、LLMの研究者はX(旧ツイッター)で情報発信している人も多いので、そちらを利用するのも良いと思います。
さいごに、優れたプロンプトは以下のリンク先から販売することもできます。
この機にプロンプトエンジニアリングに興味をもっていただけると嬉しい限りです。