Self-Critique Loops: Have the Model Check Its Own Work
Asking a model to review and revise its own answer - in a separate pass - catches more than just telling it to 'be thorough' the first time.
The basic idea
Instead of one shot at an answer, you run two: generate a first draft, then feed that draft back with a prompt like "review this for errors, then produce a corrected version." That second pass is the self-critique step.
Why not just ask for care upfront
"Please double-check your work" baked into the first prompt asks the model to write and verify at the same time, under the same train of thought that produced the mistake. A model that made an error is often anchored to the reasoning that led there - it's genuinely harder to catch your own blind spot mid-answer than to review a finished piece of text with fresh eyes.
What a separate pass buys you
A fresh critique pass reads the draft as a finished artifact, not as a chain of thought still in progress. That framing shift - from "producing" to "reviewing" - is often enough to surface issues that self-monitoring during generation misses, especially formatting slips, missed edge cases, or a claim that contradicts an earlier one.
The catch: self-confirmation
A model reviewing its own output shares the same blind spots that produced it. If it was confidently wrong about a fact, asking it to check its own fact tends to just restate the same wrong answer with more confidence. Self-critique is good at catching structural and logical slips, much weaker at catching a hallucination the model still believes.
EXAMPLE
Pass 1 (draft): "Summarize this contract's termination clause." -> draft summary Pass 2 (critique, fresh context): "Here is a contract and a summary of its termination clause. Check the summary against the contract for: (1) any claim not supported by the text, (2) any deadline or notice period stated incorrectly, (3) missing conditions. List issues, then give a corrected summary."
๐ ๏ธ EXERCISE โ TRY IT YOURSELF
Build a two-pass critique loop for a piece of writing or code and compare it against a single-pass attempt.
- Pick a task with a checkable answer - summarizing a document, writing a small function, drafting an email.
- Generate a single-pass answer with a "be careful and thorough" instruction baked in. Save it.
- Generate a fresh draft without that instruction, then in a separate prompt (new conversation if possible) ask the model to critique it against 2-3 specific criteria.
- Have the model produce a revised version based on that critique.
- Compare the single-pass and two-pass results against the same criteria - which caught more real issues?
โ SELF-CHECK
- โ Did the critique pass find at least one real issue the single-pass version had missed?
- โ Did the critique pass invent any 'issues' that weren't actually problems?
QUICK QUIZ
Why does a separate self-critique pass usually catch more than just telling the model to 'be careful' upfront?
SOURCES
- Anthropic: Building Effective AI Agents โ www.anthropic.com
- arXiv: Reflexion: Language Agents with Verbal Reinforcement Learning โ arxiv.org
- arXiv: Self-Refine: Iterative Refinement with Self-Feedback โ arxiv.org