Evaluator–Optimiser Loop
Separate the generator from the evaluator: one agent produces, another critiques against criteria, and the loop iterates until quality is met.
This page is the complete instruction page for one pattern called "Evaluator–Optimiser Loop." It explains the problem this pattern solves, the idea behind the solution, when you should (and should not) use it, and what happens afterward — both the good effects and the costs.
This matters because building AI agents is not just about making them clever. It is also about making them safe and predictable. Following a well-tested pattern like this one helps avoid common mistakes, and shows you exactly which safety rules and regulations it connects to, listed under "Standards Mesh" on this page.
Context
Reflection inside one agent conflates generation and critique — the same context, the same biases. A separate evaluator, with different prompt and sometimes different model, catches more.
Problem
Self-critique by the same model shares the same blind spots.
Forces
- Diversity of perspective vs cost
- Exit criterion strictness
Solution
Generator produces a candidate. Evaluator (ideally a different model, or the same with an evaluation-specific prompt) scores against explicit criteria. If below threshold, send back to generator with the evaluator's specific critique. Cap iterations.
Applicability
- Code generation
- Copywriting under brand guidelines
- Translation
- Any output with programmatic quality criteria
Anti-Patterns
- Evaluator and generator with identical context/prompt
- Loops without exit cap
Consequences
- +Meaningful quality lift
- +Separable improvement of gen vs eval
- −Doubled cost minimum
- −Evaluator quality is the new bottleneck