Short answer: bad AI output is almost always vague input. Use the Role + Goal + Context + Output formula — tell the model who it is, what you want, what it needs to know, and what the answer should look like. Four short lines of structure are the difference between a generic paragraph and exactly the thing you asked for.
The formula
Each part fixes one failure mode. Role sets the perspective and vocabulary — a senior copywriter writes differently than a generic assistant. Goal states the one concrete thing you want; keep it to one goal per prompt, because three requests get three half-answers. Context is the material the model cannot guess: your audience, your constraints, your examples. Output pins down the shape of the answer — length, format, tone — so you don't get an essay when you needed bullets.
The template
Copy this, fill in the brackets, and you have a solid prompt for almost any task:
- Role: You are a [job title or expert type, e.g. senior technical writer].
- Goal: [One concrete task, e.g. rewrite this paragraph for clarity.]
- Context: [Audience, background, and any material — paste it here.]
- Output: [Format and length, e.g. 150 words, three bullets, friendly tone.]
Weak vs strong: the same task
Watch what the formula does to one task — writing a product description for wireless headphones:
- Weak: "Write a product description for our headphones." You get a generic paragraph that could describe any headphones ever made.
- Strong: "Role: you are a copywriter for an audio brand. Goal: write a product description for wireless headphones. Context: the audience is commuters; key features are 40-hour battery and noise cancelling; tone is casual. Output: 80 words, one headline, three bullets." You get a description shaped to the brief.
Constraints sharpen output
The Output line does most of the work. Models fill whatever space you leave open, so close it: give a word count, a format, and a tone. "Under 200 words", "as a two-column table", "no jargon" — each constraint removes a whole class of bad output. And when the first answer is close but not right, don't rewrite the prompt from scratch. Iterate with a follow-up instead: "Shorter. Drop the second bullet. Make the opening more direct." Follow-ups build on context the model already has, which is faster and usually better than starting over.
The traps
- Skipping context: the model cannot know your audience, your product, or your constraints. If you didn't say it, it guessed — and guesses are generic.
- Three goals in one prompt: ask for a summary, a critique, and a rewrite at once and you get three shallow answers. One prompt, one goal.
- No output format: without a length and a shape, you get whatever length the model feels like. "Brief" is not a length — use a number.
- Rewriting instead of iterating: if the answer is 80% right, a follow-up ("make it shorter and friendlier") beats a brand-new prompt.
- Prompting in a vacuum: paste the actual material — the paragraph, the data, the example you like. The model works with what you give it.
Try it
Build your next prompt with the Prompt Template Generator — fill in the Role, Goal, Context, and Output slots and copy the finished prompt, all in your browser.