プロンプト設計の概要

プロンプト設計は、言語モデルから望ましいレスポンスを引き出すプロンプトを作成するプロセスです。適切に構造化されたプロンプトを作成することは、言語モデルからの正確で高品質なレスポンスを実現するための不可欠な要素です。このページでは、プロンプトの設計を開始するための基本的なコンセプト、戦略、ベスト プラクティスについて説明します。

プロンプトとは

プロンプトとは、レスポンスを受け取るために言語モデルに送信される自然言語リクエストです。プロンプトには、モデルを完了または続行するための質問、手順、コンテキスト情報、例、部分入力を含めることができます。モデルは、使用しているモデルのタイプに応じてプロンプトを受信した後、テキスト、エンベディング、コード、画像、動画、音楽などを生成できます。

プロンプトのコンテンツ タイプ

プロンプトには、次のタイプのコンテンツを 1 つ以上含めることができます。

入力

入力は、モデルにレスポンスを提供させるプロンプトのテキストであり、必須のコンテンツ タイプです。入力は、モデルが回答する質問(質問入力)、モデルが実行するタスク(タスク入力)、モデルが動作するエンティティ(エンティティ入力)、またはモデルが完了または続行する部分入力(コンプリーション入力)のいずれかです。

質問の入力

質問入力とは、モデルに尋ねてモデルから回答を得るための質問です。

What's a good name for a flower shop that specializes in selling bouquets of
dried flowers? Create a list of 10 options with just the names.
  
    Here are 10 names for a flower shop specializing in dried flowers:

    1.  Everlasting Blooms
    2.  Dried & Delightful
    3.  The Petal Preserve
    4.  Whispers of Wildflowers
    5.  Forever Blooms
    6.  The Botanical Muse
    7.  Timeless Blooms
    8.  Dried Flower Co.
    9.  Bloom & Co.
    10.  The Sun-Kissed Petals    
  
タスクの入力

タスク入力とは、モデルに実行させたいタスクです。たとえば、何かについてのアイデアや提案を示すようモデルに指示できます。

Give me a simple list of just the things that I must bring on a camping trip. The list should have 10 items.
  
    Here's a list of 10 essential items for a camping trip:

    1. **Tent:** Your shelter from the elements.
    2. **Sleeping Bag:** Stay warm and comfortable.
    3. **Sleeping Pad:** Insulation and cushioning for a good night's sleep.
    4. **Headlamp or Flashlight:** Light for nighttime activities.
    5. **First Aid Kit:** Be prepared for minor injuries.
    6. **Water Bottle/Hydration Pack:** Stay hydrated.
    7. **Food and Snacks:** Fuel for your adventures.
    8. **Cooking Gear:** Camp stove, fuel, utensils, etc.
    9. **Knife and Multitool:** Essential for various tasks.
    10. **Camp Chair:** Enjoy your campfire and meals comfortably.     
  
エンティティの入力

エンティティ入力とは、分類や要約などのアクションをモデルに実行させる際に対象となるものです。このタイプの入力では、指示を含めることで回答が改善することがあります。

Classify the following items as [large, small].
Elephant
Mouse
Snail
  
    Here's the classification:

    * **Elephant:** Large
    * **Mouse:** Small
    * **Snail:** Small     
  
コンプリーション入力

コンプリーション入力とは、モデルに完成させる、または続きを生成させるためのテキストです。

    Complete the following prompt: Some simple strategies for overcoming writer's block include...
  
    Some simple strategies for overcoming writer's block include:

    * **Freewriting:** Write non-stop for a set amount of time (5-10 minutes) without worrying about grammar, spelling, or even making sense. Just keep your pen moving and let your thoughts flow freely. This can help you loosen up and access ideas you might not have considered otherwise.
    * **Brainstorming:**  Make a list of everything that comes to mind related to your topic, no matter how silly or unrelated it seems. You can also use mind mapping or other visual brainstorming techniques.
    * **Changing your environment:**  Sometimes a change of scenery can be all you need to get the creative juices flowing. Go for a walk, work in a coffee shop, or even just move to a different room in your house. 
    * **Reading:**  Immerse yourself in the work of other writers, especially those who inspire you. Pay attention to their style, their structure, and their use of language. 
    * **Taking a break:** Sometimes the best way to overcome writer's block is to simply step away from the project for a while. Go for a walk, watch a movie, listen to music, or do something else that you enjoy. You might be surprised at how much clearer your head feels when you return to your writing. 
    * **Focusing on a single element:**  Instead of tackling the entire project, focus on a single sentence, paragraph, or scene. Once you get something down on paper, it can be easier to build from there.
    * **Starting with the ending:**  If you're stuck on the beginning, try writing the ending first. This can help you to clarify your overall vision for the project and provide a framework for your ideas.
    * **Talking it out:** Share your ideas and challenges with a friend, a writing group, or a writing coach. Discussing your project with someone else can help you to see it from a new perspective and find solutions to your writing problems.
    
    Remember, writer's block is a common experience, and it's not a sign that you're a bad writer. Just be patient with yourself, try some of these strategies, and keep writing!     
  

コンテキスト

コンテキストは次のいずれかです。

  • モデルがどのように動作すべきかを指定する指示。
  • モデルが回答を生成するために使用または参照する情報。

モデルに情報を与える必要がある場合、または回答の範囲をプロンプト内の要素だけに制限する必要がある場合は、コンテキスト情報をプロンプトに追加します。

Marbles:
Color: red
Number: 12
Color: blue
Number: 28
Color: yellow
Number: 15
Color: green
Number: 17

How many green marbles are there?
  
There are 17 green marbles.
  

例は、モデルに理想的なレスポンスの例を与えるためにプロンプトに含める入力と出力のペアです。プロンプトに例を含めると、レスポンスの形式を効果的にカスタマイズできます。

Classify the following.
Options:
- red wine
- white wine

Text: Chardonnay
The answer is: white wine
Text: Cabernet
The answer is: red wine
Text: Moscato
The answer is: white wine

Text: Riesling
The answer is:
  
The answer is: white wine
  

次のステップ