1. The prompt — the instruction
This is what you type. Not a question, but the complete input: the instruction, the material you attach, the format request, the examples.
The prompt is your most powerful lever, because it determines most of the model's behaviour. A better prompt improves the result more than a more expensive model does — worth remembering before you switch.
Four elements turn an instruction into a usable one:
- Task — what it should do, in one sentence.
- Material — what it should work from. Without this, it works from memory.
- Format — what the answer should look like. A table? How many points? How long?
- Constraint — what it must not do, or what to do when there is not enough information.
The fourth is the one most often left out, and it catches the most errors: "if the material does not contain the answer, say that it is not in there."
2. The system prompt — the frame
This is the background instruction that applies to the whole conversation and that the user does not see. It states what role the model is in, what tone to use, what it must not do, and what format to keep.
If you only use a chat interface you are meeting one of these too — the provider set it for you. Places where you can write it yourself:
- in the "custom instructions" setting of most chat interfaces
- when you create your own GPTs, projects or assistants
- through the API, on every call
The practical difference between the two: you write the system prompt once, the prompt every time. Whatever is the same for every task — the company name, the tone, the prohibitions, the format — belongs in the system prompt. Whatever changes per task belongs in the prompt.
A useful rule: if you have pasted the same sentence three times today, it belongs in the system prompt.
3. Temperature — predictability
This is the most misunderstood of the three. It is not a creativity dial, it governs how closely the model sticks to the most likely continuation.
At a low value it almost always picks the most likely token: predictable, repeatable, dull. At a high value it also picks less likely continuations: more varied, more inventive — and more prone to wandering off.
The important part: high temperature does not make it smarter, and it is not "more creative" in the human sense. It is merely less predictable. For brainstorming that is good; for data extraction it is a disaster.
Practical settings:
- Data extraction, categorisation, JSON output, code generation → as low as possible. Repeatability is the goal here.
- Summarising, translating, editing → low or medium. The content is fixed, the wording can vary.
- Brainstorming, slogans, headline variants → high. Here variety is the product.
In a chat interface this is usually not adjustable, and for good reason: the provider set a middle value that works for general use. Through the API, though, you set it — and it is one of the cheapest quality improvements there is. If an automated process occasionally returns data in the wrong format, turn this down before you start rewriting the prompt.
An example where all three matter
The task: incoming customer emails have to be categorised and answered.
- System prompt: "You are the customer service desk of an accounting firm. Concise, professional, plain language. You do not give legal advice. If the question is outside accounting, you say you are passing it on."
- Prompt: the text of the email, plus: "Return JSON with: category, urgency 1-3, suggested reply."
- Temperature: low. Predictability is the point here — not that every reply should be worded differently.
Run the same thing at high temperature and the JSON will occasionally be invalid, and the categories will start to scatter. Not because the model is bad, but because it is on the wrong dial.
What has been added recently
Many models now have a fourth dial as well: thinking effort. This does not adjust predictability but how much work to do before answering. There is a separate article about it: Reasoning Mode.
What to take away
The prompt supplies the content, the system prompt the frame, the temperature the predictability. If something is off with the result, check them in that order: is information missing from the prompt, is a rule missing from the frame, and is the dial set too high?