Self-refine has the same model produce a draft, critique its own draft, and revise based on the critique, looping the author, critic, reviser cycle 1-3 times to improve quality.
Imagine you write an essay, then put on a teacher hat and mark up your own essay with red pen, then put on a student hat again and rewrite it taking the red pen seriously. Then you do it once more. Each pass usually makes the essay a bit better than the last. Self-refine is the language-model version of that habit. The model writes a draft, then a critic prompt asks the same model to find problems with the draft, then a reviser prompt asks the same model to fix those problems. The model is doing all three jobs in turn, with no fine-tuning between them; the critique is the bridge that makes the revision better than just asking the model to try again.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Self-refine is one of the cleanest examples of a 'pattern, not a prompt' in modern prompt engineering. It is not a single prompt template; it is a loop of three prompts run in sequence, where the same LLM plays three different roles and each role's output feeds the next. Once you see the pattern, you start noticing it inside every agent framework and most prompt engineering cookbooks.
The technique was formalized by Madaan et al. in 2023 (Self-Refine: Iterative Refinement with Self-Feedback) and has held up well because the intuition behind it is sound: critique is often easier than authoring, and the same model can play both roles with different prompts.
This deep dive defines self-refine precisely, walks through the three roles and why splitting them helps, names the limits the pattern hits in production, and explains how to combine self-refine with related techniques like external verification and multi-model critique.
The three roles and the loop they form
Self-refine decomposes a generation task into three sequential prompts.
The author prompt is the baseline: 'Given this input, produce X.' It is whatever you would have written as a single-shot prompt before introducing self-refine. The output is a first draft.
The critic prompt takes the draft as input: 'Here is a draft of X. Review it. List specific issues with the draft. For each issue, describe what is wrong and what would make it better.' The critic prompt benefits enormously from concrete criteria; a critic told to 'review against accuracy, clarity, format, and tone' produces sharper critiques than one told to 'review and suggest improvements.'
The reviser prompt takes the original draft and the critique: 'Here is the draft. Here is the critique. Rewrite the draft to address each point in the critique while preserving what was working.' The reviser is constrained by the critique, which keeps the revision focused on identified problems rather than wholesale rewrites.
One author + critic + reviser cycle is one 'refine' step. The loop can run multiple rounds: take the revised draft, critique it again, revise again. Madaan et al. found 1-3 rounds typical, with most gain in round 1 and diminishing returns thereafter.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- Cursor and Copilot Chat use draft, critique, fix loops on code edits, asking the model to review its own diff against the user's intent before committing.
- Anthropic's prompt-engineering cookbooks show self-refine patterns for long-form writing tasks with Claude Opus 4.7, capped at 2 rounds.
What an interviewer would ask next. Try answering before peeking at the approach.
QWhy does self-refine help even when the critic and author are the same model?
Generation and evaluation bias the same prior differently; the model can compare a draft to criteria and notice issues it would not have noticed while generating. This is local lift, not knowledge expansion.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Believing self-refine is a generic quality boost on every task. The pattern helps on outputs that benefit from critique (writing, code, arguments) and adds cost without quality on tasks where the first draft is already correct.
60 second bullets to scan on the way to the call.
Name the three roles in the self-refine loop and what each does
Explain why critique is often easier than authoring from scratch
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.