System prompts
A system prompt is a special instruction set given to the model before the conversation starts - it defines the model's role, rules, and boundaries for the whole session, and usually takes priority over what the user says afterward. Think of it as the "job description" the model reads before you ever say a word.
In apps built on the API, developers set the system prompt invisibly; the end user never sees or edits it. It's used to lock in persona, tone, safety rules, and constraints that should hold no matter what a user types. This is the mechanism behind "Claude will always speak formally" or "this bot will never discuss competitor pricing" behaviors you see in production AI products.
In Claude's API or console (or even by prefacing a chat message with "For this entire conversation, act as X and never do Y"), set a strict role, then try to get the model to break it with a normal user message. Notice how much more it resists compared to no system prompt at all.
What makes a system prompt different from a regular user message?