見出し画像

BESTなプロンプトエンジニアリングについて


プロンプトエンジニアリングは、
AIモデルに特定のタスクを効果的に実行させるために、
入力する質問や指示(プロンプト)を最適化するプロセスです。

モデルの能力を最大限に引き出し、
所望の結果を得るためにとても重要な技術です。

この記事では、以下のサイトを参考にして
OpenAIが推奨するプロンプトエンジニアリングについて
ご紹介していきます。


プロンプトの構成要素


まず、プロンプトの構成要素について
ご説明します。
一口にプロンプトといっても、内容によって
以下の4種類に分かれます。

Instructions<命令> :モデルに実行してほしい特定のタスクまたは命令

Context <文脈> : 外部情報や追加の文脈など。より良い回答に導く要素。

Input data<入力データ>: 応答を見つけたい入力または質問

Output indicator <出力指示子>: 出力のタイプや形式を示します。

すべての要素が必要なわけではなく、タスクに依存します。

BESTなプロンプトエンジニアリング


8つの例についてご紹介します。

その1. 最新のモデルを使用する


最良の結果を得るためには、
最新の最も高性能なモデルを使用しましょう。
2023年11月現在、文章生成には「gpt-4-1106-preview」モデルが最適です。

その2. 指示をプロンプトの先頭に置き、###または"""を使って指示とコンテキストを区切る


  • 良くない例: 🥲

以下のテキストを要約してください。
{ここにテキスト}

  • 良い例:😄

以下のテキストを要約してください。
テキスト:
"""
{ここにテキスト}
"""


その3. 希望する文脈、成果、長さ、形式、スタイルなどについて、具体的、説明的かつ可能な限り詳細に記述すること。


  • 良くない例: 🥲

AI技術の進歩について、説明してください。

  • 良い例:😄

AI技術の進歩が社会に与える影響について、具体的な事例を交えながら詳細に説明してください。
例としては、自動運転車や医療分野での応用を挙げ、それらが日常生活にどのような変化をもたらすかを分析してください。


その4. 例(例1、例2)を通して、希望する出力形式を明示する。


  • 良くない例: 🥲

以下のテキストに記載されている会社名、人名、特定のトピック、テーマの 4 種類のエンティティを抽出します。
テキスト:
{テキスト}

・良い例:😄

以下のテキストに記載されている重要なエンティティを抽出する。
最初にすべての会社名を抽出し、
次にすべての人名を抽出し、
次に内容に合った特定のトピックを抽出し、
最後に一般的な包括的テーマを抽出する。

望ましい形式
会社名(コンマで区切られた会社名リスト)
人名: -||-人名
特定のトピック-||-
一般的なテーマ: -||-

テキスト{テキスト}


その5.ゼロショットから始めて、次にフューショットを試す


ゼロショット
質問だけ与えて、回答例を与えないことをゼロショットと言います。
通常はこちらになります。

以下のテキストからキーワードを抽出してください

テキスト:{テキスト}

キーワード

フューショット
より良い回答を求めるには、回答例をいくつか与えると良いです。

以下の例にしたがって、テキストからキーワードを抽出してください

テキスト1:Stripeは、Web開発者がWebサイトやモバイルアプリケーションに決済処理を統合するために使用できるAPIを提供しています。
キーワード1:Stripe、決済処理、API、ウェブ開発者、ウェブサイト、モバイルアプリケーション
##
テキスト2:OpenAIは、テキストを理解し生成するのに非常に優れた最先端の言語モデルを訓練してきました。私たちのAPIはこれらのモデルへのアクセスを提供し、言語処理を含む事実上すべてのタスクを解決するために使用することができます。
キーワード2:OpenAI、言語モデル、テキスト処理、API。
##
テキスト3:{text}。
キーワード 3:


その6. 「ふわっ」とした不明確な指示を避ける


  • 良くない例: 🥲

この製品について簡潔に説明してください。

・良い例:😄

この製品について、3-5文で簡潔に説明してください。


その7. やってはいけないことを言うのではなく、やるべきことを言う。


  • 良くない例: 🥲

以下は、エージェントとお客様の会話です。ユーザー名やパスワードを尋ねないでください。繰り返さないでください。

お客様アカウントにログインできません。
エージェント:

・良い例:😄

以下は、エージェントとお客様との会話です。
エージェントは問題の診断と解決策の提案を試みますが、
PII に関する質問は控えます。
ユーザ名やパスワードなどの PII を尋ねる代わりに、
ヘルプ記事 www.samplewebsite.com/help/faq を参照してください。

お客様:アカウントにログインできません。
エージェント

その8. コード生成のための「リードワード」を使用する


  • 良くない例: 🥲

# 簡単なパイソン関数を書く
# 1.マイルで数値を求める
# 2.マイルをキロに変換する

・良い例:😄
以下のコード例では、"import "を追加することで、モデルがPythonで記述し始めることを示唆しています。(同様に "SELECT "はSQL文の開始を示す良いヒントです)。

# 簡単なパイソン関数を書く
# 1.マイルで数値を求める
# 2.マイルをキロに変換する

import




この記事が気に入ったらサポートをしてみませんか?