「生成型AIアプリケーションにおける効果的なプロンプトエンジニアリング原則」

Effective Prompt Engineering Principles in Generative AI Applications

この記事では、Generative AI Prompt Engineeringのもう一つの重要な概念について説明します。AIの分野におけるPrompt Engineeringは、特定の原則に従って設計された簡潔なテキストやフレーズの作成を含みます。これらのプロンプトは、Large Language Models(LLMs)と共に効果的な出力コンテンツを生成するために使用されます。Prompt Engineeringのプロセスは重要な基礎となるため、不適切に構築されたプロンプトはChatGPTのようなLLMモデルが論理的で意味のないまたは文脈から外れた応答を生成することがあります。そのため、Prompt Engineeringの明確に定義された原則に基づいてLLMモデルのAPIに渡される入力テキストを検証するのはベストプラクティスとされています。

入力フレーズの意図や目的に応じて、モデルはさまざまな機能を示すことができます。これには、広範なテキストやコンテンツの要約、トピックの推測や明確化、入力テキストの変換、提供された情報の拡充などが含まれます。Prompt Engineeringの原則に従うことで、AIモデルは正確かつ文脈に即した出力を生成しながら、その全ての潜在能力を活かすことができます。

Generative AIベースの製品を設計する際のPrompt Engineeringの重要性

効果的なプロンプトは、私たちが構築するAI製品で使用されるLarge Language Modelから最良の応答を引き出すことになります。LLMに送信する入力指示やクエリのプロンプトを設計する際に十分なブレストが行われない場合、アプリケーションはユーザーの満足を満たすことができません。そのため、Generative AIベースの製品を設計する際には、Prompt EngineersやNatural Language Analystsを参加させ、LLMモデルとの対話の中で効果的なプロンプトを選択するようにする必要があります。製品が動的なプロンプトを生成する場合でも、正確な結果を生成するための明確なガイドラインと原則に従うべきです。

以下のセクションでは、いくつかのサンプルのプロンプト、技術、およびLLMからの応答を紹介し、プロンプトエンジニアリングの使用方法とその重要な基礎としての理由を説明します。

PythonコードおよびOpen AIの「text-davinci-003」LLMモデルを使用し、常に一貫したランダムではない応答をLLMから得るために、温度を0に設定しています。

コードスニペットを実行する前に、必要なパッケージをインストールすることを確認してください。

以下のシンプルなコードスニペットは、OpenAIを使ったクイックなプロンプトの例を示しています。

以下の例では、Prompt Engineeringの一環として、NextGen AIプロジェクトの効果的なプロンプトを設計する際に厳密に従うべきいくつかの原則を示すために、Langchainの組み込みPromptTemplateクラスを使用します。

効果的なプロンプトエンジニアリングの原則(ベストプラクティス)

プロンプトエンジニアリングには事前に定義された厳格なルールはありません。プロンプトエンジニアリングを行う際には、任意の委員会によってルールブックが公開されているわけではありません。しかし、いくつかのガイドラインとベストプラクティスに従うことで、LLMから生成される最良の出力を得るのに役立ち、顧客の満足につながります。

指示は明確で具体的であるべきです

いくつかの例を見てみましょう。

最初の例では、モデルにWikipediaから得たいくつかの内容を要約するように指示します。モデルにはバッククォート(“`)で囲まれたコンテンツ内で言及されているものだけを要約するように指示します。

コンテキストをデリミタ内に配置し、その指示を追加することで、誤ったプロンプトの注入を防ぐだけでなく、LLMに対して提供されたコンテンツをどうするか明確に指示することができます。

次の例では、モデルからの出力を制御する方法を示します。例えば、モデルにJSON形式で3つの架空の映画タイトルを生成するように指示します。

LLMへの意味のある参照テキストまたはコンテンツを提供する

LLMにプロンプトを送信する際に、応答を提供されたコンテキスト内に保持したい場合は、簡潔な参照が提供されるべきです。OpenAI GPTは入力参照に制限があるため、参照コンテンツの設計に多くの努力を払う必要があります。効果的かつ正確な参照を提供することで、LLMから最良の出力を得ることができます。

GPTに「考える時間」を与える

プロンプトエンジニアリングは、GPTが即座に回答することを急がせるべきではありません。代わりに、GPTには考える時間を与えてから正しい意味のある回答を提供するべきです。統計的または数学的な問題を文言で提供し、考える時間を与えない場合、LLMモデルも人間と同様に間違いを comします。したがって、適切な回答を得るためには、プロンプトエンジニアリングはGPTが考えてから回答するための言葉遣いを利用する必要があります。以下の例は、モデルが間違いを comする方法とその修正方法を示しています。

以下のプロンプトは、LLMに特定のタスクを実行するよう指示するものであり、明確な指示を提供していません。そのため、回答に急いでいる間にLLMはミスを com し、3番の指示を省略してしまいます。結果をご覧ください。

ただし、同じプロンプトを少し変更することで、LLMに正しい結果を出力するためのより多くの思考能力を提供することができます。

すべきこととすべきでないこと

効果的なプロンプトエンジニアリングを行う際には、次のようなことを行うべきであり、行うべきでないことがあります。

すべきでないこと:

  • 過剰な情報の提供を避ける。
  • LLMを混乱させる可能性があるオープンエンドの質問をしない。

すべきこと:

  • 期待する正しい出力形式を指定する。
  • 意味のあるコンテキストを含める。

結論

この記事では、効果的なプロンプト技術に関する貴重な洞察を探求しました。また、適切に作成されたプロンプトの重要性と、効果的なプロンプトを設計するための基本的なガイドライン(すべきこととすべきでないことを含む)についても説明しました。これらの原則を説明するために、いくつかの実践的な例も含まれています。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

データサイエンス

「NVIDIAがインドの巨大企業と提携し、世界最大の人口を持つ国でAIを進める」

世界最大の民主主義国は、AIを広範囲に採用し、自身と世界を変革する準備が整っています。 インドの最大の複合企業であるReli...

AI研究

CMUの研究者がMultiModal Graph Learning(MMGL)を導入「複数の多様な隣接情報から関係構造を持つ情報を抽出するための新たなAIフレームワーク」としています

多モーダルグラフ学習は、機械学習、グラフ理論、およびデータフュージョンの概念を組み合わせた多様なデータソースとその相...

機械学習

インドのスタートアップ、OpenHathiをリリース:初のヒンディー語LLM

言語の革新に向けた注目すべき一歩として、インドのAIスタートアップSarvam AIがOpenHathi LLMをリリースし、ヒンディー語の...

機械学習

プロンプトエンジニアリングへの紹介

イントロダクション 自然言語処理は、基盤となる技術や手法を使用した実装の豊かな領域であります。近年、特に2022年の始まり...

機械学習

『Generative AIがサイバーセキュリティを強化する3つの方法』

人間のアナリストは、サイバーセキュリティ攻撃の速度と複雑さに対して効果的に防御することができなくなっています。データ...

AIニュース

「AIは非英語母国語話者に差別的」

最近の研究で、人工知能(AI)について不安な真実が明らかになりました。エッセイや就職応募書類などの作品を検出するために...