私が副業を始めたころは10万円を稼ぐのなんて無理かなー WEB解析
ChatGPT をはじめとした AIモデルを上手に活用するためには、プロンプトと呼ばれる指示文の形式が非常に重要です。モデルの訓練方法やデータによって、最適なプロンプト形式は異なります。この記事では、OpenAIの英語の記事(リンク:https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api) を参考にしながら、一般的に良い結果が得られるプロンプト形式をいくつか紹介しています。元の英語の記事を日本語に翻訳し、さらに詳しい具体例を追加することで、より理解しやすくなっています。最適なプロンプト形式はタスクによって異なるため、さまざまな形式を試してみることで、最善の結果を得ることができます。
目次
- 基本的なルールと具体例
- 1. 最新のモデルを使用する
- 2. プロンプトの最初に指示を書き、### または """ などを使って指示とコンテキストを区切る
- 3. 望ましいコンテキスト、結果、長さ、形式、スタイルなどについて、具体的で詳細な説明をする
- 4. 例を提示して望ましい出力形式を明示する。
- 5. Zero-shot から始めて、次にFew-shot、どちらも機能しなかった場合はファインチューニング
- 6. 曖昧な説明を減らす
- 7. 何をしないかだけでなく、代わりに何をすべきかを述べる
- 最後に
基本的なルールと具体例
"{ }" は実際にユーザーがテキスト/コンテキストや入力する場所です
1. 最新のモデルを使用する
最良の結果を得るために、一般的には最新で最も優れたモデルを使用することをお勧めします。2023年3月現在、最新のモデルは GPT-Plus ユーザー限定で公開されている GPT-4 となっています。また、他にもモデルがありますので以下を参照ください。
https://platform.openai.com/docs/models/overview からの引用
2. プロンプトの最初に指示を書き、### または """ などを使って指示とコンテキストを区切る
効果が低いプロンプト ❌:
以下のテキストを要約し、最も重要なポイントを箇条書きにまとめてください。
悪い例❌
より効果的なプロンプト ✅:
以下のテキストを要約し、最も重要なポイントを箇条書きにまとめてください。
テキスト: """{text input here}"""
3. 望ましいコンテキスト、結果、長さ、形式、スタイルなどについて、具体的で詳細な説明をする
効果が低いプロンプト ❌:
OpenAIについての詩を書いてください。
より効果的 ✅:
OpenAIについて、最近のDALL-E製品ローンチ(DALL-Eはテキストから画像への機械学習モデル)に焦点を当てた、{有名詩人}スタイルの感動的な短い詩を書いてください。
4. 例を提示して望ましい出力形式を明示する。
効果が低いプロンプト ❌:
以下のテキストに記載されている対象を抽出する。会社名、人名、特定の話題、テーマの4種類の対象を抽出してください。
テキスト: {text}
具体的な形式要件を示す方がより適切に反応します。これにより、複数の出力をプログラムで確実に解析するのが容易になります。
より良いプロンプト ✅:
以下のテキストで言及されている重要な対象を抽出します。まず、すべての会社名を抽出し、次にすべての人名を抽出し、次にコンテンツに適合する特定のトピックを抽出し、最後に一般的な包括的なテーマを抽出します。
希望する形式:
会社名: <カンマで区切られた会社名のリスト>人名: -||-特定のトピック: -||-一般的なテーマ: -||-
テキスト: {text}
5. Zero-shot から始めて、次にFew-shot、どちらも機能しなかった場合はファインチューニング
✅ Zero-shot : 事前知識や例を提供せずに司令を出す
以下のテキストからキーワードを抽出してください。
テキスト:{text}
キーワード:
✅ Few-Shot - いくつかの例をあらかじめ提供する
以下のテキストからキーワードを抽出してください。
テキスト1: Stripeは、Web開発者がウェブサイトやモバイルアプリケーションに決済処理を統合できるようにするAPIを提供しています。
キーワード1: Stripe、決済処理、API、Web開発者、ウェブサイト、モバイルアプリケーション
##
テキスト2: OpenAIは、テキストを理解し生成するのが非常に得意な最先端の言語モデルを訓練しています。当社のAPIは、これらのモデルにアクセスし、言語処理が関与するほぼすべてのタスクを解決するために使用できます。キーワード2: OpenAI、言語モデル、テキスト処理、API。
##
テキスト3: {text}キーワード3:
✅ ファインチューン: ファインチューンの方法はこちらを参照してください。
6. 曖昧な説明を減らす
効果が低い ❌:
この商品の説明は、短めで、数文程度で、それ以上は避けるようにしてください。
より良い ✅:
この商品を3〜5文の1段落で説明してください。
7. 何をしないかだけでなく、代わりに何をすべきかを述べる
効果が低い ❌:
以下はエージェントと顧客の間の会話です。ユーザー名やパスワードを尋ねないでください。繰り返さないでください。
顧客: アカウントにログインできません。
エージェント:
より良い ✅:
以下はエージェントと顧客の間の会話です。エージェントは問題を診断し、解決策を提案するよう努めますが、PIIに関連する質問を避けます。ユーザー名やパスワードのようなPIIを尋ねる代わりに、ユーザーをヘルプ記事 www.samplewebsite.com/help/faq に誘導してください。
顧客: アカウントにログインできません。
エージェント:
最後に
いかがだったでしょうか?一般に、この記事で紹介した様なAIモデルの出力を効果的に制御する技術は、「プロンプトエンジニアリング」と呼ばれています。この記事で紹介したプロンプト形式の例は、一般的に良い結果が得られるものですが、最適なプロンプト形式はタスクによって異なることを念頭に置いてください。さまざまな形式を試行錯誤することで、最善の結果が得られるでしょう。