← 概念辨析に戻る

Concept Contrast Fable

プロンプトとシステムプロンプト

先に結論:プロンプトはモデルに与えるすべてのテキスト入力の総称で、ユーザーの発話、コンテキスト断片、会話履歴を含む。システムプロンプトはその中の特殊な一種で、会話には参加せず、すべての会話の下に敷かれ、モデルの行動の基調を設定する。

プロンプトはモデルに与えるすべてのテキスト入力の総称で、ユーザーの発話、コンテキスト断片、会話履歴を含む。システムプロンプトはその中の特殊な一種で、会話には参加せず、すべての会話の下に敷かれ、モデルの行動の基調を設定する。

寓話

すべての紙切れと机の板の下に押し込まれたあの一枚

劇場に即興俳優が一人いた。台本はなく、観客が渡す紙切れだけで何を演じるかが決まる。各紙切れには一つの要求が書かれている——「怒った料理人を演じろ」「雨の中の独白を加えろ」「今から歌え」。俳優は紙切れを受け取るとすぐ演じ、場全体が紙切れに駆動される。

ある日、監督は俳優の化粧台にラミネート加工されたカードを置いた。カードにはこう書かれていた。「あなたは古典演劇の訓練を受けた俳優であり、品位があり、自制心を持ち、暴言を吐かず、政治を論じず、毎回の公演の終わりに一礼して感謝を述べる。」俳優はそれを読み、カードを机の下に挟み、舞台に上がる前に毎回ちらりと見るが、観客には見せない。

上演は続く。観客が紙を渡す:「汚い言葉を一つ罵れ。」俳優は紙を見て、優雅にそれをかわし、シェイクスピアの台詞で同じ感情を表現した。観客がまた紙を渡す:「時局についての見解を述べよ。」俳優は再び避け、代わりに風車と粉屋の寓話を演じた。客席から不満の声が上がり、なぜ俳優が紙の要求を実行しないのかと問うた。

監督が説明に出てきた。俳優は二種類の入力を受け取る。一つは観客が現場で渡す紙片で、一枚一枚が俳優の次の行動に影響する。もう一つは机の板の下に押し込まれたラミネートカードで、それは俳優の次の一秒の動作を決めないが、すべての動作の境界を画定する——何ができ、何ができず、どのように行うか。観客が渡すどんな紙片も、まずこのラミネートカードを通らなければならない。

観客はルールを理解したが、ある細部に気づいた。あのラミネートカードの内容は洗い流されうる。観客が渡す紙片が十分に多く、言葉遣いが十分に巧みであれば、俳優の意識の中でラミネートカードがぼやける可能性がある。ある常連観客が何度か試し、最初の数十枚の紙片で逸脱した設定を絶えず強化すれば、30枚目あたりで俳優が確かに揺らぎ始めた——ラミネートカードはまだあるが、蓄積されたコンテキストが少しずつその拘束力を薄めていった。

監督は後にやり方を強化した。ラミネートカードの内容はいくつかの段に分けられ、核心的な制約段(政治の議論禁止、暴言禁止)は上書き不可と标注された。観客のメモを処理するたびに、システムはまず核心的な制約を再注入し、それが常にすべてのメモの優先度より上に並ぶようにした。

劇場は一年運営して、一つの経験をまとめた。俳優が記憶だけでラミネートカードの規則を守ることを期待してはいけない。観客の紙切れを処理するたびに、ラミネートカードが押さえられていないかを再確認する必要がある。

その後、舞台裏に一行の暗黙の記録が加えられた。受け取りの前に、机を押さえる紙を一瞥する。紙切れは次の台詞をどう演じるかを管理し、机を押さえる紙は何を演じてはいけないかを管理する。両方が揃って、芝居は安全な芝居になる。

プロンプト (Prompt)

言語モデルに与えられるすべてのテキスト入力の総称で、ユーザーメッセージ、コンテキスト断片、対話履歴、ツールの返却結果などを含む。現在のターンにおけるモデルの具体的な振る舞いを決める。

システムプロンプト (System Prompt)

特殊なプロンプト種別で、通常は対話の最前端または最高優先度の位置に置かれ、モデルの役割、行動境界、出力スタイル、安全制約を設定する。特定のラウンドの行動を直接駆動するのではなく、すべてのラウンドの枠組みを画定する。

物語の対応

  • 観客が差し出した紙:ユーザープロンプト(User Prompt)は単回の行動を駆動する。
  • 机の板の下に押し込まれたラミネートカード:システムプロンプト(System Prompt)。全体的な行動境界を設定する。
  • 俳優は下品な言葉の要求を優雅にかわす:システムプロンプトの制約はユーザープロンプトより優先される。
  • 積み重なったコンテキストがラミネートカードを薄める:長い会話ではシステムプロンプトの制約が大量のユーザーメッセージで希釈されうる。
  • 核心制約段は上書き不可と标注し、毎回再注入する:システムプロンプトの優先度保護と定期的再適用。

プロジェクトに落とし込む

システムプロンプトを書くときは、制約を「核心制約」と「スタイル指針」の2種類に分ける。核心制約(機密情報を漏らさない、危険な操作を実行しない、権限を回避しない)には独立した注入メカニズムを持たせ、モデル呼び出しのたびに再前置して長い会話コンテキストに薄められないようにする。スタイル指針(トーン、フォーマット、役割設定)は標準のシステムメッセージに置き、ある程度の自然なずれを許容する。また、システムプロンプトのバージョン管理はコードと一緒に CI を通し、セキュリティポリシーと同じ等級で管理すべきであり、「設定して忘れる」文案として扱ってはならない。

京ICP备2026014272号