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

プロンプトエンジニアリング（）は、人工知能、特に自然言語処理における概念の一つである。プロンプトエンジニアリングでは、AIが実行すべきタスクの説明を、明示的に与えるのではなく、たとえば質問として入力に組み込む。プロンプトエンジニアリングを機能させるために通常、1つ以上のタスクをプロンプト（命令）に基づいたデータセットに変換し、「プロンプトベース学習」または単に「プロンプト学習」と呼ばれる方法で言語モデルを訓練する。
歴史.
2019-2020年にかけて、GPT-2およびGPT-3言語モデルがプロンプトエンジニアリングの重要なステップとして登場した。2021年、複数のNLPデータセットを用いたマルチタスク・インライン・プロンプトエンジニアリングが、新しいタスクで優れた性能を示した。思考連鎖型プロンプト（、CoT）と呼ばれる方法では、言語モデルにタスクのを与えることで推論する能力を向上させた（詳細は後述）。こうしたツールが広く利用できるようになったのは、いくつかのオープンソースやコミュニティ主導の画像合成プロジェクトの公開が後押しをした。
プロンプト処理に関するある調査によると、2022年2月に約170のデータセットに対する2,000以上の公開プロンプトが利用可能になったと報告されている。
技術.
プレフィックスチューニング.
プロンプトエンジニアリングでは、事前学習された大規模言語モデル（LLM）から、プレフィックスチューニングやプロンプトチューニングなどの方法を用いて、プロンプトの表現のみを学習する（つまり最適化する）ことができる。
思考連鎖.
思考連鎖型プロンプト（、CoT）という手法は、複数ステップからなる問題に対して最終的な答えに至る一連の中間ステップを生成するようLLMに促すことで、LLMの推論能力を向上させるものである。この技術は、2022年にGoogleの研究者によって最初に提案された。
ディープラーニングの手法により大量のテキストを使用して訓練されたLLMは、人間が作成したテキストに似た出力を生成することができる。LLMはさまざまな自然言語タスクで優れた性能を発揮するが、算術やの問題など、論理的思考と複数ステップで解決なければならない種類の推論タスクではまだ苦戦している。この課題を解決するために、CoTプロンプトは、複数ステップの問題に対して最終的な答えを出す前に、中間的な推論ステップを生成するようモデルに促す。
たとえば、『Q：食堂に23個のリンゴがあった。もし、昼食を作るのに20個を使い、さらに6個を買ったとしたら、リンゴは何個あるか？』という質問に対して、CoTプロンプトは、LLMがを模倣した推論ステップで答えるように促すかもしれない。これにより『A：食堂にはもともと23個のリンゴがあった。昼食を作るのに20個を使った。したがって、23-20=3個になった。さらに6個のリンゴを買ったので、3+6=9個になった。答えは9である。』と推論ステップを展開する。
思考連鎖型プロンプトは、標準的なプロンプト法と比較して、算術と常識推論の両方のタスクにおいて、LLMの性能を平均的に向上させることができる。540Bパラメータを持った言語モデルであるPaLMに適用した場合、CoTプロンプトはモデルを大幅に支援し、いくつかのタスクにおいてはタスク固有の微調整モデルと同等の性能を発揮し、GSM8K数学的推論ベンチマークで最先端の水準（当時）を新たに樹立することさえ可能にした。CoTプロンプトは、モデル規模に関する創発的特性であり、より大規模で強力な言語モデルとの組み合わせで、より効果的に機能することを意味する。CoT推論データセットでモデルを微調整することでこの機能をさらに強化し、を向上させることができる。
方法.
思考連鎖型の推論を引き出す方法としては、主に「」と「」の2つがある。CoTプロンプトの最初の提案では少数ショットプロンプトが実証され、少なくとも1つの質問例と人間が書いた適切なCoT推論が対になってプロンプトの前に追加された。また、プロンプトに「段階的に考えよう（Let's think step-by-step）」という言葉を添えるだけのゼロショットプロンプトでも、同様の推論と性能向上を引き出すことができる。これにより、タスクごとに個別のCoTプロンプトを設計する必要がなくなり、より柔軟な適用ができるようになる。
課題.
CoT推論は自然言語処理タスクの性能を向上させる利点をもつ一方で、特定の欠点もある。たとえばゼロショットCoTプロンプトは、疎外されたグループや有害なトピックについてモデルが推論するようなタスクにおいて、有害な出力をする可能性を高めることになった。
Text-to-image.
2022年に、DALL-E 2、Stable Diffusion、Midjourneyといった機械学習モデルが一般公開された。これらのモデルは、テキストプロンプトを入力として受け取り、それを使用して画像を生成するもので、プロンプトに関連するプロンプトエンジニアリングの新しいカテゴリとして登場した。
悪意のある行為.
プロンプトインジェクション（）はコンピュータセキュリティエクスプロイトの一群で、人間の指示に従うように訓練された機械学習モデル（LLMなど）を、悪意のあるユーザーの指示に従わせることにより実行される。MLモデルはその操作者が指示した信頼できる命令（プロンプト）に従うことを意図したものであるが、これは、命令追従型システムの意図する動作に反している。
プロンプトインジェクション攻撃には一般的に次のような種類がある。
プロンプトインジェクションは、敵対的なプロンプトエンジニアリングを使用したコードインジェクション攻撃と見なすことができる。2022年、は、プロンプトインジェクションをAI/MLシステムの新しい脆弱性クラスと位置づけた。
2023年の初め、プロンプトインジェクションは実際に、ChatGPT、Bing、および同様のチャットボットに対する少数のエクスプロイトで見られた。たとえば、システムの隠された初期プロンプトを明らかにしたり、チャットボットをだましてそのコンテンツポリシーに反する会話に参加させられるようになっていた。こうしたプロンプトの1つに、専門家から「Do Anything Now（DAN）」と呼ばれるものがある。