Reflection and self-correction
Attempt, critique, revise — Reflexion and Self-Refine. It works when the critique is grounded, and can quietly make things worse when it isn't.
Once an agent can produce an answer, it can try to improve it: write an attempt, critique it, revise. Reflexion stores a verbal reflection on what went wrong and feeds it into the next attempt; Self-Refine loops produce → critique → revise without any training. It is the loop turning its judgement on its own output.
Start here
Self-correction is only as good as the signal it corrects against. A failing test, a schema violation, or a tool that disagrees is a grounded critique — the model cannot argue with it. A model criticising its own prose with no external check is ungrounded, and that is where the loop can plateau or drift.
Attempt → critique → revise, round after round
task
"Count the paid orders since Jan 1, 2024."
first attempt
SELECT * FROM orders WHERE date > '2024-01-01';
critic: Boundary bug: '>' drops orders placed on Jan 1. The question said 'since Jan 1'.
revision 1
SELECT * FROM orders WHERE date >= '2024-01-01';
Reflection buys real gains when the critique is grounded — a failing test, a schema, a tool that disagrees. Without an external check it can plateau, and a critic sharing the generator's blind spots can even argue it into a worse answer. Treat self-correction as a loop that needs a verifier, not as the model getting wiser on its own. Rounds are illustrative.
Add rounds and watch a wrong query get fixed — then note that the critic knew the answer was wrong only because it was checkable.
Two flavours
- Grounded reflection — the critique comes from outside the model: a test result, a compiler error, a verifier, a tool's disagreement. This reliably helps, because the feedback is true regardless of what the model believes.
- Ungrounded reflection — the model critiques itself. It can help (catching a missing case) and it can hurt (inventing a flaw that is not there, or "fixing" a correct answer into a wrong one).
The honest result
The third reference above is the important one: on reasoning tasks, a model asked to self-correct without external feedback often makes its answer worse, and can be talked out of a correct one. The model's critique shares the same blind spots as its generation, so it is not an independent check. Reflection is not the model getting wiser — it is a loop that needs a verifier to be trustworthy.
Careful
Build the verifier, not the vibes. If a step has a checkable outcome, check it — that is the critique. If it does not, do not expect introspection to fix it; the reliable move is to add a human, a test, or a second model with genuinely different information. Ungrounded self-correction can burn budget and degrade a correct answer.
Check yourself
Eduspheria wiki · Agentic AI, Planning & reasoning
0 / 4 answered
Next: when one chain is not enough — searching over many.