プロンプトとは
Prompt
LLMに入力する指示・質問・文脈などのテキスト
ひとことで言うと
AIに何をしてほしいか伝える、入力する文章のこと。
概要
プロンプトとは、LLMに対して入力するテキストそのものを指す。 質問・指示・例示・文脈情報などから構成され、モデルはこのプロンプトに続くテキストを予測・生成する形で応答する。 LLMは事前学習によって獲得した知識やパターンをプロンプトに応じて引き出す仕組みであるため、同じモデルでもプロンプトの書き方次第で出力の質・形式・精度が変わる。 チャット形式のインターフェースでは、システムプロンプト・ユーザープロンプト・過去の応答履歴を組み合わせて1つの入力として扱われることが多い。 少ない例も与えない「zero-shotプロンプト」、いくつかの例を示す「few-shotプロンプト」など、与える情報量によって呼び方が変わることもある。
背景
LLMはタスクごとに再学習しなくても、入力の与え方(プロンプト)を変えるだけで様々なタスクをこなせる汎用性を持つ。 この性質により、モデルの重みを変更せずに振る舞いを制御する手段としてプロンプトが重要な役割を担うようになった。
アーキテクチャ
プロンプトは最終的にトークン列としてモデルへ入力される。 チャット形式のモデルでは、役割(システム・ユーザー・アシスタント等)ごとにメッセージを分けて構造化し、モデル固有のテンプレートに従って1つのトークン列に変換してから入力する。
利点
- モデルの重みを変更せずに、入力の工夫だけで出力を制御できる
- 少数の例示(few-shot)を含めることで、追加学習なしにタスク性能を高められる場合がある
欠点
- プロンプトの書き方次第で出力品質が変動し、再現性を担保しにくい場合がある
- 長いプロンプトはコンテキストウィンドウを消費し、コスト・レイテンシに影響する
比較
- プロンプトエンジニアリング — プロンプトエンジニアリングは、望む出力を得るためにプロンプトを設計・改善する手法や実践を指す
- システムプロンプト — システムプロンプトは、プロンプト全体のうちモデルの振る舞いを規定する特別な部分
- コンテキストウィンドウ — プロンプトの長さはコンテキストウィンドウの制約を受ける
関連用語
よくある質問
プロンプトとクエリは同じ?
検索の文脈での「クエリ」は検索キーワードを指すことが多いのに対し、「プロンプト」はLLMへの入力全体(指示・文脈・例示等を含む)を指す、より広い概念。
参考文献
- DocumentationOpenAI Prompt Engineering Guide