AI Prompting: how to ask an AI and get a useful answer
System prompts: the instructions you never see
What a system prompt is, how it differs from your message, why assistants behave differently across apps, and how to write custom instructions that actually stick.
The short answer
- A system prompt is a block of text the app puts in front of your message, telling the model who it is, what to refuse, what tools it has and how to format answers.
- It is not a setting the software enforces. It sits in the same stream of text as your words, with a role label that training taught the model to weight heavily.
- Two products running the identical model behave differently mainly because their system prompts, tools and injected context differ, not because the model differs.
- Custom instructions are your own small system prompt, and they work for durable preferences and lose to anything specific you say later in the chat.
- Instructions fade in long conversations because recent text crowds out old text, so restate a constraint in the message that needs it rather than trusting turn two.
A system prompt is a block of text an app places in front of your message before the model ever sees it. It typically says who the assistant is meant to be, what it should refuse, what tools it can call, today's date, and how answers should be formatted. You do not write it, you usually cannot read it, and it is the single biggest reason the same underlying model feels like a different product in two different apps. It is not a control panel or a permission system. It is a prompt, written by someone else, that arrives first.
What the model actually receives
The model does not have compartments. Everything reaching it is one sequence of text with role labels attached: this part is system, this part is user, this part came back from a tool. There is no separate channel and no locked drawer. During training, the model is taught to treat text labeled system as higher priority than text labeled user, which is why those instructions usually win. But "usually wins" is a learned habit, not a wall, and that distinction explains almost everything odd about how assistants behave, including why people can sometimes talk a model out of its instructions. Underneath, it is still predicting the next token from everything in front of it.
| Layer | Who writes it | Typical content | Can you see or change it? |
|---|---|---|---|
| System | The company running the model | Safety rules, broad persona, refusal behavior | No |
| Developer | Whoever built the app or feature | Task, tone, tools, output format, company knowledge | No, unless it is your own app |
| Custom instructions | You, once, in settings | Durable facts and preferences about how to answer you | Yes |
| Your message | You, each turn | The actual request | Yes |
| Retrieved content | Nobody in particular | Web pages, documents, tool results pulled in automatically | Rarely, and it should be treated as untrusted |
That last row is the one people forget. When an assistant reads a web page or a shared document for you, that text lands in the same stream as the instructions, and the model has no dependable way to tell content apart from commands. Words planted in a document saying to disregard earlier instructions are a real attack, known as prompt injection. In a plain chat the damage is limited to a strange answer. It becomes serious when the assistant can act on the world, which is the permission problem covered in what happens when a chatbot starts taking actions.
Why the same model behaves differently in two apps
People often conclude that a model got worse or that one company has a smarter version. Usually four less exciting things are different.
The system and developer prompts differ. One product asks for concise answers with bullet points, another asks for a friendly conversational tone, a third forbids the assistant from discussing anything outside its product. That alone produces answers that feel like different personalities.
The available tools differ. An assistant that can search the web answers a question about last week; one that cannot will fall back on what it learned during training, with all the confidence and none of the currency.
The injected context differs. Apps quietly add things: the current date, your location, the document open beside you, a summary of earlier chats, retrieved company material. Same question, different accompanying material, different answer.
The settings and the tier differ. Randomness settings, response length caps and sometimes a smaller or larger version of the model sit behind the same brand name, which is often what people are actually noticing when a free and a paid interface disagree; what a subscription actually buys you goes through those differences.
Custom instructions are your own system prompt
Most assistants let you save standing instructions, usually split into something about you and something about how you want replies written. Mechanically, this text is stored by the app and added near the front of every new conversation. It is not enforced by the software. It is more text, competing for attention with everything else, which explains both its strengths and its failures.
It works well for durable things. Where you are and what units you want. The vocabulary you already know, so it stops explaining basics. A default output shape, such as no restatement of the question and no closing summary. A hard preference like plain text rather than headings. These hold up because they apply to every request and never contradict anything you type later.
It works badly for anything aspirational. "Always be accurate" and "never make things up" have no lever behind them; there is no honesty dial, and a model that could tell when it was wrong would not be wrong. "Always be brief" backfires the first time you want depth, because the standing instruction and the specific request now disagree, and the ambiguity produces something in between. Keep the list short for a further reason: every word sits in the context of every conversation you have, gets processed on every turn, and dilutes everything else in there.
Custom instructions are also not the same thing as memory. Memory is written by the assistant about you over time and pulled back in when it seems relevant, so it changes without you touching it, which is a different set of trade offs covered in what the assistant keeps about you. Both are stored on someone else's system, so treat the settings box the way you would treat any other field you type personal details into, with what a chatbot does with personal data in mind.
Why instructions fade in a long chat
You ask for short answers at turn two. By turn thirty you are getting essays again. Three things are happening at once.
The first is dilution. Your instruction was one sentence in a conversation that is now thousands of words long, and recent text exerts more pull than old text. The second is compaction: once a conversation approaches the limits of the context window, earlier turns get summarized or dropped, and precise wording is exactly what a summary loses. The third is contradiction by example. You asked for brevity, then asked five questions that needed detailed answers and did not complain, so the recent pattern of the conversation now argues against the old instruction.
The fix is unglamorous and works: restate the constraint in the message where it matters, rather than trusting something you said twenty turns ago. Start a new chat when the task changes, since a fresh conversation is the cheapest way to clear accumulated drift. And keep style rules attached to requests rather than to sessions.
What a persona prompt can and cannot do
Telling a model it is a senior tax attorney does change the output. It shifts vocabulary, structure and what the answer treats as relevant, and it can be genuinely useful for that reason. It does not add knowledge the model never had, it does not grant access to anything, and it does not improve accuracy. The uncomfortable part is that it often increases confidence, so the answer sounds more authoritative while being exactly as likely to contain an invented detail as before.
In practice the useful half of a persona line is the audience and the framing, not the job title. "Explain this to someone who has never filed a return, using an example with real numbers" changes the answer far more than "you are an expert", because it describes what the output should look like rather than who is supposedly writing it. That is the same principle as writing a brief rather than a wish.
The custom instructions worth writing today
Open the settings and write five lines, no more. One line of durable context about your work or where you are. One line on what you already know, so it stops over explaining. One line on default shape, such as answer first, no restatement of the question, no closing summary. One line on format, such as prose by default and lists only when the content is genuinely a list; the specifics of that are in how to get the exact format you asked for. One line on what to do when it is unsure, such as saying so and naming what would resolve it, which is a request for a visible signal rather than a promise of accuracy. Then leave everything task specific out, because that belongs in the message, not the settings. Reread the list in a month and delete whatever you have been silently overriding in every chat, since that line is costing you attention on every single turn.
Common questions
Can I see the system prompt of an assistant I use?
Usually not officially. Asking the assistant to repeat its instructions sometimes produces text, but you cannot verify whether it is the real thing or a plausible reconstruction, and many products are told to decline. If the exact wording matters to you, for instance because you are evaluating a tool for work, ask the vendor for a description of what they instruct the model to do.
Do custom instructions count against the context window?
Yes. They are text added to every conversation, so they are processed on every turn and take space away from your actual material. A short list costs almost nothing. A page of standing instructions noticeably shortens how much of a long document or conversation the model can hold at once, and it dilutes whatever else you are asking for.
Why did the assistant ignore something I told it earlier?
Most often because the conversation grew and older text lost out to newer text, or because the earlier turns were summarized away when the chat got long. It can also be a direct conflict: a standing preference for brief answers loses to a request that clearly requires detail. Repeat the constraint in your current message and it will generally hold.
Is a system prompt the same as fine tuning?
No. A system prompt is text supplied at the moment of the request and can be changed instantly, with no effect on the model itself. Fine tuning adjusts the model's internal weights through additional training and persists across every conversation. Prompting is cheap and reversible, tuning is neither, which is why most product behavior you notice comes from prompts.
Does telling an AI it is an expert make it better at the task?
It changes the style more than the substance. You get more technical vocabulary and a more structured answer, which can be useful, but no new knowledge and no gain in accuracy. Describing the reader and the output you want produces a bigger improvement, and it avoids the side effect of an answer that sounds more certain than it should.