大規模言語モデル(LLM)の台頭により、人間とコンピュータのインタラクションに画期的な可能性がもたらされました。ただし、このような強力な AI モデルの可能性を最大限に引き出すには、プロンプト エンジニアリングという重要なスキルが必要です。急成長しているこの分野は、LLM の機能を解き放つ効果的なプロンプトの作成に重点を置いています。これにより、LLM が意図を理解し、指示に従い、望ましい出力を生成できるようになります。さまざまなアプリケーションで AI と関わることが増えるにつれ、プロンプト エンジニアリングは、正確で関連性が高く安全なやり取りを保証するうえで重要な役割を果たしています。
プロンプト エンジニアリングとは、AI モデル(特に LLM)が望ましい回答を生成するようにプロンプトを設計、最適化するための技術であり、科学的な手法です。プロンプトを慎重に作成することで、コンテキスト、指示、例をモデルに提供し、モデルが意図を理解して有意義な方法で応答できるようにします。これは AI のロードマップを提供し、自分が念頭に置いている特定の出力に AI を導くためのものと考えてください。
プロンプト設計について詳しく学び、その用途を理解するには、Google Cloud のプロンプト設計の概要をご覧ください。
LLM とプロンプト エンジニアリングを直接試してみる準備はできましたか?Vertex AI の無料トライアルで、このテクノロジーの力を体験してみてください。
AI のコンテキストでは、プロンプトとは、特定の回答を引き出すためにモデルに与える入力のことです。簡単な質問やキーワードから、複雑な手順、コード スニペット、さらにはクリエイティブな文章のサンプルまで、さまざまな形式を取ります。プロンプトの効果は、AI の出力の品質と関連性に直接影響します。
効果的なプロンプト エンジニアリングにはいくつかの重要な要素があります。これらを習得することで、AI モデルと効果的にコミュニケーションを取り、AI モデルの可能性を最大限に引き出すことができます。
プロンプトの構造とスタイルは、AI の回答を導くうえで重要な役割を果たします。一部のモデルは、次のような特定の形式に対してより適切に回答します。
プロンプトの形式は、AI によるリクエストの解釈において大きな役割を果たします。自然言語での質問、直接コマンド、特定のフィールドを持つ構造化入力などの特定の形式に対して、一部のモデルはより適切に回答します。効果的なプロンプトを作成するには、モデルの機能と使用する形式を理解することが不可欠です。
コンテキストと関連する例をプロンプトに含めることで、AI が目的のタスクを理解し、より正確で関連性の高い出力を生成できます。たとえば、クリエイティブなストーリーを探している場合、目的とするトーンやテーマを説明する数行を含めることで結果を大幅に改善できます。
カスタマイズされたプロンプトを使用して特定のタスクや領域で AI モデルをファインチューニングすることで、パフォーマンスを向上させることができます。さらに、ユーザーのフィードバックやモデル出力に基づいてプロンプトを適応させることで、モデルのレスポンスを時間の経過とともにさらに改善できます。
マルチターンの会話用のプロンプトを設計することで、ユーザーはコンテキスト アウェアで継続的に AI モデルとやり取りできるようになり、全体的なユーザー エクスペリエンスが向上します。
AI で使用されるプロンプトにはさまざまな種類があり、それぞれが特定の目的を果たします。
ゼロショット プロンプトでは、コンテキストや例を追加することなく、モデルに直接指示や質問をします。
その一例がアイデアの創出です。ここでは、クリエイティブなアイデアやブレインストーミング ソリューションを生成するようにモデルに対して指示します。もう一つの例として要約または翻訳があります。ここでは、モデルにコンテンツを要約または翻訳するように指示します。
この方法では、実際のプロンプトを提示する前に、目的の入出力ペアの 1 つ以上の例をモデルに提供します。これにより、モデルはタスクをより深く理解し、より正確な回答を生成できます。
CoT プロンプトは、モデルが複雑な推論を一連の中間ステップに分解することを奨励し、より包括的で適切に構成された最終出力へと導きます。
推論ステップを実行するようにモデルに指示することで、チェーン オブ ソート プロンプトとゼロショット プロンプトを組み合わせます。多くの場合、出力が向上する可能性があります。
プロンプト エンジニアリングで、カスタマイズされた関連性の高い出力を生成する仕組みの具体例とユースケースを紹介します。
シナリオ | 質問の例 | |
創作文 | ジャンル、トーン、スタイル、あらすじのポイントを指定するプロンプトを作成し、AI が魅力的なストーリーを生成できるようにガイドします。 | 「屋根裏で魔法のポータルを見つけた若い女性についての短編小説を書いてください。」 |
要約 | AI にテキストを提供し、重要な情報を取り込む簡潔な要約を生成するように指示します。 | 「気候変動に関する次のニュース記事の要点を要約してください。」 |
翻訳 | ソース言語とターゲット言語を指定して、AI が意味とコンテキストを維持しながらテキストを正確に翻訳できるようにします。 | 「次のテキストを英語からスペイン語に翻訳して: 「クイック ブラウン キツネが怠け者犬を飛び越える。」 |
対話 | 会話をシミュレートするプロンプトを設計し、人間のやり取りを模倣してコンテキストを維持する回答を AI が生成できるようにします。 | 「あなたはフレンドリーな chatbot で、ユーザーのコンピュータに関する問題のトラブルシューティングをサポートします。「パソコンの電源が入らない」というお客様の質問に応答します。」 |
シナリオ
質問の例
創作文
ジャンル、トーン、スタイル、あらすじのポイントを指定するプロンプトを作成し、AI が魅力的なストーリーを生成できるようにガイドします。
「屋根裏で魔法のポータルを見つけた若い女性についての短編小説を書いてください。」
要約
AI にテキストを提供し、重要な情報を取り込む簡潔な要約を生成するように指示します。
「気候変動に関する次のニュース記事の要点を要約してください。」
翻訳
ソース言語とターゲット言語を指定して、AI が意味とコンテキストを維持しながらテキストを正確に翻訳できるようにします。
「次のテキストを英語からスペイン語に翻訳して: 「クイック ブラウン キツネが怠け者犬を飛び越える。」
対話
会話をシミュレートするプロンプトを設計し、人間のやり取りを模倣してコンテキストを維持する回答を AI が生成できるようにします。
「あなたはフレンドリーな chatbot で、ユーザーのコンピュータに関する問題のトラブルシューティングをサポートします。「パソコンの電源が入らない」というお客様の質問に応答します。」
シナリオ | 手順 | 質問の例 |
自由回答形式問題 | AI がナレッジベースに基づいて包括的で有益な回答を提供できるようにするプロンプトを作成します。 | 「量子コンピューティングの概念と、量子コンピューティングがテクノロジーの未来に及ぼす潜在的な影響について説明する。」 |
具体的な質問 | 特定の情報を対象とするプロンプトを設計し、提供されるコンテキストや内部ナレッジベースから AI が正確な回答を取得できるようにします。 | 「フランスの首都はどこ?」または「提供されたテキストによると、森林破壊の主な原因は何ですか?」 |
多肢選択式の質問 | プロンプトに選択肢を提示し、AI がコンテキストの理解に基づいて最も適切な回答を分析して選択するように促します。 | 「ハリー ポッター シリーズの作者は?A)JRR トールキン、B)JK ローリング、C)スティーブン キング」 |
仮定の質問 | 仮定の状況を探るプロンプトを作成し、AI が推論、推測、潜在的な結果や解決策を提供できるようにします。 | 「人間が光の速さで移動できたらどうなるだろう?」 |
意見に基づく質問 | 特定のトピックに関する AI の視点や意見を引き出すプロンプトを設計し、AI のスタンスに根拠と正当性を与えるように促します。 | 「人工知能がやがて人間の知能を超えると思いますか?裏付けられた理由、または裏付けられなかった理由」を尋ねます。 |
シナリオ
手順
質問の例
自由回答形式問題
AI がナレッジベースに基づいて包括的で有益な回答を提供できるようにするプロンプトを作成します。
「量子コンピューティングの概念と、量子コンピューティングがテクノロジーの未来に及ぼす潜在的な影響について説明する。」
具体的な質問
特定の情報を対象とするプロンプトを設計し、提供されるコンテキストや内部ナレッジベースから AI が正確な回答を取得できるようにします。
「フランスの首都はどこ?」または「提供されたテキストによると、森林破壊の主な原因は何ですか?」
多肢選択式の質問
プロンプトに選択肢を提示し、AI がコンテキストの理解に基づいて最も適切な回答を分析して選択するように促します。
「ハリー ポッター シリーズの作者は?A)JRR トールキン、B)JK ローリング、C)スティーブン キング」
仮定の質問
仮定の状況を探るプロンプトを作成し、AI が推論、推測、潜在的な結果や解決策を提供できるようにします。
「人間が光の速さで移動できたらどうなるだろう?」
意見に基づく質問
特定のトピックに関する AI の視点や意見を引き出すプロンプトを設計し、AI のスタンスに根拠と正当性を与えるように促します。
「人工知能がやがて人間の知能を超えると思いますか?裏付けられた理由、または裏付けられなかった理由」を尋ねます。
シナリオ | 手順 | 質問の例 |
コード補完 | 部分的なコード スニペットを AI に提供し、コンテキストとプログラミング言語に基づいて残りのコードを提案または補完するように指示します。 | 「指定された数値の階乗を計算する Python 関数を作成します。」 |
コード変換 | ソースとターゲットのプログラミング言語を指定して、機能と構文を維持しながら AI がコードを変換できるようにします。 | 「次の Python コードを JavaScript に変換: def greet(name): print('Hello,', name)」 |
コードの最適化 | 既存のコードを分析して、効率、読みやすさ、パフォーマンスの改善案を提案するように AI に指示します。 | 「次の Python コードを最適化して実行時間を短縮します。」 |
コードのデバッグ | エラーを含むコードを AI に提供し、特定された問題に対して考えられる解決策を特定して提案するように指示します。 | 「次の Java コードをデバッグし、NullPointerException がスローされる理由を説明してください。」
|
シナリオ
手順
質問の例
コード補完
部分的なコード スニペットを AI に提供し、コンテキストとプログラミング言語に基づいて残りのコードを提案または補完するように指示します。
「指定された数値の階乗を計算する Python 関数を作成します。」
コード変換
ソースとターゲットのプログラミング言語を指定して、機能と構文を維持しながら AI がコードを変換できるようにします。
「次の Python コードを JavaScript に変換: def greet(name): print('Hello,', name)」
コードの最適化
既存のコードを分析して、効率、読みやすさ、パフォーマンスの改善案を提案するように AI に指示します。
「次の Python コードを最適化して実行時間を短縮します。」
コードのデバッグ
エラーを含むコードを AI に提供し、特定された問題に対して考えられる解決策を特定して提案するように指示します。
「次の Java コードをデバッグし、NullPointerException がスローされる理由を説明してください。」
シナリオ | 手順 | 質問の例 |
フォトリアリスティックな画像 | リアルで高画質な画像を生成するため、被写体、風景、照明、スタイルなど、目的の画像を詳細に記述するプロンプトを作成します。 | 「海に沈む夕日と、空を背景にしたヤシの木のシルエットの高画質な画像」 |
芸術的な画像 | 特定の芸術運動を模倣したり、特定の感情を呼び起したりする画像を AI が作成できるように、アートスタイル、技法、題材を指定してプロンプトを設計します。 | 「雨の日に傘をさして歩く人々を描いたにぎやかな大通りの印象派の絵画。」 |
抽象的な画像 | 形、色、質感を利用して感情やコンセプトを想起させ、解釈しやすい画像を生成するように AI に促すプロンプトを作成します。 | 「明るい色と流れるような図形を使って、希望のコンセプトを表す抽象的な画像。」 |
画像編集 | 既存の画像を AI に与え、必要な変更を指定して、AI が与えられた指示に従って画像を編集、補正できるようにします。 | 「この写真の背景を星空の夜空に変更し、満月を追加します」または「この画像から人物を削除して、猫と置き換えます」。 |
シナリオ
手順
質問の例
フォトリアリスティックな画像
リアルで高画質な画像を生成するため、被写体、風景、照明、スタイルなど、目的の画像を詳細に記述するプロンプトを作成します。
「海に沈む夕日と、空を背景にしたヤシの木のシルエットの高画質な画像」
芸術的な画像
特定の芸術運動を模倣したり、特定の感情を呼び起したりする画像を AI が作成できるように、アートスタイル、技法、題材を指定してプロンプトを設計します。
「雨の日に傘をさして歩く人々を描いたにぎやかな大通りの印象派の絵画。」
抽象的な画像
形、色、質感を利用して感情やコンセプトを想起させ、解釈しやすい画像を生成するように AI に促すプロンプトを作成します。
「明るい色と流れるような図形を使って、希望のコンセプトを表す抽象的な画像。」
画像編集
既存の画像を AI に与え、必要な変更を指定して、AI が与えられた指示に従って画像を編集、補正できるようにします。
「この写真の背景を星空の夜空に変更し、満月を追加します」または「この画像から人物を削除して、猫と置き換えます」。
効果的なプロンプトを開発するには、戦略的アプローチが必要です。プロンプト エンジニアリングのスキルを向上させるには、次の戦略を検討してください。
戦術 | プロンプトの例 |
動作動詞を使用して目的の動作を指定する | 「添付された研究論文の主な調査結果を要約した箇条書きリストを作成してください」 |
出力に必要な長さと形式を定義する | 「気候変動が沿岸地域のコミュニティに与える影響について 500 ワードのエッセイを書いてください。」 |
対象グループを指定する | 「オーガニック スキンケア製品の新シリーズの製品説明を書いてください。サステナビリティに関心を持つ若者をターゲットにしてください。」 |
戦術
プロンプトの例
動作動詞を使用して目的の動作を指定する
「添付された研究論文の主な調査結果を要約した箇条書きリストを作成してください」
出力に必要な長さと形式を定義する
「気候変動が沿岸地域のコミュニティに与える影響について 500 ワードのエッセイを書いてください。」
対象グループを指定する
「オーガニック スキンケア製品の新シリーズの製品説明を書いてください。サステナビリティに関心を持つ若者をターゲットにしてください。」
戦術 | プロンプトの例 |
関連する事実とデータを含める | 「産業革命以前から世界の気温が摂氏 1 度上昇したことを前提に、海面上昇がもたらす影響について議論してください。」 |
特定のソースまたはドキュメントを参照する | 「添付の財務報告書に基づいて、過去 5 年間の会社の収益性を分析してください。」 |
主な用語と概念を定義する | 「量子コンピューティングの概念を、技術に詳しくない方にもわかりやすい言葉で説明してください。」 |
戦術
プロンプトの例
関連する事実とデータを含める
「産業革命以前から世界の気温が摂氏 1 度上昇したことを前提に、海面上昇がもたらす影響について議論してください。」
特定のソースまたはドキュメントを参照する
「添付の財務報告書に基づいて、過去 5 年間の会社の収益性を分析してください。」
主な用語と概念を定義する
「量子コンピューティングの概念を、技術に詳しくない方にもわかりやすい言葉で説明してください。」
戦術 | プロンプトの例 |
目的の入出力ペアの例をいくつか挙げる | 入力: 「ネコ」 出力: 「ひげを持つ小さな毛皮の哺乳類。」入力: 「犬」 出力: 「忠誠心があることで知られる家畜化された犬。」 プロンプト: 「象」 |
望ましいスタイルやトーンを示す | 例 1(ユーモア): 「政治家のスピーチはとても退屈だったので、不眠を治せるかもしれない。」例 2(フォーマル): 「高官が有益で魅力的な演説をした。」プロンプト: 「コメディアンのスタンドアップ ルーティンについて説明する。」 |
目的の詳細レベルを表示する | 例 1(簡潔): 「この映画は、宇宙人と友だちになる少年を描いたものです。」例 2(詳細): 「この SF 映画は、孤独な少年エリオットの物語を追っています。エリオットは地球に足止めされた地球外生命体を発見し、特別な絆を結びます。」プロンプト: 「読み終えた小説のあらすじを要約する。」 |
戦術
プロンプトの例
目的の入出力ペアの例をいくつか挙げる
入力: 「ネコ」 出力: 「ひげを持つ小さな毛皮の哺乳類。」入力: 「犬」 出力: 「忠誠心があることで知られる家畜化された犬。」 プロンプト: 「象」
望ましいスタイルやトーンを示す
例 1(ユーモア): 「政治家のスピーチはとても退屈だったので、不眠を治せるかもしれない。」例 2(フォーマル): 「高官が有益で魅力的な演説をした。」プロンプト: 「コメディアンのスタンドアップ ルーティンについて説明する。」
目的の詳細レベルを表示する
例 1(簡潔): 「この映画は、宇宙人と友だちになる少年を描いたものです。」例 2(詳細): 「この SF 映画は、孤独な少年エリオットの物語を追っています。エリオットは地球に足止めされた地球外生命体を発見し、特別な絆を結びます。」プロンプト: 「読み終えた小説のあらすじを要約する。」
戦術 | プロンプトの例 |
正確な表現を使用し、曖昧さを避ける | 「気候変動について何か書く」の代わりに「より厳格な二酸化炭素排出規制の導入を主張する説得力のあるエッセイを書いてください。」を使用します。 |
可能な限りリクエストを数値化する | 「長い詩を書いてください」の代わりに「愛と喪失のテーマを探求する 14 行のソネットを書いてください。」を使用します。 |
複雑なタスクを小さなステップに分割する | 「マーケティング計画を作成する」の代わりに「1. ターゲット ユーザーを特定する。2. 重要なマーケティング メッセージを作成する。3. 適切なマーケティング チャネルを選択する。」を使用します。 |
戦術
プロンプトの例
正確な表現を使用し、曖昧さを避ける
「気候変動について何か書く」の代わりに「より厳格な二酸化炭素排出規制の導入を主張する説得力のあるエッセイを書いてください。」を使用します。
可能な限りリクエストを数値化する
「長い詩を書いてください」の代わりに「愛と喪失のテーマを探求する 14 行のソネットを書いてください。」を使用します。
複雑なタスクを小さなステップに分割する
「マーケティング計画を作成する」の代わりに「1. ターゲット ユーザーを特定する。2. 重要なマーケティング メッセージを作成する。3. 適切なマーケティング チャネルを選択する。」を使用します。
戦術 | 操作 |
別の言い回しやキーワードを試す | 類義語や別の文構造を使用してプロンプトを言い換えます。 |
詳細さと具体性の度合いを調整する | 情報を追加または削除して、出力を微調整します。 |
さまざまなプロンプトの長さをテストする | 短いプロンプトと長いプロンプトの両方を試して、最適なバランスを見つけてください。 |
戦術
操作
別の言い回しやキーワードを試す
類義語や別の文構造を使用してプロンプトを言い換えます。
詳細さと具体性の度合いを調整する
情報を追加または削除して、出力を微調整します。
さまざまなプロンプトの長さをテストする
短いプロンプトと長いプロンプトの両方を試して、最適なバランスを見つけてください。
戦術 | プロンプトの例 |
段階的な推論を奨励する | 「この問題を段階的に解決してください。ジョンはリンゴを 5 個持っていて、そのうちの 2 個を食べます。リンゴはいくつ残りますか。 ステップ 1: ジョンのリンゴは 5 個のリンゴが 5 個あるところからスタートします。ステップ 2: リンゴを 2 個食べたので、5 から 2 を引きます。ステップ 3: 5 - 2 = 3. 解答: ジョンの手元にあるリンゴは 3 個です。」 |
モデルに推論プロセスを説明させる | 「この映画のレビューの感情を判断する際の思考プロセスについて説明してください。「演技は素晴らしいのですが、プロットは予測可能でした」。」 |
論理的な思考の流れを通じてモデルをガイドする | 「このメールを迷惑メールまたは迷惑メールではないと分類するには、次の点をご確認ください。1. 知っている送信者ですか?2. 件名に不審なキーワードが含まれていませんか?3. メールの内容はうますぎる話ではありませんか?」 |
戦術
プロンプトの例
段階的な推論を奨励する
「この問題を段階的に解決してください。ジョンはリンゴを 5 個持っていて、そのうちの 2 個を食べます。リンゴはいくつ残りますか。 ステップ 1: ジョンのリンゴは 5 個のリンゴが 5 個あるところからスタートします。ステップ 2: リンゴを 2 個食べたので、5 から 2 を引きます。ステップ 3: 5 - 2 = 3. 解答: ジョンの手元にあるリンゴは 3 個です。」
モデルに推論プロセスを説明させる
「この映画のレビューの感情を判断する際の思考プロセスについて説明してください。「演技は素晴らしいのですが、プロットは予測可能でした」。」
論理的な思考の流れを通じてモデルをガイドする
「このメールを迷惑メールまたは迷惑メールではないと分類するには、次の点をご確認ください。1. 知っている送信者ですか?2. 件名に不審なキーワードが含まれていませんか?3. メールの内容はうますぎる話ではありませんか?」
プロンプト エンジニアリングのベスト プラクティスについて詳しくは、Google Cloud のプロンプト エンジニアリングの 5 つのベスト プラクティスをご覧ください。
効果的なプロンプト エンジニアリングには多くの利点があり、AI モデルの機能とユーザビリティが向上します。
プロンプトを適切に作成することで、明確な指示とコンテキストが得られるため、AI モデルからより正確で関連性が高く、有益な出力が得られます。
プロンプト エンジニアリングは、入力を慎重に制御し、AI の焦点を導くことで、バイアスを軽減し、不適切なコンテンツまたは不適切なコンテンツが生成されるリスクを最小限に抑えるのに役立ちます。
プロンプト エンジニアリングにより、AI の動作に影響を与え、期待する結果に沿った一貫性のある予測可能なレスポンスを確保できます。
明確で簡潔なプロンプトにより、ユーザーは AI モデルを効果的に操作しやすくなり、より直感的で満足のいくエクスペリエンスにつながります。
Google Cloud または生成 AI を初めて利用する方は、新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。