Every message typed into an AI chat tool is only part of what the underlying model actually receives. Sitting alongside it, usually invisible to the user, is a system prompt -- a set of instructions written by the application's developer, not the person typing, that gets sent to the model with every single request to shape how it behaves.

A system prompt is where an application's actual personality and rules usually live: instructions on tone and format (respond concisely, use markdown, stay in character as a specific persona), safety boundaries (refuse certain categories of request, avoid particular topics), and operational rules (which tools the model is allowed to call, and under what conditions). Two products built on the exact same underlying model can behave noticeably differently in normal use purely because of what each one's system prompt tells that model to do.

Understanding that a system prompt exists explains a lot of behavior that otherwise looks inconsistent: the same underlying model answering a similar question very differently across two different products isn't necessarily a different model at all -- it's frequently the identical model working from two different sets of hidden instructions. Some products treat their system prompt as a trade secret and actively try to prevent it from being extracted through clever prompting; others publish theirs openly, treating the instructions themselves as a non-sensitive part of the product's design.

This is also the trusted half of the distinction the existing prompt-injection piece in this category draws: a system prompt is instructions the application's own developer deliberately placed there, which is exactly why an instruction smuggled into untrusted external content and mistaken for a legitimate one is a security problem in the first place -- the model is supposed to treat its actual system prompt, and only its actual system prompt, as the authoritative instruction layer.

None of this requires a user to see or write a system prompt themselves to use an AI tool effectively -- but knowing one exists, sitting quietly behind every response, is often the fastest way to understand why a tool refuses a request, sticks stubbornly to one format, or otherwise "acts like itself" in ways that were never actually typed into the chat box.