System Prompt
A system prompt is text prepended to every conversation with a {{large language model}} that establishes role, rules, available tools, and context the model would otherwise lack — including the current date. It is the primary place applications shape model behavior at inference time.
A system prompt is a block of text supplied to a large language model before any user input, typically through a dedicated "system" role in the chat API. It is the standard mechanism for telling a model who it is supposed to be, what it is allowed to do, what tools it can call, and any facts about the world that the weights do not contain — most importantly, the current date and time zone. System prompts are distinguished from user messages in LLM API Basics: System Prompts vs User Prompts by their role label; under the hood they are concatenated into the same token stream the model attends to. In practice they carry product persona, refusal rules, tool schemas, retrieval results, and runtime metadata. Many providers also accept a separate "developer" role with similar behavior. Because the model has no clock and no view of the surrounding application state, the system prompt is where applications close those gaps. Production deployments routinely inject the current date, the user's locale and time zone, the name of the product, and the list of tools the model may call. Empirically, placing high-importance facts near the start of the system prompt yields better adherence than burying them near the end. System prompts are also a known surface for prompt injection, since any untrusted text the model later reads can attempt to override earlier instructions.