How to Write Better AI Prompts (What Actually Still Works)
Search this exact phrase and you'll find dozens of guides, each with its own five-letter framework, CRAFT, RACE, RGACIO, all repackaging the same basic idea: role, task, context, format, constraints. Almost every one of them also tells you to add "think step by step" for better reasoning. A Wharton study published in 2025 and still holding up in 2026 found that for models with built-in reasoning, that phrase now adds only marginal accuracy while making responses 20 to 80 percent slower.
This guide skips the acronym and goes straight to what Anthropic's and OpenAI's own official documentation actually recommends, what the research says still works, and where the generic advice has quietly gone stale. Try our Prompt Quality Checker once you've read through this to test your own prompts against these principles directly.
Like what you're reading? Add Review Publically as a preferred source to see more of our content in Google Search and AI Overviews.
The Quick Answer
State your task clearly, give the model only the context that would actually change the answer, specify the exact format and length you want, and add one example if the task is subjective or stylistic. That combination, straight from Anthropic's and OpenAI's own guidance, covers most of what actually moves the needle.
The most repeated technique of all, chain-of-thought prompting via "think step by step," deserves a closer look on its own, since it's the one piece of advice that has quietly changed the most as models have evolved. What matters less than most guides claim: memorizing a five-part acronym, or reflexively adding that phrase to every prompt, which a 2025 Wharton study found adds little value on models with built-in reasoning.
What the Frameworks Get Right (Even If the Acronyms Are Redundant)
Before dismissing the acronym-driven guides entirely, credit where it's due: the underlying ingredients they all point to are genuinely correct, and none of this is meant to suggest that structure in a prompt is bad. Clarity about the task, relevant context, a specified format, and a defined tone or role all measurably improve output quality, and every serious source, official or third-party, agrees on that much. The problem isn't the ingredients, it's that a dozen different sites have each invented their own five-letter name for the identical list, as if repackaging it counts as new research, and that repackaging often implies you must fill in every category on every prompt regardless of whether the task calls for it.
The clearest version of the underlying idea, stripped of any acronym, is simply this: a model cannot read your mind, so anything you leave implicit is something it has to guess. "Write a blog post about marketing" leaves the audience, length, tone, and angle entirely to chance. "Write a 600-word blog post explaining email marketing open rates to small business owners who are not marketing specialists, in a friendly but professional tone" removes the guessing. That's the whole mechanism behind every framework, whatever it happens to call itself.
The Chain-of-Thought Asterisk Nobody Mentions
Here is the piece of advice that shows up in essentially every prompt engineering guide published in the last three years: add "think step by step" or "reason through this carefully before answering" to improve accuracy on complex tasks. This technique, called chain-of-thought prompting, was formalized by researchers in 2022 and has been repeated as near-universal advice ever since.
A 2025 report from Wharton's Generative AI Labs, authored by Lennart Meincke, Ethan Mollick, Lilach Mollick, and Dan Shapiro, put that advice to a real test. Using the GPQA Diamond dataset, 198 PhD-level multiple-choice questions spanning biology, physics, and chemistry, the researchers compared model performance with and without explicit chain-of-thought prompting, across both reasoning-tuned models and standard, non-reasoning models. The dataset was chosen specifically because the questions are hard enough that even skilled non-experts using search engines struggle to answer them correctly, which makes it a genuinely demanding test of whether an extra prompting instruction moves the needle.
The results split cleanly by model type. For standard, non-reasoning models, chain-of-thought prompting still produced a modest average improvement, though it also introduced more variability, occasionally causing errors on questions the model would have otherwise answered correctly. For models with reasoning built directly into how they generate a response, the story was different: explicit chain-of-thought prompting produced only marginal, if any, additional accuracy, while increasing response time by 20 to 80 percent. Many modern models, the researchers noted, already perform step-by-step reasoning internally whether or not you ask them to, which is exactly why explicitly requesting it adds so little on top.
If you're using a model with a visible or built-in reasoning mode, adding "think step by step" is probably not doing the work you assume it is, and it is very likely costing you time and tokens for a response that would have looked nearly identical without it. If you're using a smaller or older non-reasoning model, the phrase can still help, though it's worth testing on your specific task rather than assuming it always will.
Worth sitting with for a moment: the researchers' explanation is not that chain-of-thought prompting stopped working, it's that reasoning models made the explicit instruction redundant. When a model already decomposes a hard question into intermediate steps before producing an answer, telling it to do so again in your prompt is asking for something it was already going to do, at the cost of generating more tokens along the way. That reframes the advice less as "stop using chain-of-thought" and more as "check whether you're paying twice for the same thing."
What Anthropic and OpenAI's Own Guides Actually Say
Both Anthropic and OpenAI publish free, official prompting documentation, and neither pushes a rigid five-part acronym. Comparing them directly is more useful than reading a third-party's repackaged version of either.
| Source | Core emphasis |
|---|---|
| Anthropic | Clarity, sufficient context, examples for subjective tasks, and explicitly using the minimum necessary structure rather than the most complex prompt possible |
| OpenAI | Six core strategies: clear instructions, reference text, splitting complex tasks into subtasks, giving the model time to reason when appropriate, using external tools, and testing changes systematically |
Notice what's absent from both: neither recommends memorizing a fixed acronym template for every prompt. Anthropic is explicit that the best prompt is the one that "achieves your goals reliably with the minimum necessary structure," not the longest or most elaborately formatted one. OpenAI's own guidance similarly notes that most people only need its first three strategies, clear instructions, reference text, and task decomposition, before the more advanced techniques become relevant at all.
The two guides also converge on something worth calling out directly: both treat prompting as an iterative skill you build through testing, not a template you fill in once and reuse forever. OpenAI's strategy of splitting complex tasks into subtasks and Anthropic's emphasis on giving a model room to reason only when the task genuinely calls for it are both pointing at the same underlying discipline, matching the amount of structure to the actual difficulty of the task in front of you, rather than applying a fixed formula regardless of what you're asking for.
The Over-Engineering Trap
If clarity and context are good, it's tempting to assume more of both must be better. Anthropic's own engineering guidance on context specifically warns against this instinct. Models operate with a finite attention budget, and stuffing a prompt with an exhaustive list of every conceivable edge case dilutes the signal that actually matters, rather than strengthening it.
This is precisely the failure mode a rigid five-part framework encourages without meaning to: if a template has five fields, there's an implicit pressure to fill all five thoroughly, whether or not the task actually needs that much specification. A one-sentence task with an obvious audience and no real formatting requirements doesn't benefit from being padded out to match a checklist. The better question to ask before adding any detail to a prompt isn't "does this framework have a field for this," it's "would leaving this out actually change the response I get."
| Over-engineered: "You are a world-class expert social media manager with 15 years of experience specializing in B2B SaaS companies. Your role is to craft compelling, engaging, high-converting copy that resonates deeply with our target persona. Please ensure the tone is professional yet approachable, and consider our brand values of innovation, trust, and customer-centricity. Write a LinkedIn post announcing our new feature." Right-sized: "Write a LinkedIn post (under 150 words) announcing our new export-to-PDF feature. Audience: B2B SaaS operations managers. Tone: direct and useful, not salesy." |
Both prompts contain roughly the same actionable information once you strip away the padding: audience, format, tone, and topic. The second version gets there in a fraction of the words, and nothing in the first version's extra length changes what a good response actually looks like.
Few-Shot Prompting: The One Technique Everyone Actually Agrees On
Amid all the disagreement and repackaging, one technique shows up, endorsed without qualification, in Anthropic's guidance, OpenAI's guidance, and nearly every third-party source: few-shot prompting, meaning you show the model one or more examples of the output you want rather than only describing it in words. It works because examples remove ambiguity that words alone leave open, and it scales down gracefully: even a single well-chosen example, sometimes called one-shot prompting, meaningfully outperforms a purely descriptive instruction for tasks where tone, structure, or style is hard to specify precisely in adjectives, which is exactly the kind of task where written descriptions tend to fail regardless of how carefully you phrase them.
| Convert dates from US format to ISO 8601. Input: Jan 5, 2024 → Output: 2024-01-05 Input: Dec 31, 2025 → Output: 2025-12-31 Now convert: Input: March 8, 2026 |
This matters most for subjective, taste-based tasks. Describing a brand voice as "witty but warm" means almost nothing precise to a model, since those words carry different implicit meaning for every reader. Pasting two real examples of writing you consider witty and warm defines the target exactly, in a way no adjective list can. The one caution worth flagging: a model imitates everything in an example, including quirks you didn't intend to include, so review your example for anything you wouldn't want copied before using it.
Testing and Iterating Systematically
OpenAI's official guidance lists this as one of its core strategies, and it's the one most casual users skip entirely: testing prompt changes systematically rather than by feel. If you change three things about a prompt at once and the output improves, you don't actually know which change mattered, which means you can't reliably repeat the improvement on the next task.
The practical version of this for everyday use is simpler than formal evaluation pipelines: change one thing at a time, keep the version that worked, and if you're using a prompt repeatedly for similar tasks, keep a running note of what specific phrasing consistently produces the output you want. This is especially useful for tasks you'll repeat weekly or monthly, where the small investment in refining a prompt once pays off every time you reuse it. The same discipline that makes a prompt effective, being specific rather than vague and testing changes deliberately rather than by feel, is the same discipline that separates people who get consistently useful results from AI tools from people who bounce between them looking for one that magically reads their mind.
Common Prompt Engineering Mistakes
Most of these overlap with what's already covered above, but seeing them listed together as failure modes, rather than as principles to follow, makes them easier to catch yourself doing in the moment, especially since most people slip into at least one of these out of habit rather than a genuine belief that it will help.
- Being vague about the outcome, then blaming the model for guessing wrong. "Write about marketing" could mean a tweet or a textbook. State the actual angle, audience, and length.
- Reflexively adding chain-of-thought prompting to every task. As covered above, this adds little on reasoning-tuned models and mainly costs you time.
- Treating the first response as final. Prompting is iterative. Tell the model specifically what to fix rather than rewriting the entire prompt from scratch each time.
- Assuming a prompt that works well on one model will transfer perfectly to another. Well-structured prompts generally transfer reasonably, but different models have different strengths, and small adjustments in tone or format often help.
- Piling on unnecessary detail because a framework has a field for it. As the over-engineering section covers, more structure is not automatically better once the essential information is already there.
- Changing multiple things about a prompt at once and assuming you know why it worked. Without isolating variables, you can't reliably repeat an improvement on your next task, which is exactly what systematic testing solves.
Try It Yourself
Reading about these principles is different from applying them to your own prompts under real conditions, since it's easy to nod along with clarity and context as ideas and still write a vague prompt an hour later out of habit. Our Prompt Quality Checker evaluates a prompt you paste in against the same core principles covered in this guide, clarity, context, format specification, and unnecessary complexity, and flags what's likely to help or hurt before you spend a response finding out the hard way.
Prompt Quality Checker
Paste in a prompt and get direct feedback based on what actually improves AI output.
▶ Check a PromptThe Five-Step Process, Without the Acronym
State the task in one clear sentence
Write the actual task before adding any framework or formatting, so you know what you're trying to achieve before dressing it up.
Add only the context that changes the answer
Include audience, purpose, and constraints, but stop once more detail wouldn't change what a good response looks like.
Specify the output format
State length, structure, and format explicitly. Models can't infer an implicit format you have in mind but never wrote down.
Add one example if the task is subjective or stylistic
For taste-based tasks, one real example communicates more precisely than any list of descriptive adjectives.
Iterate based on the actual output
Treat the first response as a draft. Tell the model specifically what to fix rather than starting over with a longer prompt.
Frequently Asked Questions
Does saying "think step by step" still improve AI responses?
It depends on the model. A Wharton study found that for models with built-in reasoning, adding this phrase produces only marginal accuracy gains while increasing response time by 20 to 80 percent. For older or non-reasoning models, it still provides a modest average improvement, though it can also increase variability in answers.
What is the single biggest prompt engineering mistake?
Being vague about the desired outcome, audience, length, and format, then expecting the model to infer what you actually meant. The fix is stating these details explicitly rather than assuming they are obvious.
Do I need to use a five-part prompt framework like CRAFT or RACE?
No. These acronyms all describe the same small set of ideas, role, task, context, format, and constraints, repackaged differently by different sites. Anthropic's own current guidance explicitly states that the best prompt uses the minimum necessary structure, not the longest or most complex one.
What is few-shot prompting and does it actually work?
Few-shot prompting means including one or more examples of the output you want, rather than only describing it. It is one of the few techniques that essentially every source, including Anthropic and OpenAI's own official guides, agrees is genuinely effective, particularly for subjective or stylistic tasks.
Should I write different prompts for reasoning models versus regular models?
Yes, to some degree. Reasoning-tuned models already perform internal step-by-step reasoning by default, so explicitly asking them to do so adds little. Non-reasoning models benefit more from an explicit request to reason through a problem before answering.
Can adding more detail to a prompt make the output worse?
Yes. Anthropic's own context engineering guidance warns against stuffing prompts with an exhaustive list of edge cases, since models have a finite attention budget and excess detail can dilute the signal that actually matters.
What do Anthropic and OpenAI's official prompting guides actually recommend?
Both converge on clarity, sufficient context, explicit format requests, and examples for subjective tasks. Anthropic additionally emphasizes using the minimum necessary structure, while OpenAI's guidance emphasizes splitting complex tasks into smaller subtasks and testing changes systematically.
Why does changing multiple parts of a prompt at once cause problems?
If several elements change at the same time and the output improves, there is no way to know which change actually caused the improvement, which makes it difficult to reliably repeat the result on a similar future task. Changing one element at a time and comparing outputs is the more reliable approach.
Conclusion: Fewer Rules, Better Judgment
The honest version of "how to write better AI prompts" is shorter than any five-letter acronym suggests. Be clear about the task. Include the context that actually matters and stop there. Say what format you want. Show an example when the task is subjective. Iterate instead of restarting, changing one thing at a time so you actually learn what worked. The rest, including the reflexive instinct to add "think step by step" to everything, is either redundant with those basics or, per the Wharton research covered in this guide, not doing as much as commonly assumed on modern reasoning models.
The prompting recommendations in this guide are drawn directly from Anthropic's and OpenAI's own current official documentation, cross-checked against the Wharton Generative AI Labs' 2025 research on chain-of-thought prompting's actual measured effect. This page was last updated in August 2026, and given how quickly model behavior shifts, some specifics here, particularly around which models reason by default, are likely to need revisiting within the year.
References · 11 Primary Sources
- Anthropic, Prompt Engineering Best Practices for 2026
- Anthropic, Prompting Best Practices (Claude Platform Docs)
- Anthropic, Effective Context Engineering for AI Agents
- OpenAI, Prompt Engineering (API Guides)
- OpenAI, Prompt Engineering Best Practices for ChatGPT
- Wharton Generative AI Labs, The Decreasing Value of Chain of Thought in Prompting
- SurePrompts, How to Write AI Prompts: The Complete Guide
- MoreOnlineTools, Prompt Engineering Complete Guide
- Fello AI, How to Make the Best Prompt: The 2026 Guide
- FutureAGI, Chain of Thought Prompting in AI: A Comprehensive Guide
- aiwithgrant, The Complete Prompt Engineering Guide
Khalid Hussain
Founder of Review Publically. MSc holder and Google Advanced Data Analytics certified. Teaches Python and SQL data analysis with a focus on current, correct, production-ready code rather than outdated conventions.
Related Reading