How does it work?
Requests to a model are a list of messages, each labelled with a role. The system message comes first, and models are trained to weight it more heavily than anything a user says afterwards. It stays in context for the whole conversation, so it is re-read on every turn and paid for in tokens on every turn.
In practice it carries the role, the tone, the output format, the boundaries and any facts that should hold across the whole session — the current date, the user tier, which tools exist.
