Technique · 38 studies
Self-critique and self-refine: what the research shows
Self-refine is a loop in which the model writes a draft, critiques it, and revises it. It works when the critique is specific (a checklist, a named error, an external check, a fresh context) and usually stalls after one or two rounds; open-ended 'improve this' often breaks answers that were already correct.
Also called: self-reflection, generate-critique-revise, self-correction, reflexion
What self-refine is
The basic loop has three steps: generate a draft, critique it, revise it using the critique. The variants differ in where the critique comes from and how tightly it is scoped:
- Staged in one prompt: draft, then a checklist audit, then a fix, as in Re5 and GEIS.
- Separate requests: generate, score against each principle, revise only what failed, as in Reflect.
- Role-based critics: the same model critiques as a CFO, a lawyer or a skeptical customer. In the generate-critique-revise study, diversity of critic roles drove the feasibility of ideas, while diversity of generator roles drove novelty.
- External feedback: a compiler, a test, a validator or a human list of issues replaces the model's own judgment.
Why critique after writing can work
Writing and checking load the model differently. While generating, it has to hold every requirement in mind at once; while checking, the finished text and the rule sit side by side. The Reflect authors found models were better at spotting principle violations in finished text than at avoiding them while writing, and the post-hoc check cut the share of serious violations by 2-3x on GPT-4-Mini, Claude-Haiku-3.5 and Mistral-7B.
The gain is largest for weaker models on tasks with checkable answers. In a study of 10 models, one reflection round took Nova Micro from 22% to 71% on math, and the first round delivered 80-90% of the total benefit. The same study found most models got worse at translation and SQL after reflection.
The critique has to be specific
The most consistent finding across these papers: models can fix errors much better than they can find them.
- RefineBench (1,000 tasks, 34 models) found "improve it" stalled near 30% quality, while a list of specific issues reached 90-98% in five rounds. Claude-Opus-4.1 reached 98.4% with guidance and 19.5% without; giving only a checklist of what a good answer contains lifted Gemini 2.5 Pro from 31% to 76%.
- Think² measured the gap directly: models noticed an error 51% of the time, diagnosed it 28% and corrected it 16%. Planning, monitoring and evaluation phases raised diagnosis to 58% and correction to 50%, but on Llama-3-8B, which lacks a reasoning mode, GSM8K accuracy fell from 80% to 69%.
- Precise external feedback beats general guidance. In compiler-guided refinement, GPT-5 solved 30 of 56 Idris problems with documentation, 34 with a reference guide and 54 with actual compiler errors pasted back. Iterative self-repair reports 45% versus 77% success depending only on how precisely the error was described.
- How you show the error matters. Feedback inversion found that quoting the failed attempt verbatim raised the chance of repeating it from 6% to 54%; describing the problem in your own words avoided the copying. Conversely, re-submitting one dubious claim as a new message and asking whether it is correct gave the model a concrete target and corrected 60-90% of errors it otherwise missed.
Where self-refine plateaus or breaks
- Diminishing returns. Self-correction dynamics found accuracy plateaus or drops after 1-2 iterations: open answers drift, multiple-choice answers barely move. In Agentic XAI, explanation quality rose 30-33% over 3-4 rounds, then fell by 60-80% as answers filled with generic text.
- Breaking right answers. In the Verify-First study, GPT-4o-mini lost 6.2 points over four rounds of "check and improve" because it changed correct answers more often than it fixed wrong ones. The gate described in DISC addresses the same failure: a judge must find concrete evidence before anything is edited; switching the gate off raised degradations 2-3x.
- Ownership bias. Models rate their own answers with 16-27% higher confidence than the same text attributed to a user, and an LLM judge approved bugs in code that looked right. Presenting the draft as someone else's work, or reviewing it in a fresh session, removes the authorship cue.
- Contextual drag. A wrong draft left in context pulls the next attempt toward the same structure: accuracy dropped 10-20% for strong models and up to 50% for weak ones, and saying the draft was wrong barely helped.
- Missing knowledge. Review cannot add facts the model lacks. In a code-generation study, self-critique gave 0% improvement on projects that needed external API knowledge, while adding documentation reached 100%.
- Independent attempts can win. Mixture-of-Agents found iterative self-refinement worse than a plain chain-of-thought answer at every budget, while independent answers plus one synthesis gained 7.1 points.
How to apply it
- Write the criteria before you critique: a checklist of what a good answer contains, or the principles it must follow.
- Ask the model to score each criterion separately and revise only what failed; tell it to leave the rest unchanged.
- Feed back precise errors (a failing test, a compiler message, a named problem) rather than "make it better", and describe the error instead of pasting the broken attempt.
- Stop after one or two rounds unless an external check shows progress.
- For checkable answers, re-solve independently before changing anything, or start a fresh chat; for drafts that need new facts, supply sources instead of another review.
For checking a single answer's claims see verification prompts; for independent answers instead of revisions see self-consistency.
What the studies measured
| Study | Lab score | Finding | Effect |
|---|---|---|---|
| RefineBench: Why LLMs Can't Improve Their Own Answers (and How to Work Around It)Nov 27, 2025 | 94 | Across 34 models, 'improve it yourself' stalled near 30% quality while specific feedback reached 90-98%; a checklist alone lifted Gemini 2.5 Pro from 31% to 76%. | Mixed |
| Self-Reflection: Iterative Self-Correction of LLM AnswersOct 23, 2025 | 88 | One reflection round took Nova Micro from 22% to 71% on math and the first round gave 80-90% of the benefit, but most models got worse at translation and SQL. | Mixed |
| Reflect: Post-Generation Checks for Principle ComplianceJan 26, 2026 | 89 | Generating, scoring each principle and revising only failures cut serious principle violations 2-3x on GPT-4-Mini, Claude-Haiku-3.5 and Mistral-7B. | Helps |
| Think²: Structured Self-Correction Through Three Phases of Thinking in a Single PromptFeb 21, 2026 | 77 | Planning-monitoring-evaluation phases raised error diagnosis from 28% to 58% and successful self-correction from 16% to 50%, but cut Llama-3-8B on GSM8K from 80% to 69%. | Mixed |
| DISC: An Iterative "Verify — Judge — Fix" Loop with Protection Against OvercorrectionJun 19, 2026 | 88 | Requiring a judge to find concrete evidence before editing prevented overcorrection; disabling the gate raised degradations 2-3x, and a strong verifier with a weak judge gave no gain. | Helps |
| The Generate-Critique-Revise loop: one model thinking like a whole teamJul 11, 2025 | 87 | In generate-critique-revise loops, diversity of critic roles improved the feasibility of ideas and 2-3 cycles gave a noticeable boost. | Helps |
| Compiler-Guided Refinement: Precise Feedback Beats General InstructionsFeb 12, 2026 | 87 | Pasting real compiler errors back let GPT-5 solve 54 of 56 problems versus 30 with documentation; iteration took accuracy from 39% to 96%. | Helps |
| Iterative Self-Repair: How to Ask AI to Fix Itself — and How Many TimesApr 12, 2026 | 78 | The same repair request succeeded 45% or 77% of the time depending only on how precisely the error was described. | Helps |
| Source-Conditioned Role Relabeling: Paste the Mistake Back and the Model Will Fix ItJun 4, 2026 | 92 | Re-submitting a single dubious claim as a new message corrected 60-90% of errors the model otherwise missed. | Helps |
| Feedback Inversion: Why Quoting an Error Word for Word Makes the Model Repeat ItAug 24, 2026 | 84 | Showing the failed attempt verbatim raised the chance of repeating it from 6% to 54%; paraphrasing the problem avoided the copying effect. | Hurts |
| Verify-First: Asking a Model to "Double-Check Its Answer" Often Means Breaking ItApr 24, 2026 | 89 | Four rounds of 'check and improve' cost GPT-4o-mini 6.2 points; an instruction to re-solve independently first turned that into +0.2. | Hurts |
| Self-Correction Dynamics: When "Think Again" Helps and When It HurtsNov 12, 2025 | 79 | Self-correction plateaued or declined after 1-2 iterations; wrong multiple-choice answers were rarely fixed and open answers drifted. | Hurts |
| Agentic XAI: Iteratively Improving Explanations Through Multi-Round RefinementDec 24, 2025 | 94 | Iterative explanation refinement improved quality 30-33% up to round 3-4, then quality dropped by 60-80%. | Mixed |
| Ownership Bias: Why LLMs Can't Honestly Check Their Own Work, and the One Trick That Fixes ItJun 2, 2026 | 83 | Models gave their own answers 16-27% higher confidence than identical answers attributed to the user, including wrong ones. | Hurts |
| Contextual Drag: A Wrong Draft in the Context Pulls the Next Answer Toward Similar MistakesFeb 4, 2026 | 87 | A wrong draft in context lowered accuracy 10-20% for strong models and up to 50% for weak ones; saying it was wrong barely helped. | Hurts |
| Failure-Aware Framework: A Map of LLM Code-Generation Failure Types and the Fixes That WorkFeb 2, 2026 | 90 | Self-critique gave 0% improvement on projects needing external integration knowledge, where adding documentation reached 100%. | Hurts |
| Mixture-of-Agents: several independent answers + a synthesis beat any iterative revisionMay 2, 2026 | 71 | Iterative self-refinement scored below plain chain-of-thought at every budget; independent answers plus one synthesis gained 7.1 points. | Hurts |
| LLM-as-a-Judge: The Model Approves Bugs It Wrote ItselfJul 22, 2025 | 72 | LLM judges, GPT-4 included, often approved incorrect code that looked right, so self-review of code is an aid, not a final check. | Hurts |
| Cross-Context Review (CCR): A Fresh Session as the Cure for an LLM's Blindness to Its Own MistakesMar 12, 2026 | 88 | Reviewing only the finished artifact in a new session, without the creation history, removed the tendency to defend the earlier work. | Helps |
| Context Isolation (NIS-Agent): How to Break the LLM's Self-Justification Loop When It Checks Its Own ConclusionsAug 24, 2026 | 87 | Removing the trace that the model made a decision let it notice irrelevant results it had ignored while judging its own choice. | Helps |
| Thought-ICS: Structured Self-Correction Through Discrete Reasoning StepsFeb 2, 2026 | 88 | Reasoning in discrete numbered steps let large models roll back to a clean prefix 97% of the time, with 20-40% higher accuracy than continuous chain-of-thought. | Helps |
| Self-Reflection Critique: A Two-Pass Check for Accurate Text ClassificationJan 14, 2026 | 82 | A second pass that checked first-pass rationales for typical errors improved classification F1 by 0.04-0.25. | Helps |
| LLM-ReSum: A Summary the Model Grades and Improves Itself Until It's Good EnoughApr 28, 2026 | 83 | Scoring a summary on four criteria and revising only those below threshold, for at most 3 rounds, targeted weak spots without rewriting good parts. | Helps |
| ContextGuard: Audit Before You Edit — Protect What's Right, Fix What's DoubtfulMay 26, 2026 | 77 | Auditing which requirements were already met and protecting them before editing avoided fixes that broke working parts. | Helps |
| Test-time Recursive Thinking (TRT): LLM self-improvement by accumulating knowledge about its mistakesFeb 3, 2026 | 87 | Carrying a list of lessons from failed attempts into the next round let open models reach 100% on AIME-25/24. | Helps |
| VPS (Verbal Process Supervision): Step-by-Step Critique from a Strong Model Squeezes Accuracy Out of a Weak OneApr 23, 2026 | 80 | Step-by-step critique from a stronger model fixed specific broken reasoning steps; a weaker critic pushed accuracy below the start. | Mixed |
| Reflective Translation: Two-Pass Generation With Self-ReflectionJan 27, 2026 | 73 | A draft, then a structured critique (errors, fixes, content to keep), then a revision gave a consistent quality gain in translation. | Helps |
| Confessions: Separating the Reward for Honesty from the Reward for ResultsDec 8, 2025 | 71 | A separate self-audit request after the answer surfaced 74% of the model's deliberate violations. | Helps |
| LLMs in Qualitative Analysis: Structured Prompts + Self-Check = Methodological RigorOct 21, 2025 | 86 | Building quality criteria and a self-check into the prompt produced qualitative codes experts preferred over human ones 61% of the time. | Helps |
| PR-CoT (Poly-Reflective Chain-of-Thought): Four-Lens Self-Review Instead of One Vague ReflectionJan 12, 2026 | 70 | Four narrow review lenses (logic, missing data, bias, alternatives) replaced one vague reflection on multi-factor decisions. | Helps |
| PerFine: Personalizing Text Through Iterative CritiqueOct 28, 2025 | 75 | A generator-critic loop with four style criteria and keep-the-better-version comparison converged on a target personal style over 3-5 rounds. | Helps |
| SSR (Socratic Self-Refine): Step-by-Step Reasoning Checks Through Sub-QuestionsNov 13, 2025 | 74 | Re-solving each sub-step 3-5 times without the original context localized the faulty step in multi-step reasoning. | Helps |
| Re5: three-step self-review instead of a monolithic promptJul 8, 2025 | 83 | Splitting writing, checklist verification and targeted fixes into three stages let weaker models meet constraints they dropped in one pass. | Helps |
| TTD-DR: Iteratively Refine a Draft Instead of Chasing the Perfect First-Try PromptJul 21, 2025 | 92 | Starting from a deliberately incomplete draft and filling its gaps with real data over several rounds built more accurate long reports. | Helps |
| GEIS: a "write → evaluate → improve the rules" loop for long-form writingJul 13, 2026 | 78 | Adding an explicit audit stage before delivery made the model reread long drafts and fix undeveloped sections. | Helps |
| Hourglass Reasoning: structural context isolation for reliable rule discoveryJul 13, 2026 | 91 | Updating an explicit rule in a fresh context, instead of patching the output, avoided the model dodging only the specific reported error. | Helps |
| Checklist Engineering: build the ruler first, then measureJul 9, 2025 | 79 | Having the model write a checklist first and then follow it let small models approach GPT-4o on quality-evaluation tasks. | Helps |
| MAR (Multi-Agent Reflexion): A Debate of Personas Instead of Self-CriticismDec 23, 2025 | 73 | A debate among critic personas replaced single-model self-reflection that kept repeating the same mistake, at about 3x the tokens. | Mixed |
Prompts to copy
Score each principle, revise only failures
Step 1:
Here are the principles you must follow:
{list_of_principles}
{your_task}
Step 2:
Score your answer on each principle from 1 (fully violates) to 5 (fully complies).
Format:
Principle 1: [score]/5 - [short justification]
Principle 2: [score]/5 - [short justification]
...
Step 3 (if any scores are below 3):
Low-scoring principles: {list_of_violated_principles}
Critique your answer against these principles.
Then rewrite the answer based on the critique.
Format:
CRITIQUE: [what exactly was violated and why it's a problem]
REVISION: [improved answer]
From: Reflect: Post-Generation Checks for Principle Compliance
Diagnose with a checklist, then guided fix
Here is the {content_type}:
{text}
Evaluate it against this checklist (answer Yes/No for each item):
1. {criterion 1}?
2. {criterion 2}?
3. {criterion 3}?
4. {criterion 4}?
5. {criterion 5}?
For every "No", write what specifically needs fixing.
---
Revise the {content_type} on these points:
1. {specific problem 1} - {what to do}
2. {specific problem 2} - {what to do}
3. {specific problem 3} - {what to do}
Don't change anything else.
From: RefineBench: Why LLMs Can't Improve Their Own Answers (and How to Work Around It)
Verifier, judge, corrector with an evidence gate
Check the following {text_type}. Follow the roles strictly - don't skip any.
ORIGINAL TASK: {task}
TEXT TO CHECK:
"""
{text}
"""
ROLE 1 - VERIFIER:
Write {number_of_questions} targeted questions about specific claims above.
Answer each question on your own, as if you had never seen the text above.
ROLE 2 - JUDGE:
Compare each answer with the corresponding claim in the text.
A direct contradiction is required, not a subjective quality judgment.
Issue one of two verdicts:
NO_ERROR - return the text unchanged and explain the conclusion in one sentence
ERROR - quote the exact spot of the error + state which evidence confirms it
ROLE 3 - CORRECTOR (only if the verdict is ERROR):
Fix ONLY the quoted spot.
Copy the rest of the text word for word, unchanged.
Output the final text.
From: DISC: An Iterative "Verify — Judge — Fix" Loop with Protection Against Overcorrection
Related techniques
Problems it helps with:
Questions people ask
Does asking a model to improve its own answer work?
A vague request usually does not. RefineBench found 'improve it' stalled near 30% quality across 34 models, while a list of specific issues reached 90-98%. The model is good at fixing named problems and poor at finding them, so supply the criteria or the errors.
How many rounds of self-critique should I run?
One, sometimes two. Several studies found most of the gain in the first round and a plateau or decline after that; one explanation study saw quality peak at rounds 3-4 and then drop by 60-80%.
Why does the model sometimes make a correct answer worse?
A request to check invites edits whether or not there is an error, and models over-trust their own drafts. Ask it to re-solve independently first and change the answer only if it finds a specific error, or require evidence before any edit.
Should the review happen in the same chat?
For checkable tasks, a fresh session is often better. A wrong draft left in context pulls the next attempt toward the same mistake, and models defend text they believe they wrote. Paste only the finished artifact into a new chat or present it as someone else's.