ブログ/
システムプロンプトとユーザープロンプトの違い・使い分け完全ガイド
2026年6月25日·約4分で読めます
ChatGPT や Claude を業務に組み込んでいると、「システムプロンプト」「ユーザープロンプト」という言葉を聞きます。両者の責務分担を理解すると、出力品質と再現性が一段上がります。
システムプロンプトの役割
システムプロンプトは、AI に「自分が何者で、どう振る舞うべきか」を定義する指示です。
- AI の 役割・人格・専門性 を設定
- トーン・スタイル・禁止事項 を指定
- 出力形式の基本ルール を定義
- 常に守るべき制約 を埋め込む
例:
あなたは {{company}} のカスタマーサポート担当です。
- 丁寧語ベース、絵文字は使わない
- 個人情報を顧客から聞き出さない
- 不確実な情報は推測せず「確認します」と返す
- 出力は「結論 → 理由 → 次のアクション」の 3 段構成
ユーザープロンプトとの責務分担
ユーザープロンプトは、具体的なタスクを渡す指示です。「今回これをやってください」という単発の依頼。
- 個別タスクの 入力データ
- そのタスク固有の オプション・条件
- 例外的な要望
例:
以下の問い合わせに対する返信ドラフトを作成してください。
# 問い合わせ
{{customer_message}}
# 顧客情報
{{customer_profile}}
「変わらない部分はシステムへ、変わる部分はユーザーへ」が基本原則です。
Claude と ChatGPT の扱いの違い
| 観点 | Claude | ChatGPT |
|---|---|---|
| 指定方法 | system パラメータ | system ロールメッセージ |
| 長さ | 1M context まで可能(Opus 4.7) | モデル依存 |
| 遵守度 | システム指示への忠実度が高い | 高いがやや user に引っ張られやすい |
| キャッシング | Prompt Caching でシステム再利用が効率的 | 部分的なキャッシング |
Claude はシステムプロンプトをかなり厳格に守る傾向があり、業務組み込みでの再現性が高いです。ChatGPT はユーザー側の指示で振る舞いが上書きされやすいので、システム側で 明示的に禁止事項を書く ことが大事です。
業務での具体例
カスタマーサポート Bot
- システム: 役割定義、トーン、禁止事項、出力形式
- ユーザー: 個別の問い合わせ本文と顧客情報
分類タスク
- システム: 分類軸の定義、JSON 出力形式、推測禁止
- ユーザー: 分類対象テキスト
コード生成
- システム: 言語、コーディング規約、コメント方針
- ユーザー: 具体的な仕様
よくある失敗
- 全部 user に詰め込む: 役割定義もタスクも一緒くたにすると、毎回長文で送る必要があり、再現性も落ちる
- system を空にする: ChatGPT のデフォルトキャラがそのまま出るので、業務トーンと乖離する
- system に固有データを書く: 顧客名など可変情報を system に入れると、複数顧客向けの API 呼び出しで使い回せない
PrompTune で運用する
PrompTune の 無料診断ツール では、プロンプト全体を 5 軸で診断し、システム/ユーザーへの責務分担が適切かを判定します。プロンプト品質の見直しに活用ください。