LLM Agents & Tool Use

self-reflection

People rarely hand in the first draft — they reread it, spot weak parts, and fix them. A self-reflecting agent does the same: after producing an answer or taking actions, it pauses to critique its own output, asking what went wrong or what could be better, and then uses that critique to revise. The first attempt becomes a draft rather than the final word.

Mechanically it is an extra loop layered on top of the work: generate, then evaluate, then improve. The evaluation can be the model judging itself against the goal, or it can be grounded in something external — a failed test, a tool error, a checklist — which tends to work better than pure self-judgement. The critique is fed back into the prompt so the next attempt can address the specific flaws found.

Reflection genuinely helps when there is a real signal to reflect on, like a unit test that fails or output that does not match a spec. Its limit is that a model critiquing itself shares its own blind spots, so it can confidently declare a wrong answer 'looks correct' — reflection improves, but does not guarantee, quality.

Also called
self-critiqueself-refinement