Evaluator–Optimizer Loop
Use Claude to grade Claude's own output and iterate.
An evaluator-optimizer loop runs the generator, then a separate Claude call grades the output against a rubric, then a third call revises. This works well for outputs that are easy to judge but hard to produce in one shot — copy editing, code review, design critique.
Keep the rubric explicit and the budget bounded (max 3 iterations).
Real-world example: AI-generated landing-page headlines
A marketing tool generates 20 headline candidates from a product brief, then runs an evaluator call that scores each against a rubric — relevance, CTA strength, length, brand tone (1–5 each). Top three go through an optimizer pass that rewrites them tighter.
brief → generate(20 headlines) → evaluate(rubric) → top 3
top 3 → optimize(critique + rewrite) → final 3The loop is capped at three iterations. After three passes the marginal lift on the rubric flattens and the cost stops being worth it.
Why this matters: judging is easier than producing for short copy. An evaluator-optimizer loop trades extra calls for higher quality on the final artifact — but only with an explicit rubric and a hard iteration cap.
- Evaluator grades generator output against a rubric
- Optimizer revises based on evaluator critique
- Works when judging is easier than producing
- Bound iterations to about three
- Explicit rubric keeps evaluator consistent
