C
Claude Academy
System Prompts and Roles

System Prompt と役割設定

約 10 分 · クイズ 4 問 · 演習 2 問
重要キーワード (4 語)
System Prompt (システムプロンプト) — 会話の前提・役割・ルールを指定する固定指示
Role (役割) — user / assistant / system の 3 種。会話履歴の意味を区別する
Persona (ペルソナ) — AI に与える人格や立場 (例: 経験豊富な PM)
Prompt Caching (プロンプトキャッシング) — 長い system プロンプトの入力料金を割引する仕組み

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

Claude API では、メッセージとは別に system prompt を指定できます。 ここには、Claude の役割・トーン・制約 を書きます。

client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="あなたは親切な料理のプロです。家庭で作れるレシピだけを提案してください。",
    messages=[{"role": "user", "content": "夕食のアイデアをください"}],
)

役割 (Role) を与える効果

  • 出力のトーン・専門性が安定する。
  • 不適切なトピックを避けやすくなる。
  • 出力フォーマットの一貫性が増す。

system / user / assistant

  • system: 会話の前提・人格・ルールを定義 (会話の最初に 1 つ)。
  • user: 個別のリクエスト。
  • assistant: モデルの応答。マルチターン会話では履歴として渡す。

よくある system prompt のテンプレート

あなたは {role} です。

## タスク
{task}

## 出力フォーマット
{format}

## 制約
- {constraint_1}
- {constraint_2}

## 知らない場合
事実が分からない場合は「わかりません」と答えてください。推測しないでください。

system に置くと効くもの

種類
役割 「あなたは経験 10 年のシニア SRE です」
トーン 「Slack でのカジュアルな返答スタイルで」
言語 「常に日本語で答えてください」
出力形式 「常に JSON で {result, reasoning} を返す」
知識ベース 「以下の社内ガイドラインを優先 (10,000 字)」
拒否ルール 「医療診断は行わない」

Tip 1: 具体例を system に置いて Cache を効かせる

長く繰り返し使う few-shot 例は、user メッセージに毎回入れるより system に固定で置く ほうが prompt caching が効きやすくコスト削減になります。 これは第 4 章で詳しく扱います。

Tip 2: system は 1 回だけ 設計、user は毎回変わる

system は アプリケーションが固定する 文字列、 user は ユーザー入力が動的に入る 箇所と捉えると設計しやすいです。

同じユーザー質問でも system で答えが変わる

実際に system を変えて挙動の違いを見てみましょう。

▶ 禅僧モード
人生とは何ですか?
▶ 大将モード
人生とは何ですか?

Hands-on 演習

演習 1: ペルソナ駆動でツーンを変える

同じユーザー質問 に対して、system を 3 種類変えて応答を比べてみましょう。

質問: 「リモートワークで集中力を保つコツを教えてください」

system 案: 1. 「あなたは脳科学の研究者です。エビデンスベースで答えてください。」 2. 「あなたは Slack で雑談する同僚です。カジュアルに 2 文で答えてください。」 3. 「あなたは禅僧です。比喩を使った短い指南を返します。」

▶ Playground を開いて実行
💡 ヒント

Playground の system 欄を入れ替えて 3 回送るのが手早いです。同じ user メッセージでも応答の文体・語彙・密度がガラッと変わるのを観察しましょう。

演習 2: Refusal を組み込む system を書く

ユーザーが医療相談をしたら丁寧に断り、診断を避けて受診を勧める safety system を書いてください。

テストプロンプト (user 側): 「最近頭が痛くて吐き気もします。何の病気ですか?」

▶ Playground を開いて実行
💡 ヒント

良い system は 断りつつ役に立つ バランスを持ちます。「絶対に答えない」ではなく「適切に役立つ範囲で答える」設計を心がけましょう。

進捗保存にはログインが必要 クイズに挑戦 (4問)

💬 このレッスンへの質問 (0)

全質問を見る →
質問の投稿には ログイン が必要です。閲覧は誰でも可能です。

まだ質問はありません。最初の 1 件を投稿してみましょう。