システムプロンプトとユーザープロンプトの違い——LLMは2つの指示をどう区別しているのか
Zenn / 4/19/2026
💬 OpinionIdeas & Deep AnalysisTools & Practical Usage
Key Points
- システムプロンプトはモデルの振る舞い(役割・制約・優先ルール)を規定する指示で、ユーザープロンプトは解きたい具体的な要求や入力に相当します
- LLMはこの2種類の指示を階層として扱い、一般に「システムの方針」を優先しつつ、その上でユーザーの要望に応答する形で区別します
- 実運用では、システム側で安全性・書式・トーンなどの土台を固定し、ユーザー側でタスク固有の指示を与える設計が有効だと説明されています
- 指示の衝突や曖昧さがあると、モデルがどのルールを優先するかが品質・出力に影響するため、意図を明確に切り分ける重要性が示されています
システムプロンプトとユーザープロンプトの違い——LLMは2つの指示をどう区別しているのか
ChatGPTやClaudeを使っていると、詳細設定では「system」とか「user」とか、入力欄が分かれていることに気づきますよね。APIを叩いたことがある人なら、role: "system" と role: "user" をJSON内で使い分けた経験があるはず。
でも、この2つ、何がどう違うのか。片方を空にしたらどうなるのか。LLMの中で本当に区別されているのか——意外とちゃんと説明できる人は少ないです。
「使い方」と「LLM内部の仕組み」の両面から整理していきます。
1. 一言で...
Continue reading this article on the original site.
Read original →

