用語集 最終更新 2026.07.25

system message

system message は、AI にどう振る舞ってほしいかを、ユーザーの入力より先に置いておく上位の指示です。 初心者向けには、この会話ではこういう役割・ルールで答えて と最初に決めておく土台と考えると分かりやすいです。日本語では「システムプロンプト」と呼ぶことも多いです。

提供元によって呼び名も形も違う

同じ役割なのに、API ごとに置き場所が違うのが混乱しやすいところです。

  • OpenAI … o1 以降のモデルでは system ではなく developer ロールが現行の呼び名です。公式ドキュメントは developer メッセージを アプリ開発者からの指示で、ユーザーのメッセージより優先される と説明しています(Text generation)。指示の強さは platform(提供元) > developer(開発者) > user(利用者)の順という考え方(instruction hierarchy)が Model Spec で示されています
  • Anthropic(Claude) … メッセージのロールではなく、リクエストのトップレベルの system パラメータです。公式リファレンスは Messages API に入力メッセージ用の "system" ロールは存在しない と明記しています(Messages API
  • チャットUIの「カスタム指示」 … 実体としては同じ層に近い機能です

移植のときは、system ロールで送ればどこでも同じ とは考えず、その API の現行仕様を確認するのが安全です。

何を書くか

  • 役割(誰として答えるか)と読み手の前提
  • 出力の形式と長さ、禁止事項
  • 迷ったときの優先順位(分からないときは推測せず、分からないと答える など)

何を書かないか

system message に入れた内容は、利用者から見えない保証がありません。 巧妙な入力で内容を吐き出させるプロンプトインジェクションは現実に起きるため、APIキー、社外秘の条件、個人情報は置かないのが原則です。

権限の制御は、system message の文章ではなく、そもそも AI に渡すデータと実行できる操作の側で絞ります。

近い用語との違い

あわせて見たい用語

実務での書き方は プロンプトエンジニアリングとは?実務で使える書き方を解説 で扱っています。