Reflection
Have the model review its own output as a critic, then revise — catch the surface errors that a careful second read would find.
Intent & Description
🎯 Intent
Use a cheap extra model call to catch obvious errors before shipping the first-pass output.
📋 Context
Your generation task (email draft, function, press release) usually has first-pass errors that a careful second read would catch: missing edge case, clumsy phrase, factual slip. Latency and cost allow at least one extra model call per output.
💡 Solution
After producing an output, prompt the model (often as a critic persona) to find issues. Feed the original output + critique back into a revision step. Repeat until no new issues or max iterations hit.
Real-world Use Case
- One-shot generation underuses the model and a critique pass would catch errors.
- A critic prompt can identify issues meaningfully on the task’s outputs.
- Stop conditions (no new issues, max iterations) can be defined.
Source
📌 TL;DR
Generate, then critique, then revise. Catches surface errors cheaply. Stop after 1-2 passes — the model can’t catch its own deep blind spots.
Advantages
- Catches surface errors cheaply — one extra call is usually enough.
- Pairs naturally with structured outputs for consistent critique format.
Disadvantages
- Diminishing returns after one or two passes; stop early.
- Self-reinforced confidence on wrong answers — the model can convince itself it’s right.