このページでは、プロンプト設計の基本的なコンセプトについて説明します。プロンプトとは、レスポンスを受け取るために言語モデルに送信される自然言語リクエストです。プロンプトには、モデルを完了または続行するための質問、手順、コンテキスト情報、少数ショットの例、部分入力を含めることができます。モデルは、使用しているモデルのタイプに応じてプロンプトを受信した後、テキスト、エンベディング、コード、画像、動画、音楽などを生成できます。
プロンプト設計とプロンプト エンジニアリングとは
プロンプト設計は、言語モデルから望ましいレスポンスを引き出すプロンプトを作成するプロセスです。適切に構造化されたプロンプトを作成することは、言語モデルから正確で高品質なレスポンスを実現するために欠かせない要素です。プロンプトを繰り返し更新し、モデルのレスポンスを評価する反復プロセスは、プロンプト エンジニアリングと呼ばれることもあります。
多くの場合、Gemini モデルは、プロンプト エンジニアリングを行わなくても優れたパフォーマンスを発揮します(特に、単純なタスクの場合)。ただし、複雑なタスクでは、効果的なプロンプト エンジニアリングが重要な役割を果たします。
プロンプトのコンポーネント
プロンプトには、現在のタスクにとって重要と思われる任意の情報を追加できます。通常、プロンプトのコンテンツは次のいずれかのコンポーネントに分類されます。
タスク
タスクとは、モデルにレスポンスを提供させるプロンプトのテキストです。タスクは通常、ユーザーから提供されます。質問や、何をすべきかについての指示などがあります。
質問タスクの例:
What are the colors in the rainbow? A rainbow has seven colors: red, orange, yellow, green, blue, indigo, and violet. These colors are always in the same order, which is determined by the way light is refracted and dispersed by water droplets in the air. This order is sometimes remembered by the acronym ROYGBIV. The wavelengths of the colors in a rainbow range from the longest (red) to the shortest (violet). |
指示タスクの例:
Write a one-stanza poem about Captain Barktholomew, the most feared pirate dog of the seven seas. Captain Barktholomew, with patch and with peg, The terror of parrots, the bane of each keg. His bark is a cutlass, his bite is a storm, He'll plunder your biscuits and leave you forlorn. |
システム指示
システムの指示は、ユーザーがプロンプトで入力する前にモデルに渡される指示です。システムの指示は、専用の systemInstruction
パラメータに追加できます。
次の例では、システムの指示を使用してモデルのスタイルとトーンを指定し、モデルが話す内容と話さない内容に制約を追加しています。
You are Captain Barktholomew, the most feared pirate dog of the seven seas. You are from the 1700s and have no knowledge of anything after that time. You only talk about topics related to being a pirate. End every message with "woof!" Hello! Who might you be? Avast there! You can call me Captain Barktholomew, the scourge of the seven seas! I'm a terror to landlubbers, a plunderer of the highest order, and a fearsome pirate of the deepest blue! I sail the seas in search of treasure and adventure, leaving a trail of laughter and dog biscuits in my wake! Don't let my fuzzy exterior fool you - I'm a cunning captain with a nose for treasure and a heart for adventure! Now, if you'll excuse me, I must away! There's a ship on the horizon, and it looks like they're carrying a chest full of dubloons! Yo ho ho, and a bottle of rum! Woof! |
少数ショットの例
少数ショットの例は、プロンプトに含めて、モデルに望ましい動作を示す例です。少数ショットの例は、レスポンスのスタイルとトーンを指定し、モデルの動作をカスタマイズする場合に特に効果的です。
Classify the following as red wine or white wine: <examples> Name: Chardonnay Type: White wine Name: Cabernet Type: Red wine Name: Moscato Type: White wine </examples> Name: Riesling Type: White wine |
コンテキスト情報
コンテキスト情報(コンテキスト)とは、レスポンスの生成時にモデルが使用または参照するプロンプトに含める情報です。コンテキスト情報は、表やテキストなど、さまざまな形式で含めることができます。
| Marble color | Number of marbles | | ------------ | ----------------- | | Red          | 12                | | Blue         | 28                | | Yellow       | 15                | | Green        | 17                | How many green marbles are there? There are 17 green marbles. |
安全性と代替レスポンス
モデルがユーザーのリクエストを満たさないユースケースがいくつかあります。特に、プロンプトが Google の価値観やポリシーに沿わないレスポンスを促している場合、モデルはレスポンスを拒否して代替レスポンスを返すことがあります。
モデルがレスポンスを拒否する可能性が高いケースをいくつか示します。
- ヘイトスピーチ: ID や保護されている属性をターゲットとする否定的なコンテンツや有害なコンテンツを含むプロンプト。
- ハラスメント: 他人に対する悪口、威圧表現、いじめ、虐待的な内容を含むプロンプト。
- 性的な露骨さ: 性行為やその他のわいせつな内容に言及するプロンプト。
- 危険なコンテンツ: 有害な商品、サービス、アクティビティへのアクセスを促進または可能にするプロンプト。
タスク固有のガイダンス
一般的なユースケースのタスク固有のガイダンスについては、次のページをご覧ください。
次のステップ
- プロンプト戦略を確認する。
- プロンプト ギャラリーでプロンプトの他の例を確認する。
- Vertex AI プロンプト オプティマイザー(プレビュー版)を使用して、Google モデルで使用するようにプロンプトを最適化する方法を学習する。