Evaluator-Optimizer
also called Generator-critic loop
One call produces, another critiques, and the loop repeats until it passes.
A workflow with two roles: a generator that produces a candidate and an evaluator that scores it against explicit criteria, iterating until the evaluator is satisfied or a budget runs out.
It works when the criteria are clear enough for the evaluator to apply consistently, and when feedback genuinely improves the next attempt. Where the evaluator lacks a grounding signal it drifts toward approval, and the loop becomes a slow way to print the first draft.
The failure mode to design against is an evaluator that cannot say no. If it approves almost everything, the loop is expensive theatre. Measuring how often it rejects is the cheapest check that the critic is doing work.
A loop with a rubric it can apply
Generated documentation must meet a house style guide.
Give the evaluator the specific criteria — required sections present, every public function documented, no invented parameters — and cap the iterations. It converges because the criteria are checkable, which is the condition under which the pattern works at all.
Run without a budget. Two calls per iteration compounds, and a critic with no real criteria will approve anything eventually.
- blogBuilding effective agents ↗
Draws the line between fixed workflows and agents that choose their own process, and names the core patterns: chaining, routing, parallelisation, orchestrator-workers, evaluator-optimizer.
- paperSelf-Refine: iterative refinement with self-feedback ↗
One model acting as generator, critic and refiner in a loop. The measured caveat is that self-critique helps unevenly and can plateau or drift.
Prompt Chaining
Break the job into steps and let each one be checked.
Automated Review
A model reviewing a model’s output before a human sees it.
Evaluation · Evals
How you know the system is actually working.
LLM as Judge · Model grading
Using a model to score another model’s output.
Agent Loop · Agentic loop
Think, act, observe — repeated until the task is finished.