システムプロンプトは、AIの基本的な振る舞いを定義する特別な指示よ。
ユーザーの入力とは別に、裏側であらかじめ設定しておくプロンプトなのよ。
ChatGPTの『Custom Instructions』やClaudeの『Projects指示』のようなものですか?
まさにそれね、つむぎさん。
API経由でAIを使うとき、systemロールとして設定するのが本来の形。
たとえば『あなたはカスタマーサポートのアシスタントです。
常に丁寧語で応答し、わからないことは正直に伝えてください』と設定できるわ。
毎回『丁寧に答えてね』って書かなくても、最初に一回設定しとけばOKってこと?
そう!
会話全体に一貫して適用されるのがシステムプロンプトの最大の特長。
ロールの設定、回答形式の指定、禁止事項の明示など、サービス全体の品質をコントロールできるの。
お店のマニュアルみたいなものなんですねぇ…店員さん全員が同じルールで対応する感じっ!
素晴らしい例えよ、ましろちゃん!
まさにAIの行動マニュアルと言えるわ。
先生、LLMのAPIでは、ユーザーのメッセージとシステムプロンプトを構造的に分けて送るんですよね。
よく知っているわね。
OpenAIのAPIでは`{"role": "system", "content": "…"}`の形で送るの。
この分離があることで、ユーザー入力がシステム指示を上書きしにくくなる仕組みになっているわ。
へー、ちゃんと役割分担されてるんだ?!
ただし完璧ではないの。
巧妙なプロンプトインジェクション(悪意ある入力でルールを上書きする攻撃)には脆弱な面もあって、
これも後の回で詳しく扱うわよ。
ふぇぇ…AIを守るお仕事も大変なんですねぇ……
補足すると、企業向けAIサービスではシステムプロンプトに『機密情報を出力しない』『個人情報を扱わない』などのガードレールを組み込むのが一般的ですね。
その通り。
試験でも『システムプロンプト=AIの基本ルールを定める上位指示』という定義は頻出ポイントよ。
てかさ、システムプロンプトってユーザーからは見えないものなの?
一般利用のChatGPTやClaudeのWebサービスでは、内部システムプロンプトはユーザーには表示されないの。
各社が丁寧に設計したガードレールが裏で動いているのよ。
開発者として独自のチャットボットを作る場合は、自分で設計するわけですね。
そう。
たとえば自社の問い合わせボットなら『製品Xについてのみ答える』『価格情報は最新版を参照する』などのルールを仕込むの。
この設計力がプロンプトエンジニアリングの上級スキルね。
見えないところでAIが守られてたんですねぇ…なんだか感動…
先生、システムプロンプトってどれくらいの長さがちょうどいいの?
いい質問ね。
一般的には500〜2000トークン程度が目安。
長すぎるとコンテキストウィンドウを圧迫するし、
短すぎるとルールが伝わりきらないの。
必要な指示に絞って、冗長さを避けるのがコツね。
トレードオフを意識した設計、ですね。
確認クイズ
システムプロンプトの特徴として正しいものはどれか?
- ユーザーが毎回入力する必要がある
- 会話全体に一貫して適用される
- AIの学習データを変更する
- トークン消費が発生しない
こたえを見る
正解: 2. 会話全体に一貫して適用される
システムプロンプトは一度設定すると会話全体に一貫して適用される特別な指示です。毎回入力する必要はなく、学習データを変更することもなく、トークン消費は通常通り発生します。