A letter, not a text message
When you message a close friend, you donβt explain everything. They know you, they remember the thread of the conversation, and they catch your meaning from the smallest hint. Now imagine writing the same request as a formal letter: you introduce yourself, you make the subject clear, and you state exactly what you want and expect. Nothing is taken for granted.
A large language model belongs to the second category. It doesnβt know you, it canβt see your mental assumptions, and it cannot fill unspoken gaps with the right guess. That is why the first principle of prompting is to be explicit rather than implicit. Every rule you hold in your head has to be written down; every behaviour you expect has to be described. Like that formal letter, a good prompt should stand on its own β complete, and dependent on no unstated knowledge.
The six components of a good prompt
A well-structured prompt is usually built from six components. You wonβt always need all six, but it helps to know what each one does and which question it answers:
| Component | The question it answers |
|---|---|
| Role | Who am I? The modelβs identity and the scope of its responsibility |
| Context | What do I know? What the model needs to know about its situation |
| Task | What should I do? The concrete steps and their order |
| Constraints | Where are my limits? Rules, exceptions, and how to behave safely under uncertainty |
| Examples | How should I do it? Patterns that guide the model when description alone isnβt enough |
| Format | How should I respond? The exact structure of the output |
The first two components set the modelβs identity and awareness: Role says who the model is and what is and isnβt in its remit; Context gives it what it needs to decide β and no more. Task and Constraints are the heart of the prompt: break the work into clear steps and write the rules out plainly, including what the model should do when it is unsure. The last two are the most optional: reach for Examples only when description alone doesnβt carry the point, and specify Format when the output has to follow a particular structure.
Five mistakes beginners make
1. Writing vaguely. βSummarise thisβ can be read a dozen different ways. Instead, write: βSummarise it in at most three sentences, in plain language.β The more precise the instruction, the more stable and predictable the output.
2. Framing by negation instead of instruction. βDonβt use jargonβ works less well than βwrite in plain, everyday language.β Telling the model what to do is always clearer than listing what it must not do.
3. Overloading it with information. Any sentence the model doesnβt need is noise, and it breaks the modelβs focus. Give it only what the task at hand requires β not a long history, and not irrelevant side detail.
4. Leaving no room for doubt. If the model has no way to say βI donβt know,β it fills the gap with a guess β and that is exactly where hallucination begins. Give it explicit permission: βIf you donβt have enough information, ask instead of guessing.β
5. Inconsistent vocabulary. If you call one concept βuserβ in one place and βcustomerβ in another, the model assumes they are two different things. Choose a single word for each concept and stay loyal to it throughout.
Start simple
The first prompt is rarely the best one. Begin with a simple version, test it against a few real scenarios, find where it slips, and fix only those parts. Complexity should emerge in answer to a real need, not be imposed from the start. Writing prompts is less a talent than a habit: be clear, assume nothing, and sharpen your structure with each round of testing.