One of the most attractive ideas in agent design is also one of the easiest to overestimate:
Ask the model to check its own work.
The recipe sounds sensible.
GENERATE
β
CRITIQUE
β
REVISE
β
FINAL ANSWER
Sometimes this helps enormously. A second pass can catch omissions, arithmetic mistakes, unsupported claims, formatting errors, or obvious contradictions.
But there is a crucial distinction:
Reflection is another inference from the same underlying system. It is not automatically independent verification.
If the first answer contains a mistaken assumption and the critic shares that assumption, the critic can confidently approve the mistake.
This article is about understanding when reflection helps, when it merely adds latency and tokens, and when an external source of evidence is required.
Reflection, critique and verification are different
These terms are often used interchangeably. They should not be.
Reflection means reconsidering an earlier output or process.
Critique means identifying weaknesses, errors, or opportunities for improvement.
Revision means changing an output based on some evaluation.
Verification means checking a claim or outcome against evidence, a rule, an independent computation, or an external system.
A model can perform reflection without verification.
For example:
Model:
The answer is 37.
Same model:
I reviewed the calculation and 37 appears correct.
Nothing external established that 37 is correct.
Now compare:
Model:
The answer is 37.
Calculator:
17 Γ 3 = 51.
System:
REJECT
The second system has an independent check.
This distinction becomes increasingly important as the consequences of errors increase.
Why self-critique can work
It would be a mistake to conclude that reflection is useless.
A second pass can expose problems that the first generation missed because generation and review place different demands on the model.
Useful examples include:
- checking whether all requested sections are present;
- searching for contradictions in a long draft;
- identifying unsupported claims;
- improving code readability;
- checking whether a response follows a specified format;
- reconsidering edge cases;
- generating alternative solutions.
The second pass can effectively provide additional inference-time computation.
The important question is not:
βDoes self-critique work?β
It is:
βFor this task and error class, does the additional inference produce enough error detection to justify its cost?β
The shared-error problem
Suppose a model makes an incorrect assumption:
βThe database uses UTC timestamps.β
It then performs a calculation based on that assumption.
When asked to critique its answer, the model may see the same evidence and preserve the same assumption.
The pipeline becomes:
WRONG ASSUMPTION
β
ANSWER
β
CRITIQUE
β
WRONG ASSUMPTION REUSED
β
CONFIDENT REVISION
Reflection did not remove the error. It potentially made the final answer appear more carefully considered.
This is why agreement between two passes of the same model is not equivalent to independent confirmation.
A simple experiment
You can test this yourself.
Ask your LLM:
Solve the following problem.
Then independently critique your answer.
For the critique, do not merely improve wording. Try to identify substantive errors, hidden assumptions, missing evidence, and alternative interpretations.
PROBLEM:
[INSERT PROBLEM]
Now run the same task again with a deliberately subtle error introduced into the premises.
Compare:
A. Original answer
B. Self-critique
C. Independent second attempt
D. External verification where possible
The interesting measurement is not whether the critique sounds intelligent.
Measure whether it actually detects the planted error.
Copy-paste prompt: test a critic rather than trusting it
I want to evaluate whether your self-critique actually detects errors.
First solve the task.
Then critique your answer.
Your critique must classify each potential issue as:
- confirmed error;
- plausible concern requiring more evidence;
- not an error.
Do not rewrite the answer merely to make it sound better.
For every claimed correction, provide the evidence or reasoning that establishes the correction.
After the critique, list any errors you might still be unable to detect without an external source, tool, calculation, test, or human reviewer.
TASK:
[YOUR TASK]
Then deliberately test the system with cases where you know the correct answer.
That converts βthe model seems good at reflectionβ into an evaluation problem.
Reflection can become an optimization loop
Consider:
Generate
β
Critique
β
Revise
β
Critique
β
Revise
β
...
It is tempting to assume that more cycles produce better answers.
They may not.
Each additional cycle consumes resources. More importantly, later revisions can introduce new errors while fixing old ones.
You can get:
iteration 1 β 80% correct
iteration 2 β 84%
iteration 3 β 83%
iteration 4 β 81%
The exact numbers here are illustrative, not a benchmark. The point is that the relationship between reflection depth and quality need not be monotonic.
A mature system should therefore measure marginal benefit per additional inference.
Reflection can optimize the wrong thing
Suppose you ask:
βMake this answer more accurate.β
The model may respond by making it more cautious, more verbose, or better formatted.
Those changes can make the output look more rigorous without improving factual correctness.
Similarly, if the evaluator rewards polished prose, repeated critique can optimize style rather than substance.
This is a general evaluation problem:
The system optimizes what you measure, not necessarily what you intended.
If you use an LLM judge to score an LLM's revisions, the judge's preferences become part of the optimization target.
That is one reason deterministic checks and task-specific ground truth are valuable whenever available.
External verification changes the problem
Suppose an agent writes code.
Self-critique:
βReview the code and tell me whether it works.β
External verification:
Run the test suite.
The second method observes behaviour that the model cannot establish merely by reading its own generated code.
Similarly:
Mathematics: use an independent calculation or symbolic/numeric checker where appropriate.
Code: execute tests, static analysis, type checking, or targeted runtime checks.
Facts: consult authoritative sources.
Database operations: query resulting state.
File operations: inspect the filesystem after the action.
Deployment: use health checks and monitoring.
Structured output: validate against a schema.
Reflection remains useful around these checksβit can interpret failures and decide what to changeβbut the evidence comes from somewhere other than the model's own assertion.
Copy-paste prompt: turn reflection into verification
Review the following AI workflow.
For every place where the workflow currently says:
βAsk the model to check its own work,β
propose a stronger verification mechanism if one is technically available.
For each step, classify the check as:
A. SELF-REFLECTION
B. SECOND MODEL / SECOND PASS
C. DETERMINISTIC CHECK
D. EXTERNAL SOURCE CHECK
E. EXECUTION-BASED CHECK
F. HUMAN REVIEW
Explain:
1. What failure the check can detect.
2. What failure it cannot reliably detect.
3. Whether the check is independent of the original reasoning.
4. Its likely cost and latency.
5. Whether it is appropriate for low-, medium-, or high-consequence decisions.
WORKFLOW:
[PASTE WORKFLOW]
This is a useful architectural exercise because it forces you to replace vague βreviewβ steps with explicit evidence.
Multiple agents do not automatically solve the problem
You might respond:
βFine. I'll ask another model.β
That can help, but independence is not guaranteed.
Two models can share:
- training data;
- benchmark biases;
- common misconceptions;
- the same retrieved evidence;
- the same flawed tool output;
- similar system prompts;
- the same mistaken premise.
If both models see the same false statement in the source material, agreement may simply indicate shared evidence.
A useful question is:
What source of information differs between the two evaluators?
If nothing important differs, the second model may provide additional scrutiny without providing strong independent evidence.
Diversity versus independence
This distinction is subtle.
Different models, prompts, temperatures, or sampling paths can create output diversity.
But diversity is not the same as statistical independence, and independence itself is not sufficient if all systems depend on the same incorrect external source.
For a serious experiment, define what you mean by βindependent.β
Possible dimensions include:
- different model families;
- different prompts;
- different retrieval paths;
- different evidence sources;
- different algorithms;
- deterministic versus probabilistic checks;
- separate human review.
Then test whether disagreement or agreement actually predicts correctness.
A research experiment: does reflection catch errors?
Construct a dataset of tasks with known outcomes.
Include:
NORMAL CASES
EDGE CASES
SUBTLE ERRORS
AMBIGUOUS CASES
ADVERSARIAL CASES
For each case, measure:
1. initial answer correctness;
2. whether the initial answer contains an error;
3. whether self-critique identifies the error;
4. whether revision fixes the error;
5. whether revision introduces a new error;
6. whether an external check catches what self-critique missed;
7. token and latency cost.
Then calculate quantities such as:
Error detection rate
= errors detected / errors present
Correction rate
= errors successfully corrected / errors present
Regression rate
= previously correct answers made incorrect / initially correct answers
These simple measures already tell you much more than βreflection improved the response.β
Copy-paste prompt: design the study
Design a research-quality experiment testing whether self-reflection improves an AI agent on this task:
TASK:
[DESCRIBE TASK]
Compare:
A. No reflection.
B. One self-critique pass.
C. Two self-critique passes.
D. External verification where technically possible.
Define:
- hypothesis;
- null hypothesis;
- test-set construction;
- independent variable;
- dependent variables;
- controls;
- failure taxonomy;
- sample size considerations;
- evaluation procedure;
- statistical analysis appropriate to the data;
- cost and latency measurements;
- likely confounders.
Do not assume reflection helps. State what result would falsify the hypothesis.
A good research design should also consider selection effects. If you only evaluate tasks where the model already tends to benefit from reflection, you can overestimate its value.
When reflection is a good idea
Reflection is especially attractive when:
- the task has identifiable error patterns;
- the model can inspect its own output meaningfully;
- errors are relatively detectable from the available evidence;
- the cost of another inference is acceptable;
- an external checker is unavailable or complementary;
- the task benefits from considering alternatives.
It is less attractive when:
- the model lacks the information required to detect the error;
- the same mistaken premise drives both generation and critique;
- an inexpensive deterministic check exists;
- latency is critical;
- repeated revision creates new failure opportunities.
The right architecture is often hybrid:
MODEL GENERATES
β
MODEL REFLECTS
β
EXTERNAL CHECK
β
MODEL INTERPRETS CHECK
β
REVISE / ESCALATE
Here reflection has a useful role without pretending to be the final authority.
The practical rule
Use self-critique when it provides useful additional inference.
Use independent evidence when correctness matters.
Use deterministic verification when the property can be checked deterministically.
Use humans when the decision requires judgment that the system cannot safely establish on its own.
And measure the actual benefit instead of assuming that another prompt means another layer of reliability.
The most important question after a model says βI checked my workβ is:
βChecked it against what?β
If the answer is merely βagainst another thought generated by the same model,β you have reflection.
You may have a useful reflection mechanism.
You do not yet have independent verification.
"A second pass is another opportunity to catch an error. It is not automatically an independent source of truth."