プロンプトエンジニアリングとは、言語モデルに与える指示を最適な結果が得られるように書き、構成するための方法を指す。その名が示すとおり、主な関心は効果的なプロンプト、とりわけシステムプロンプトをどう書くかにある。Anthropic は、LLM を使った構築の初期、つまり日常的なチャットのやり取り以外のユースケースの大半がワンショットの分類やテキスト生成に最適化されたプロンプトを必要としていた時期には、これが AI エンジニアリング作業の最大の構成要素だったと述べており、また コンテキストエンジニアリング が注目を集めるようになるまでの数年間、応用 AI における関心の中心だったとしている。
Usage
コンテキストエンジニアリングの枠組みの中では、プロンプトを書くことは、ツール、外部データ、メッセージ履歴も含むコンテキストの状態全体を管理することの一構成要素となる。そして Anthropic のプロンプトレベルの指針は、そのより大きな実践にも引き継がれる。すなわち、適切な高度(altitude)で書かれた明確で直接的な言葉、XML タグや Markdown の見出しで区切られた別々のセクション、そして期待される振る舞いを余すところなく示しつつ最小限にとどめた情報の集合である。ここでの最小限とは、必ずしも短いことを意味しない。
When It Applies
- モデルに与える指示がその出力に対する主要な手段となる場面であればどこでも当てはまる。Anthropic は、ワンショットの分類とテキスト生成を、これがエンジニアリング作業の大半を占めていたケースとして挙げている。
- 関連する状態を事前に、文章として確定できることを前提としている。Anthropic は、複数ターンの推論とより長い時間軸にわたって動作するエージェントではこの前提が崩れると論じている。そこでは実行中に情報が蓄積し、それを循環的に洗練し続けなければならない。
- エージェント的な環境では、誤りというよりも不十分なものである。Anthropic はコンテキストエンジニアリングを、プロンプトエンジニアリングを置き換えるものではなく、その自然な発展でありそれを包含するものとして提示しており、モデルの能力が上がるにつれてプロンプトの正確な書式はおそらく重要性を失いつつあるとも述べている。
- 確立された実践であり、Anthropic はこれを、ここで何かを提案するものとしてではなく、応用 AI の作業におけるかつての関心の中心として記述している。