大規模言語モデル(LLM)の台頭により、人間とコンピュータのインタラクションに画期的な可能性がもたらされました。ただし、このような優れた AI モデルの可能性を最大限に活用するには、プロンプト エンジニアリングという重要なスキルが必要です。急成長しているこの分野は、LLM の機能を解き放つ効果的なプロンプトを作成することに重点を置いています。これにより、LLM が意図を理解し、指示に従い、望ましい出力を生成できるようになります。さまざまなアプリケーションで AI と関わる機会が増えるにつれ、プロンプト エンジニアリングは、正確で関連性が高く、安全なやり取りを保証するうえで重要な役割を果たしています。
プロンプト エンジニアリングとは、AI モデル、特に LLM が望ましい回答を生成するようにプロンプトを設計し、最適化するための技術であり、科学的な手法です。プロンプトを慎重に作成することで、コンテキスト、指示、例をモデルに提供することで、モデルが意図を理解し、意味のある方法で応答できるようになります。これは AI のロードマップを提供し、自分が念頭に置いている特定のアウトプットに導くためのものと考えてください。
プロンプト設計の世界と、そのアプリケーションについて深く掘り下げ、そのアプリケーションを理解するには、Google Cloud のプロンプト設計の概要をご覧ください。
LLM とプロンプト エンジニアリングを直接試してみる準備はできましたか? Vertex AI の無料トライアルで、このテクノロジーのパワーを体験してみてください。
AI のコンテキストにおいて、プロンプトとは、特定のレスポンスを引き出すためにモデルに与える入力のことです。これは、単純な質問やキーワードから、複雑な手順、コード スニペット、さらにはクリエイティブな文章のサンプルまで、さまざまな形を取ります。プロンプトの効果は、AI の出力の品質と関連性に直接影響します。
効果的なプロンプト エンジニアリングにはいくつかの重要な要素があります。これらを習得することで、AI モデルと効果的にコミュニケーションを取り、AI モデルの可能性を最大限に引き出すことができます。
プロンプトの構造とスタイルは、AI の回答を導くうえで重要な役割を果たします。次のような特定の形式のほうが、モデルによって適切に反応することがあります。
プロンプトの形式は、AI がリクエストを解釈する方法に大きな役割を果たします。自然言語での質問、直接コマンド、特定のフィールドを持つ構造化入力など、特定の形式への応答がモデルごとに異なる場合があります。効果的なプロンプトを作成するには、モデルの機能と使用する形式を理解することが不可欠です。
コンテキストと関連する例をプロンプトに含めることで、AI が目的のタスクを理解し、より正確で関連性の高い出力を生成できます。たとえば、クリエイティブなストーリーを探している場合、目的とするトーンやテーマを説明する数行を含めることで結果を大幅に改善できます。
カスタマイズされたプロンプトを使用して特定のタスクや領域で AI モデルをファインチューニングすることで、パフォーマンスを向上させることができます。さらに、ユーザーのフィードバックやモデル出力に基づいてプロンプトを適応させることで、モデルのレスポンスを時間の経過とともにさらに改善できます。
マルチターンの会話用のプロンプトを設計することで、ユーザーはコンテキスト アウェアで継続的に AI モデルとやり取りできるようになり、全体的なユーザー エクスペリエンスが向上します。
AI で使用されるプロンプトにはさまざまな種類があり、それぞれが特定の目的を果たします。
ゼロショット プロンプトでは、コンテキストや例を追加することなく、モデルに直接指示や質問を提供します。
この一例がアイデアの生成です。ここでは、クリエイティブなアイデアやブレインストーミングのソリューションを生成するようモデルに促します。別の例として、要約(翻訳)があります。これは、モデルにコンテンツの要約または翻訳を依頼します。
この方法では、実際のプロンプトを提示する前に、目的の入出力ペアの 1 つ以上の例をモデルに提供します。これにより、モデルはタスクをより深く理解し、より正確な回答を生成できます。
CoT プロンプトは、モデルが複雑な推論を一連の中間ステップに分解することを奨励し、より包括的で適切に構成された最終出力へと導きます。
推論ステップを実行するようにモデルに指示することで、チェーン オブ ソート プロンプトとゼロショット プロンプトを組み合わせます。多くの場合、出力が向上する可能性があります。
プロンプト エンジニアリングで、カスタマイズされた関連性の高い出力を生成する仕組みの具体例とユースケースを紹介します。
シナリオ |
手順 |
質問の例 |
創作文 |
ジャンル、トーン、スタイル、あらすじのポイントを指定するプロンプトを作成し、AI が魅力的なストーリーを生成できるようにガイドします。 |
「屋根裏で魔法のポータルを見つけた若い女性を描いた短編小説を書いてください。」 |
要約 |
AI にテキストを提供し、重要な情報を取り込む簡潔な要約を生成するように指示します。 |
「気候変動に関する次のニュース記事の要点を要約して」 |
Translation |
AI が意味とコンテキストを保持しながらテキストを正確に翻訳できるように、ソース言語とターゲット言語を指定します。 |
「次のテキストを英語からスペイン語に翻訳して: 「クイック ブラウン キツネが怠け者犬を飛び越える。」 |
対話 |
会話をシミュレートするプロンプトを設計し、AI が人間のやり取りを模倣し、コンテキストを維持する回答を生成できるようにします。 |
「あなたはフレンドリーな chatbot で、ユーザーのコンピュータの問題をトラブルシューティングするお手伝いをしています。「パソコンの電源が入らない」というお客様の質問に応答します。」 |
シナリオ |
手順 |
質問の例 |
自由回答形式問題 |
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 が作成できるよう、アートスタイル、テクニック、題材を指定したプロンプトを設計します。 |
「雨の中をパラソルの下を歩く人々を描いたにぎやかな街路の印象派の絵画。」 |
抽象的な画像 |
形、色、質感を利用して感情やコンセプトを想起させ、解釈しやすい画像を生成するよう AI に促すプロンプトを作成します。 |
「明るい色と流れるような形を使用して、希望のコンセプトを表す抽象的な画像。」 |
画像編集 |
AI に既存の画像を与え、希望する変更を指定して、AI が与えられた指示に従って画像の編集や補正を行えるようにします。 |
「この写真の背景を星空の夜空に変更し、満月を追加します」または「この画像から人物を削除して、猫と置き換えます」。 |
効果的なプロンプトを開発するには、戦略的アプローチが必要です。プロンプト エンジニアリングのスキルを向上させるには、次の戦略を検討してください。
戦術 |
プロンプトの例 |
行動動詞を使って目的の行動を指定する |
「添付された研究論文の主な調査結果を要約した箇条書きリストを作成してください」 |
出力の望ましい長さと形式を定義する |
「気候変動が沿岸地域コミュニティに与える影響について議論する 500 ワードのエッセイを書いてください。」 |
対象グループを指定する |
「サステナビリティに関心を持つ若者をターゲットに、オーガニック スキンケア製品の新シリーズの製品説明を書いてください。」 |
戦術 |
プロンプトの例 |
関連する事実やデータを含める |
「産業革命以前から世界の気温が摂氏 1 度上昇したことを前提に、海面上昇がもたらす影響について議論する。」 |
特定のソースまたはドキュメントを参照する |
「添付の財務報告書に基づいて、過去 5 年間の会社の収益性を分析してください。」 |
主な用語と概念の定義 |
「量子コンピューティングの概念を技術に詳しくない方にもわかりやすい言葉で説明してください。」 |
戦術 |
プロンプトの例 |
目的の入出力ペアの例をいくつか挙げる |
入力: 「ネコ」 出力: 「ひげを持つ小さな毛皮の哺乳類。」 入力: 「犬」 出力: 「忠誠心があることで知られる家畜化された犬。」 プロンプト: 「ゾウ」 |
望ましいスタイルやトーンを実演する |
例 1(ユーモア): 「政治家のスピーチはとても退屈だったから、不眠症を治せるかもしれない。」 例 2(フォーマル): 「高官が有益で魅力的な演説をした。」 プロンプト: 「コメディアンのスタンドアップ ルーティンについて説明する。」 |
目的の詳細レベルを表示する |
例 1(簡潔): 「この映画は、宇宙人と友だちになる少年を描いたものです。」 例 2(詳細): 「この SF 映画は、孤独な少年エリオットの物語を追っています。エリオットは、地球外生命体との特別な絆を発見し、形成しています。」 プロンプト: 「読み終えた小説のあらすじを要約する。」 |
戦術 |
プロンプトの例 |
正確な表現を使用し、曖昧さを避ける |
「気候変動について何か書く」ではなく、「より厳格な二酸化炭素排出量規制の実施について主張する説得力のあるエッセイを書いてください」を使用します。 |
可能な限りリクエストを数値化する |
「長い詩を書いてください」の代わりに、「愛と喪失のテーマを探求する 14 行のソネットを書いてください」を使用します。 |
複雑なタスクを小さなステップに分割する |
「マーケティング計画を作成する」ではなく、「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 分を差し上げます。