Prompt engineering doesn't need to be complicated. Most of the improvements you'll get come from a small set of patterns used consistently. Here are the 15 that actually move the needle.
Foundation Patterns
1. Role + Context + Task
The most reliable structure for any non-trivial prompt:
You are a [specific role with relevant expertise].
Context: [relevant background the model needs]
Task: [specific thing you want it to do]
Constraints: [what to avoid or include]
2. Show, Don't Just Tell
For format-sensitive outputs, include an example of exactly what you want:
Generate 5 tweet ideas. Format like this:
[Hook] + [Main point] + [Call to action]
Example: "Most people do X wrong. Here's what actually works: [point]. Try this today."
3. Specify the Audience
"Explain transformers" produces a different output than "Explain transformers to a software engineer who understands Python but has never worked with ML." Always be explicit about who the output is for.
4. The Anti-Pattern List
Tell the model what you don't want: "Do not use corporate jargon, passive voice, or filler phrases like 'It's worth noting that...'" Negative constraints are surprisingly effective.
Quality and Accuracy Patterns
5. Ask for Reasoning First
"Before answering, reason through this step by step. Show your work before giving your final answer." This dramatically improves accuracy on analytical tasks.
6. The Confidence Check
After receiving an answer: "How confident are you in this? What parts are you least certain about?" Models are often calibrated — they know when they're guessing.
7. Multiple Perspectives
"Give me three different perspectives on this: one optimistic, one skeptical, and one that focuses on practical implementation." Prevents single-viewpoint tunnel vision.
8. Devil's Advocate
"Now argue the opposite position as convincingly as possible." Great for stress-testing ideas, writing, or arguments.
Iteration Patterns
9. Refine, Don't Regenerate
Instead of re-running a prompt when the output is close but not quite right: "Keep the structure and tone of what you wrote, but make these specific changes: [list changes]." Much faster than starting over.
10. The Comparison Request
"Generate three versions of this [piece of content], each with a different approach: [approach 1], [approach 2], [approach 3]. I'll choose which direction to develop." Great for creative decisions.
11. Progressive Depth
Start with "Give me a high-level overview," then follow up with "Now go deeper on [specific part]." Better than asking for everything at once.
Structure and Output Patterns
12. Specify Length Explicitly
"Under 150 words", "exactly 3 bullet points", "a single paragraph of 4-6 sentences." Vague length instructions produce inconsistent results.
13. The Document Template
For structured documents, give the model the exact structure:
Write this in the following format:
## Section 1: [name]
[what goes here]
## Section 2: [name]
[what goes here]
14. JSON/Structured Output
When you need to parse the output programmatically: "Return your answer as valid JSON with these fields: [field list with descriptions]." Add "Do not include any text outside the JSON object."
Meta Patterns
15. Ask the Model to Improve Your Prompt
"Here's my prompt: [prompt]. What's wrong with it, and how would you rewrite it to get a better result?" One of the highest-leverage things you can do — especially for prompts you'll reuse repeatedly.