What is a system prompt (and how is it different from a user prompt)?
A system prompt is the top-level instruction that establishes the assistant's role, rules, and behavior for an entire session. The user prompt is the specific request a person types on a given turn. The system prompt is set once and persists; the user prompt changes every message.
Because the system prompt carries the standing rules, it is the right place for things that must hold across the whole conversation: the model's persona, what it may and may not do, the output schema, and refusal behavior. Per the Claude prompt engineering overview and OpenAI's prompting guide, instructions placed at the system level are weighted as higher-priority context than per-turn user instructions.
For a deeper treatment of the split, see our guide on system prompt vs. user prompt.