Prompting, from easy to hard
A seven-level ladder from a clear ask to prompts tuned against data. Each level has a before and after, a prompt to copy, an exercise and a way to measure the gain, tied to current vendor docs.
On this page
- The seven levels
- When to climb and when to stop
- Level 1: a clear ask
- Level 2: examples
- Members only: Level 3: structure and output contracts
- Members only: Level 4: reasoning and decomposition
- Members only: Level 5: tools and retrieval
- Members only: Level 6: system prompts as specifications
- Members only: Level 7: optimizing with data
- Members only: Model notes, October 2026
- Members only: Patterns that work
- Members only: Mistakes to avoid
Most weak AI output comes from a prompt that leaves the model guessing. This ladder fixes that in seven levels. Each level adds one technique and costs more effort than the one below it, so climb only when a failure you can name tells you to. Levels 1 and 2 cover most daily work in any assistant: Claude, ChatGPT, Gemini or Microsoft Copilot. Levels 3 to 5 are for prompts you reuse or build into tools. Levels 6 and 7 are for prompts that run inside a product, where the system prompt is a specification and every change is measured.
The seven levels#
Step 1 of 7 · Clear ask
Summarize these 40 support tickets into the top 5 issues.
Hover or tap a step to see what it adds.
| Level | Technique | Fixes this failure | Typical effort |
|---|---|---|---|
| 1 | A clear ask: task, context, audience, format | Generic, off-target answers | 2 minutes |
| 2 | Examples: few-shot and contrastive pairs | Wrong tone, format drift, inconsistent labels | 15 minutes |
| 3 | Structure and output contracts | Instructions mixed up with material, output a program cannot parse | 30 minutes |
| 4 | Reasoning and decomposition | Errors on problems with dependent steps | 1 hour |
| 5 | Tools and retrieval | Invented facts, missing or stale knowledge | Hours to days |
| 6 | System prompts as specifications | Drift across users, unsafe actions, prompt injection | Days |
| 7 | Optimizing with data | A plateau you cannot see past by reading outputs | Days, then ongoing |
Three rules make the ladder work:
- Start at level 1 and test on 5 to 10 real inputs before you judge a prompt. One good answer proves nothing, because the same prompt can give a different answer on the next run.
- Name the failure, then take the level that fixes it. Adding techniques out of habit (a role line, "think step by step", fifteen examples) costs tokens and can make results worse on current reasoning models.
- Measure each change on the same inputs. From level 3 up, keep your test inputs in a file and rerun them after every edit. The evals guide shows how to turn that file into a real test set.
Higher levels keep the lower ones. A level 6 system prompt still needs a clear ask and good examples.
When to climb and when to stop#
Match the level to the job:
- One-off asks you read yourself, such as an email draft, a summary or a brainstorm: levels 1 and 2.
- Output that a spreadsheet or program consumes, or a prompt you reuse every week: level 3.
- Several dependent steps, such as a calculation, a policy decision with conditions or a code review: level 4.
- Answers that depend on facts the model cannot know, such as your documents, today's numbers or a private system: level 5.
- Other people use the prompt through a product, or an agent acts on their behalf: level 6.
- The prompt runs thousands of times, a few points of accuracy matter, and you can collect 100 or more labelled examples: level 7.
Prompting is the wrong fix in four cases:
- The model lacks the information. No wording fixes a missing document. Give it the document or a search tool (level 5).
- The task is deterministic. Totals, date arithmetic, deduplication and format conversion belong in code or a spreadsheet formula. Ask the model to write the formula or script, then run it yourself.
- The model is the bottleneck. Try a stronger model before you write a longer prompt. The reverse also holds: a precise prompt can let a cheaper model do the job, and only a measurement tells you which.
- The output needs a guarantee. If a field must always parse, use structured outputs (level 3), not a sterner instruction.
Warning
Never paste customer personal data, payroll, unreleased financials, credentials or code you are not allowed to share into a consumer chat app. Use your company's enterprise plan, where your data is not used for training, or redact first: replace names and account numbers with labels such as [CUSTOMER_1] before you paste.
Level 1: a clear ask#
Principle. Write the prompt as a brief for a smart colleague who has never seen your project. Anthropic's docs call this the golden rule: show your prompt to a colleague with minimal context on the task, and if they would be confused, the model will be too. A clear ask has four parts:
- Task: a verb, the object and the decision the output feeds. "Summarize" is a verb. "Summarize so the CFO can decide whether to pause the campaign" is a task.
- Context: who you are, what the material is, what you already know or tried, and the constraints.
- Audience: who reads the result and what they already know.
- Format: length, structure, tone and what to leave out.
Microsoft teaches the same idea for Copilot as goal, context, source and expectations. Two habits help on every current model. Say what to do instead of what not to do: "write in flowing paragraphs" works better than "don't use markdown". And give the reason behind a rule. Anthropic's example: "NEVER use ellipses" works less well than "Your response will be read aloud by a text-to-speech engine, so never use ellipses since the text-to-speech engine will not know how to pronounce them", because the model can generalize from the reason.
Before.
Code
Summarize this report.
After.
Code
Summarize the attached Q3 churn report for our CFO, who has five minutes before the board meeting. She knows the business well but not our analysis methods. Lead with the single number that moved most and why. Then give three bullets: what drove churn, what we are doing about it, and the question the board is most likely to ask. Stay under 150 words and skip methodology. If the report does not support a claim, say so instead of guessing.
A prompt to copy.
Prompt
The four-part ask
Task: [WHAT YOU WANT, STARTING WITH A VERB, AND THE DECISION IT FEEDS] Context: [WHO YOU ARE, WHAT THIS MATERIAL IS, WHAT YOU ALREADY KNOW OR TRIED] Audience: [WHO WILL READ THE RESULT AND WHAT THEY ALREADY KNOW] Format: [LENGTH, STRUCTURE, TONE, AND WHAT TO LEAVE OUT] If anything you need is missing or ambiguous, ask me up to three short questions before you start. If the material does not support a point, say so rather than filling the gap. Material: [PASTE THE TEXT, OR ATTACH THE FILE]
Exercise. Find the last prompt that gave you a mediocre answer. Rewrite it with the four parts. Run both versions on the same material in two fresh chats, so neither sees the other. Ask a colleague to pick the better output without telling them which prompt made it. Repeat on two more tasks.
Measure the gain. On five real tasks, record the minutes you spend editing the output before you can use it, with the old prompt and the new one. A quicker score: rate each output "usable as is", "light edits" or "rewrite". A clear ask should move most outputs out of "rewrite". If it does not, the problem is usually missing material, not wording.
Level 2: examples#
Principle. Show, do not describe. One good example carries tone, length, structure and edge-case handling faster than a paragraph of rules. Anthropic recommends 3 to 5 examples that are relevant (they mirror your real inputs), diverse (they cover edge cases and vary enough that the model does not copy accidental patterns) and wrapped in tags so the model can tell them apart from instructions. A contrastive pair adds a near miss: two inputs that look alike but need different outputs, each with the reason. Pairs teach the boundary of a rule, which is where most classification errors live.
Three cautions:
- Models copy examples closely, including length and phrasing. If every example is 40 words long, expect 40-word answers.
- Balance labels and vary order. Research on GPT-3 found that example order and label mix alone could swing accuracy from near chance to near state of the art (Zhao et al., 2021; Lu et al., 2022). Those studies used older models, but balancing labels and shuffling order still costs nothing.
- Reasoning models often need fewer examples. OpenAI's reasoning guide says to try zero-shot first and add examples only for complex output requirements, keeping them consistent with your instructions. Anthropic notes that worked examples also shape how Claude approaches similar problems in its thinking.
Before.
Code
Classify these support tickets by urgency: [TICKETS]
After. Defined labels, four examples that cover each label plus a borderline case, and a contrastive pair:
Prompt
Ticket triage with examples and a contrastive pair
Classify each support ticket as URGENT, NORMAL or LOW. URGENT: a customer cannot use something they pay for right now, or money or data is at risk. NORMAL: something is broken but a workaround exists. LOW: a question, a feature request or general feedback. <examples> <example> Ticket: Checkout returns error 500 for every card since 09:00. Label: URGENT </example> <example> Ticket: The CSV export puts dates in US format. I fix them in Excel for now. Label: NORMAL </example> <example> Ticket: Do you plan to add a dark mode? Label: LOW </example> <example> Ticket: I was charged twice for March. Please refund one payment. Label: URGENT </example> </examples> These two look alike but get different labels: <contrast> Ticket: I can't log in and the password reset email never arrives. Label: URGENT, because there is no way in. Ticket: I can't log in with Google, but email and password login still works. Label: NORMAL, because a workaround exists. </contrast> Answer with one label per line, in ticket order, and nothing else. <tickets> [PASTE TICKETS, ONE PER LINE] </tickets>
Exercise. Pick a writing task where the output never sounds like your team. Collect three past examples you were happy with and strip names and customer details. Add them inside example tags to your level 1 prompt, then compare five outputs from each version without knowing which is which.
Measure the gain. For classification, label 30 real items yourself (10 per class, including 5 borderline cases) and count correct answers with and without examples. For style, show a colleague 10 blind pairs and count how often they pick the version with examples. Nine or ten wins out of ten is a real preference. Chance alone produces six or more out of ten in over a third of tries, so treat six as no difference.
Level 3: structure and output contracts
Members only below this line
Get the rest of this guide free
What you get on this page:
- 5 prompts
Also in the members part
- Level 4: reasoning and decomposition
- Level 5: tools and retrieval
- Level 6: system prompts as specifications
- Level 7: optimizing with data
- Model notes, October 2026
- Patterns that work
- Mistakes to avoid
Sources
Checked against these on 13 Oct 2026.
- Prompting best practices (Claude docs) (opens in a new tab)platform.claude.com
- Prompt engineering (OpenAI API docs) (opens in a new tab)developers.openai.com
- Reasoning best practices (OpenAI API docs) (opens in a new tab)developers.openai.com
- Gemini 3 developer guide, prompting best practices (Google AI for Developers) (opens in a new tab)ai.google.dev
- Get started writing prompts in Microsoft 365 Copilot (Microsoft Support) (opens in a new tab)support.microsoft.com
- Structured outputs (Claude docs) (opens in a new tab)platform.claude.com
- Structured model outputs (OpenAI API docs) (opens in a new tab)developers.openai.com
- Effort (Claude docs) (opens in a new tab)platform.claude.com
- Reasoning models (OpenAI API docs) (opens in a new tab)developers.openai.com
- Refusals and fallback, keep reasoning in thinking blocks (Claude docs) (opens in a new tab)platform.claude.com
- Define tools, best practices for tool definitions (Claude docs) (opens in a new tab)platform.claude.com
- Writing effective tools for agents (Anthropic Engineering, September 2025) (opens in a new tab)anthropic.com
- Function calling (OpenAI API docs) (opens in a new tab)developers.openai.com
- Citations (Claude docs) (opens in a new tab)platform.claude.com
- Mitigate jailbreaks and prompt injections (Claude docs) (opens in a new tab)platform.claude.com
- Safety in building agents (OpenAI API docs) (opens in a new tab)developers.openai.com
- LLM01:2025 Prompt Injection (OWASP Gen AI Security Project) (opens in a new tab)genai.owasp.org
- LLM07:2025 System Prompt Leakage (OWASP Gen AI Security Project) (opens in a new tab)genai.owasp.org
- Defending Against Indirect Prompt Injection Attacks With Spotlighting (Hines et al., 2024) (opens in a new tab)arxiv.org
- Defeating Prompt Injections by Design (Debenedetti et al., 2025) (opens in a new tab)arxiv.org
- dspy.GEPA reflective prompt optimizer (DSPy docs) (opens in a new tab)dspy.ai
- dspy.MIPROv2 (DSPy docs) (opens in a new tab)dspy.ai
- GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning (Agrawal et al., 2025) (opens in a new tab)arxiv.org
- promptfoo command line reference, optimize (opens in a new tab)promptfoo.dev
- Prompt optimizer (OpenAI API docs) (opens in a new tab)developers.openai.com
- Prompt optimizer (Gemini Enterprise Agent Platform docs) (opens in a new tab)docs.cloud.google.com
- Claude Platform release notes, Workbench and prompt tools retired on 17 August 2026 (opens in a new tab)platform.claude.com
- OpenAI API deprecations, reusable prompts and the Evals platform (opens in a new tab)developers.openai.com
- Get started with prompt management (Langfuse docs) (opens in a new tab)langfuse.com