Skip to content

Metrics That Write Themselves: Evolving an Evaluator from Its Own Blind Spots

Aug 2026 · 0 citations · 24 references
Computer Science

TL;DR

EvalCEGAR is a pool of small Python operators that each flag a candidate for one named defect, or abstain, and vote, and borrows counterexample-guided abstraction refinement from program verification to score agents against a reliable automatic metric.

Abstract

Agents improve quickly against a reliable automatic metric and stall without one, and the applications that need them most, report generation among them, are the ones nobody knows how to score. Can the metric write itself? Saying what makes an answer good is hard; pointing at something wrong with one is easier, so the metric we evolve is a pool of small Python operators that each flag a candidate for one named defect, or abstain, and vote. Asking a model for operators directly does not work: 183 candidates realise only 96 distinct behaviours, from one narrow region of an enormous space. EvalCEGAR instead borrows counterexample-guided abstraction refinement from program verification. It reads the pool as an abstraction and searches for a collision, two answers the operators score identically, one correct and one not. That pair, not a prompt, is the authoring request, and when a collision defeats every attempt the loop widens what an operator may read rather than resampling. On MBPP+ and HumanEval+, a sandbox whose hidden unit tests give exact ground truth, the loop writes a 55-line operator that closes 15.4% of the gap between flagging nothing and a perfect filter on 428 unseen tasks (+0.0065, p=0.0010) at a quarter of our best hand-written operator's flags. On the benchmark it never saw it matches that operator's effect exactly on a third of the flags. Six of eight runs admit such an operator and all six help out of sample; our 15 hand-written operators applied together as one filter lose accuracy. An LLM judge on the same information ties that delta on a nearly disjoint set of candidates, and charges a model call per candidate forever where the operator charges none.

View source

Similar papers

Review Aug 2026

Judging Is Not Enumerating: Silent Omissions in LLM-Authored Acceptable Sets

This work measures the capability that role assumes and finds it lacking under the protocol the role is usually deployed with, one-shot greedy authoring with no test-time reasoning.

Wen-Hui Chen, Jian-Lin Chen, Zi-Yao Lin et al. · 1 citation
Preprint Jul 2026

Optimization Is Not All You Need

In 2019, OpenAI released two million GPT-2 outputs-ungrammatical, half broken-to aid the detection of machine-generated text to aid the detection of machine-generated text.

Minh Hua, Rita Raley · 0 citations
Jul 2026

Who Grades the Grader? Co-Evolving Evaluation Metrics and Skills for Self-Improving LLM Agents

It is shown the metric itself can be the evolving object: the loop searches compositions of small typed drawback detectors under a full evolutionary lifecycle, selecting for agreement with a ten-item anchored reference set and regularizing by consensus over unlabeled outputs.

Xing Zhang, Guanghui Wang, Ya Cui et al. · 0 citations

Related blog posts

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.