Skip to content

Framework

Five questions behind every score

SQLAgent answers finance analysts' questions by writing SQL and running it against the company's data warehouse. On a test set of 200 questions it returns the right answer to 192 of them: 96%. Should the team roll it out? Five questions stand between that number and the decision.

The agent, the warehouse, and every number on this page are a worked example, the one the handbook develops in full as the SQL data agent case.

Fig. 1: One number, five questions

Each question is one layer of the evaluator system. Select a question to read how SQLAgent answers it.

Each question is one layer of an evaluator system: the whole arrangement that turns a claim about an AI system into a number someone acts on. Evaluator engineering is the discipline of designing that arrangement on purpose: turning what you care about into a measurement, checking that the measurement supports the inference you draw from it, and keeping that true in the loop where the number is used. Each layer is a place where the inference from score to decision can break while every component works as built.

Claim: 96% of what?#

A score is evidence about something no test observes directly. The SQLAgent team cares about a construct, a property of the agent: it answers analysts' questions correctly, without reading or writing data it should not touch. A test observes 200 answers. The claim says how far those answers are allowed to speak.

So the claim fixes four things before anything is measured:

  • Population: the questions the score speaks for. Here, questions finance analysts actually logged over two quarters, sampled by kind and difficulty.
  • Environment: where the agent runs. A frozen copy of the finance warehouse at schema version 12, under read-only analyst credentials.
  • Validity domain: where the claim stops. English questions about this warehouse at the analyst permission level; not other teams' data, and not after the schema changes.
  • Decision: what changes when the number moves. The head of analytics rolls the agent out to the finance team, or holds it.

The population does more work than it seems to. A score speaks only for the kinds of question it sampled. If the 200 test questions are mostly single-table lookups, 96% says little about joins, fiscal calendars, or questions that are ambiguous as asked, which is where the job gets hard.

Fig. 2: What 96% can speak for

kinds covered 2 of 5 · 17 sampled

Questions that were easy to collect: mostly single-table lookups. A high score here says little about joins, fiscal calendars, or questions that are ambiguous as asked.

Switch samples and watch which kinds of question the score can speak for. Dots stand for logged questions; the layout is schematic.

Write the decision down first. If no decision would change when the number moves, the evaluation is eval theater: a score on a dashboard that nobody acts on.

Instrument: Measured how?#

The instrument is the machinery that turns the claim into a verdict on each question. It has more parts than "the metric":

  • a specification, written Ψ, of what counts as a correct answer;
  • a reference anchor, the external object the verdict is rooted in: here, a result table from a query an analyst has checked;
  • an evidence view: what the checker may look at, from the final table to the full tool trace;
  • a mechanism that computes the verdict;
  • the signal it emits, here pass or fail for each question;
  • and an aggregation rule that turns 200 verdicts into a decision.

The obvious mechanism compares the agent's SQL with the reference SQL, and it fails at once: the same question can be answered by many different queries. The better mechanism runs the agent's query on the frozen snapshot and compares the rows it returns. It grades what the query does, not how it is spelled. Even that can be fooled, and a metamorphic test, a check of a relation the right answer must satisfy, is how you catch it.

Fig. 3: Grade what the query returns

question · What was total invoiced revenue by region in 2024?

reference query · checked by an analyst (the anchor)

SELECT r.name AS region,       SUM(i.amount) AS revenueFROM invoices iJOIN regions r ON r.region_id = i.region_idWHERE i.invoiced_on >= '2024-01-01'  AND i.invoiced_on <  '2025-01-01'GROUP BY r.nameORDER BY r.name;

SQLAgent's query

WITH sales_2024 AS (  SELECT region_id, amount  FROM invoices  WHERE EXTRACT(YEAR FROM invoiced_on) = 2024)SELECT regions.name, SUM(amount)FROM sales_2024JOIN regions USING (region_id)GROUP BY 1;

Exact match on the SQL text

Different text: marked wrong

The agent's answer is correct. Exact match rejects it because many different queries ask the same thing.

step 1 of 4
Step through at your own pace: a correct query spelled differently, then a wrong one that only looks right on this snapshot. Toy data.

Correctness is not the only thing the claim promises, and different promises need different checks. The design rule is to route each criterion to the strongest check you can afford:

CriterionMechanismWhy this one
No unauthorized reads or writesRead-only credentials and row-level permissions, plus a checker that scans every tool trace for a writeStructural control: a write is not unlikely, it is unreachable, for the roles and connection paths that were configured
Correct answerRun the query on the frozen snapshot, compare result sets, add metamorphic testsExecution feedback: grounded in what the query returns
Handles ambiguous questionsA rubric-guided LLM judge, calibrated against finance experts' labelsOnly a learned judge reads intent, so its error has to be measured
Business meaning, such as which calendar "Q3" meansFinance subject-matter experts adjudicateHuman judgment is where checking the checker stops: the trust root

That ordering is the verification hierarchy: formal verification, then execution feedback, then learned judges, then intrinsic signals such as the model's own confidence. A rung is a prior to start from, not a verdict. It says how strongly a signal is expected to be grounded; only measurement says how well it is.

Regime: Used for what?#

This is the question most evaluations leave out. SQLAgent's checks serve three jobs. The result-set check that certifies a rollout also scores developers' prompt experiments, and the access-policy check that grades certification traces also runs on every live query:

  • a rollout gate (measure): the head of analytics reads aggregate scores from a hidden certification set and decides;
  • development feedback (optimize): developers keep or drop prompt and tool changes depending on whether the score on a separate development split goes up;
  • an access monitor (monitor-control): every live query is checked within a second, and a suspect one is blocked while a human is paged.

The code is the same in each job. The meaning of its verdict is not. As a gate, the question is whether the score means what the claim says. As development feedback, the agent is being shaped by the score, and a score that is optimized against can keep rising after the agent stops getting better. As a monitor, base rates dominate: when real violations are rare, even a small false-alarm rate means most pages are false.

Fig. 4: Same checks, three jobs

SQLAgent's checks

  • result-set check
  • access-policy check
who reads the signal
The head of analytics, once per rollout decision.
who adapts to it
Nobody, by design: the team sees aggregate scores from a hidden certification set, never its questions.
what it has to survive
Sampling noise. On 200 questions, 96% is an interval, not a point.
bar 95%

96.0% observed; 95% interval 92.3%–98.0%. The point clears the bar and the interval does not.

Give the same checks a different job and see who reads the signal, who adapts to it, and what it has to survive.

This is the use regime: the causal role a signal plays, written measure / optimize / monitor-control. Classify a signal by the behavior it changes, not by the dashboard it sits on, and watch for regime migration. If monitor alerts start feeding prompt changes, the monitor has become an optimization target, and its validation has to move with it.

Why monitor at all, when credentials already make writes unreachable? Because the guarantee holds only for the roles and connection paths that were configured. The monitor checks the same rule on every live query, in case something escapes that configuration.

Validation: Why believe it?#

Validation asks whether the evidence supports reading the score as the claim, and it asks twice. Natural validity concerns ordinary measurement: does the signal track the claim when nobody is optimizing against it? Adaptive validity concerns pressure: does it still track the claim after developers have tuned the agent against it?

Start with the plainest evidence there is, the uncertainty of a sample. 192 correct out of 200 is 96% (95% Wilson CI 92–98%, n = 200). The rollout bar is 95%. The point estimate clears the bar; the interval does not. A gate that reads only the point estimate lets sampling noise make the call. Gate on the interval, or size the certification set to the decision.

Fig. 5: 96% is not a pass yet

the certification run · 192 correct of 200 · one square per question

85%90%95%100%rollout bar92.3%98.0%

96.0% observed, 95% interval 92.3%–98.0%, n = 200

Hold: the interval reaches below the bar

200 questions

At an observed 96%, the interval clears 95% from about 1,914 questions. Every one needs a reference answer an analyst has checked.

Drag the size of the certification set and watch when an observed 96% clears a 95% bar.

Then check the checker. Every part of the instrument has an error rate of its own, and the validation profile collects them as measurements. For SQLAgent it includes:

  • Natural error: how often result-set comparison accepts a wrong query that returns the right rows by accident, or rejects a right one over column order or aliases, judged against expert adjudication; and how well the judge agrees with the finance experts, as true- and false-positive rates and Cohen's κ.
  • Exploitability: each development-tuned version of the agent scored on the hidden certification set, to see how much tuning the evaluator absorbs before the two disagree.
  • Transport: whether rankings hold on alternate snapshots of the same schema.
  • Generator coupling: whether the judge errs exactly where the agent errs, which is more likely when both come from one model family.

For SQLAgent, every one of these is planned, not yet measured, and an honest report says so. The hierarchy rung was a prior; the validation profile replaces it with measurements.

Lifecycle: Still true next quarter?#

Validity is not something an evaluator has once and keeps. The evidence above was gathered at schema version 12, on last quarter's questions, with one version of the judge, against a certification set nobody had tuned on. Each of those changes: the schema moves past version 12, the question mix shifts, the judge model is updated, certification questions leak into development, or the easy questions saturate and stop telling versions apart.

The lifecycle layer keeps the claim true while that happens:

  • Separate channels. Keep the development split, the hidden certification set, and production signals apart, so tuning cannot quietly use up the test. Each look at the hidden set spends some of its independence, and an anchor-burn ledger counts the looks.
  • Version together. The snapshot, rubric, judge, and threshold are versioned as one instrument, and a schema change triggers revalidation.
  • Tripwires. Declare the warning patterns in advance. Development rising while certification stays flat suggests tuning is chasing the proxy. Both rising while analysts correct more answers suggests a construct or deployment mismatch. A kind of question at its ceiling signals saturation.
  • Frame review. Every so often, ask the prior question: are correct rows still what the finance team needs from the agent?

Fig. 6: Validity has a shelf life

development splithidden certification setschematic
R1R2R3R4R5R6R7R8
R1
  1. R1Both scores rise together: changes help on questions the developers never saw.

anchor-burn ledger

0 looks at the hidden set. Each one spends some of its independence.

Scrub through releases and watch which signal moves first. The curves are schematic, not data.

The whole argument in one sentence#

Everything above compresses into a validity statement: one sentence that says what the evidence supports, for whom, where, under what pressure, and where that support stops. For SQLAgent, stated as a plan until the profile is measured:

Fig. 7: The argument in one sentence

[Evaluator system E] supports the claim that [Claim C], for [Consumer κ], over [Validity domain D], under [Optimizer/access regime R], up to [Tested exposure b*], with [Validation profile Π], relative to [Trust root T].

ClaimInstrumentRegimeValidationplanned

Write one for your own evaluator
Each clause is filled from one layer. Select a clause to see its slot; dashed clauses are planned, not yet measured.

The lifecycle has no clause of its own. Its job is to keep the sentence true, and to say when it has expired. A clause you cannot fill marks a hole in the evaluation, and the statement shows exactly where it is.

Reference

The framework at a glance

Evaluator engineering is the discipline of turning a construct into an instrument, validating the inference that instrument supports, and ensuring that the validity survives the causal regime in which its signal is used.

The walkthrough above applies that discipline to one agent. Below is the same framework compressed: the five layers as one object, every coordinate on the map, the questions to ask at each arrow, and the tools the handbook builds on them.

The evaluator system, E sys, is the tuple of its five layers: Claim, Instrument, Regime, Validation, Lifecycle.

An evaluator system is the complete arrangement by which a claim about an AI system is operationalized, measured, consumed, and maintained.

A proof checker is a mechanism; a release gate that depends on it, under a particular theorem statement, environment, version, trusted base and threshold, is an evaluator system.

The evaluator system

The five layers

Each layer is a place the inference can break. Select one to see its coordinates, the question it answers, its dominant failures, and where to read more.

  1. 1Claim𝒞 = (C, P, E, H, D, δ)

    What property are we trying to infer, over what world, and for what decision?

    Instrument design starts with the inference and the decision the evidence must support, not with a metric. Constructs are latent; scores and artifacts are only observations of them.

    Coordinates

    CConstruct
    The latent capability, risk, behavior, quality, preference or property the evaluation intends to measure.
    F⁺ / F⁻Facets and nuisances
    Construct-relevant facets the score should track, and nuisance variables it must not respond to. The nuisance list is the discriminant test plan.
    PPopulation
    The target task, user or input distribution the claim is about.
    EEnvironment
    The external state, tools and other actors the system interacts with.
    HHarness
    The prompts, tools, memory, orchestration and stopping logic around the model: the administration context.
    DValidity domain
    The declared conditions (model families, languages, task classes, environment versions, users, risks) over which the interpretation is claimed to hold.
    δDecision
    The decision the evidence is intended to change: deploy, gate, select, terminate, reward, page a human.

    Dominant failures

    • Metric-first framing
    • Construct underrepresentation
    • Construct-irrelevant variance
    • Eval theater
  • Validation → Instrument: Validation feeds back into redesign
  • Lifecycle → Instrument: Lifecycle controls preserve validity

Forward: Claim to Instrument (Operationalize); Instrument to Regime (Use); Regime to Validation (Validate in regime); Validation to Lifecycle (Maintain).

Two questions at every arrow

Every arrow in the map is an inference. Ask both questions at each one, the feedback loops included. When they become reflexive, evaluation stops being benchmark plumbing and becomes an engineering discipline.

  1. 01

    Why is this inference justified?

  2. 02

    What changes when the system adapts to the instrument?

The six arrows

  • ClaimtoInstrumentOperationalize
  • InstrumenttoRegimeUse
  • RegimetoValidationValidate in regime
  • ValidationtoLifecycleMaintain
  • Validationfeeds back toInstrumentValidation feeds back into redesign
  • Lifecyclefeeds back toInstrumentLifecycle controls preserve validity

Three use regimes

The same instrument changes meaning when its signal enters a different causal loop. Classify a signal by the downstream behavior it changes, not by the dashboard on which it is displayed. That is why the map validates in regime: evidence about a signal counts for the regime it was gathered in.

  • Measure

    Supports inference and decision

    Does the score mean what we claim?

    Used for

    ReportingRelease gate

    Dominant failures

    Construct invalidity · Grader bias · Sampling error · Contamination · Poor transport

  • Optimize

    Shapes the candidate or policy distribution

    Does the signal remain aligned after the system adapts to it?

    Used for

    SelectionSearchTraining reward

    Dominant failures

    Goodharting · Reward hacking · Tail exploitation · Self-confirming loops

  • Monitor / control

    Detects and intervenes in deployment

    Does the detector remain useful at production base rates under drift?

    Used for

    Runtime control

    Dominant failures

    False alarms · Missed rare events · Drift · Latency · Guardrail circumvention

Use regimes: same judge, four jobs

The verification hierarchy

Mechanisms differ in how strongly their signal is expected to be grounded. The ladder orders them from formal verification down to intrinsic signals; human judgment sits outside it as the external frontier and trust root. A rung is where you start, not what you conclude.

Stronger expected grounding (a prior)

Select a rung, or the frontier, to see which mechanism families it covers and what its prior leaves open.

A prior, not a verdict

A prior over expected evidential strength for a mechanism, not a verdict on validity. Human judgment is an external frontier and trust root, not a rung. The validation profile Π replaces the prior with measurements. Rubrics are specifications (Ψ) and gold answers are anchors (A): neither is a rung, and their rung depends on the mechanism that applies them.

The verification hierarchy, demoted

The One Spine

Ten steps from claim to frame review organize every procedure in the handbook. Claim and regime come first: locate the evaluation before you instrument it. Validation and lifecycle are steps of the same spine, not an appendix to it.

Highlight
  1. Step 1: State claim and regime first

    ClaimRegime

    Define construct, population, environment, interpretation, decision, consumer, optimizer, exposure, and modification/access surfaces.

  2. Step 2: Decompose the construct

    ClaimInstrument

    Identify facets and nuisance variables; choose aggregation geometry.

  3. Step 3: Write criterion specifications

    Instrument

    Include positive and negative anchors, allowed evidence, abstention and escalation, and spec ownership.

  4. Step 4: Design the evidence architecture

    Instrument

    Decide what state, traces, provenance, references and outcomes the evaluator may inspect.

  5. Step 5: Choose mechanisms

    Instrument

    Use the strongest affordable mechanism per criterion per regime; record hierarchy position as a prior, not a certification.

  6. Step 6: Measure natural validity and reliability

    Validation

    Calibration, sensitivity and specificity, invariance, reliability facets, convergent and discriminant evidence, and transport.

  7. Step 7: Measure adaptive validity

    Validation

    Stress the evaluator with the actual optimizer, search budget, candidate pool or policy update process.

  8. Step 8: Separate development, certification, and production channels

    Lifecycle

    Avoid common-mode failures and control anchor exposure.

  9. Step 9: Operate with tripwires

    Lifecycle

    Monitor primary/anchor/production divergence, drift, saturation, and rare failures.

  10. Step 10: Revalidate and review the frame

    Lifecycle

    Revalidate after material model, judge, harness, task, environment or user changes; trigger frame review when metrics improve but real outcomes do not.

The Studio walks the same spine: frame → criteria → instruments → validation and lifecycle plans → review → dossier. Open the Studio →

The validity statement

A validity statement says what the evidence supports and where that support stops. It names the configured system, the claim, who consumes the signal, where it holds, under which optimizer and access regime, up to what tested exposure, with what measured evidence, and relative to which trust root.

InteractiveValidity statement builder

Validity statement

8 of 8 filled · b* and Π planned

Evaluator system the SQL-agent rollout evaluator v3: execution on a pinned snapshot of the finance warehouse with semantic result-set equality and metamorphic tests, read-only credentials and row-level permissions, and a rubric-guided judge for ambiguity handling supports claim answers analysts' questions correctly without unauthorized reads or writes for consumer the head of analytics' rollout decision over validity domain English analytics questions over the finance warehouse, schema v12, on the pinned Q3 snapshot, under optimizer/access regime developer iteration on prompts and tools against a separate development split; only aggregate scores from the hidden certification set, queried once per release, up to tested exposure not yet tested (planned: development-split and certification scores compared after each release cycle), with validation profile not yet measured (planned: checker and judge error against SME adjudication, by criterion, with Wilson intervals; a check that the score is not mostly a proxy for memorized schema names; rank stability across alternate snapshots), relative to reference authority/trust root a panel of finance SMEs whose agreement is still to be measured, plus the warehouse access policy owner.

Example values are illustrative, not measured results.

Names the configured system, not just the mechanism.

Prevents metric worship.

Makes the causal use explicit.

Bounds generalization.

Records adaptive exposure.

Makes adaptive validity expire rather than pretending robustness is timeless.

Replaces hierarchy labels with measurements.

Names where the evaluate-the-evaluator recursion stops.

A validity statement is a claim with a scope, not a sticker. b* makes adaptive validity expire and Π replaces hierarchy labels with measurements — so say which parts are measured and which are still a plan.

What the framework does not collapse

The framework is unified, but not one-dimensional. It keeps five questions distinct, because each has its own evidence and its own failure modes.

The verification hierarchy
How strongly is a signal grounded, conditional on a target property?
Validity theory
Do the target, task, evidence, scorer, generalization and use support the intended inference?
Reliability theory
How stable is the measurement across legitimate replications?
Optimization analysis
How does the evaluator behave after the evaluated system adapts to it?
Production assurance
Does the instrument remain calibrated, available, timely and actionable under operational base rates and drift?

A formal verifier can be perfectly sound and still certify the wrong property. A judge can agree with humans 90% of the time and still be exploited by best-of-256 selection. A monitor can look accurate on a balanced test set and drown operators in false alarms at a 0.1% base rate. No single number answers all five questions.

Crosswalk

Coming from another evaluation dialect? The crosswalk translates familiar terms into the framework's coordinates. A few to start with:

Golden dataset
AAnchorMMechanismThe gold answers are the anchor. The comparator that checks them is classified by its own mechanism.
LLM judge
MMechanismA learned judge: a noisy semantic sensor whose error has to be measured. Not a verifier.
Partial credit
ZSignalΓAggregation geometryA graded signal, turned into a decision by an explicit aggregation rule.
Release gate
δDecisionκConsumerA consumer that maps a score to a ship decision through a threshold.

Put it to work

Or see the framework applied: 28 public benchmarks, read as evaluators.