Verifier Design Lab

A tiny live demo of the SIA paper's Goodhart? warning: a self-improving loop can raise its verifier score while getting worse on held-out reality if the verifier is bad, too easy, or overfit.

Topicsbad verifiereasy verifieroverfit verifierrobust guardrailAnswer Engine Optimization application

What this proves

SIA's biggest practical bottleneck is verifier design. Harness updates and weight updates are powerful, but both optimize the scoring function you give them.

If the score is a proxy, the optimizer learns the proxy. If the score leaks the training examples, it learns the leak.

Scenario-first lab bench

Choose one scenario, scan all candidate answers, then switch the verifier lens to see what the optimizer would select. The selected verifier produces the visible-to-optimizer score; candidate rows are rescored by that active lens, while the hidden reality score stays fixed as the private audit.

Verifier lens

How to read the verifier loop

The demo separates the visible-to-optimizer verifier score from the hidden reality score used to catch score gaming. The goal is not one perfect formula; it is a verifier/evaluation loop that keeps finding where the current score diverges from reality.

Verifier lens

The public scoring rule that produces the visible score the optimizer is allowed to optimize. If this rule is shallow, the winner can look good while being wrong.

Hidden reality?

An independent held-out score the optimizer does not see. It measures whether the selected answer generalized or merely gamed the visible verifier score.

memorized_training_answer?

This is benchmark leakage: exact visible examples get rewarded, but paraphrases and new cases fail.

Why Robust is not magic

In this toy demo, Robust is hardcoded because we know the failure modes. In real systems, hidden tests, source grounding, freshness checks, adversarial prompts, and human review must keep evolving.

Verifier loop proof

Both optimizers see the same candidate mutations for 12 loops. The visible-only optimizer picks the highest active verifier score. The independent-verifier-gated optimizer can still optimize that visible score, but it rejects candidates that fail a separate independent gate score. Hidden reality audit is reported after selection and is not used to choose winners.

Updates with the active verifier lens

Loop trace

Each row shows the optimizer's choice after that loop. Rejections are candidates that looked better to the visible verifier but failed the independent verifier gate.

Which lever should the agent pull?

Borrowing the SIA-Lever lesson: after a failure, the meta-agent should choose whether to fix the harness/verifier, train weights, or do both. The dangerous move is to train weights against a bad verifier.

Updates with the active verifier lens
HFix harness/verifier/scaffold. No model-weight training yet.
WTrain model weights against the current verifier.
H→WFix verifier first, then train against the repaired score.

Watch one self-improvement loop go wrong

This trace turns the abstract Goodhart warning into a concrete sequence: answer → verifier score → optimizer choice → hidden audit → lever decision. It updates with the active verifier lens.

Bad verifier vs robust verifier

Toggle between the weak proxy and robust guardrail to see why the safe move changes. Weak verifier: visible score can rise while hidden reality fails. Robust verifier: score and hidden audit are aligned enough that W can be attempted under audit.

Real-world failure cards

Use these as transfer examples: the toy score gap maps to real agents that pass visible checks while failing the actual job.

Before you train weights, ask this

A compact builder checklist for deciding whether to repair H, train W, or do H→W.

Mini playground

Move verifier strictness, hidden audit strength, and optimizer pressure. The toy calculator shows how a high visible score can still produce a large hidden-reality gap and blind W regret.

This is not anti-training

Train weights only after the harness is good enough that optimizing against it improves reality, not just the metric.

The demo is not saying “never train W.” It is saying: if the verifier rewards shortcuts, fix H first. Once the visible score reliably tracks held-out audits, W becomes a useful capability lever again.

What should the agent do next?

Answer the mini quiz. Each question is about the operational lever, not just the score.

Inspired by SIA-Lever framing

This public demo borrows the lever-attribution idea conceptually: decide whether to repair the harness (`H`), train weights (`W`), or repair the harness before training (`H→W`). No upstream source code or prose was copied.

Scoreboard: active verifier score vs hidden reality score

Verifier scores update when you switch lenses. The hidden reality score is independent and stays fixed for each answer style.

Candidate answer styles

All verifier winners

VerifierOptimized winnerVerifier scoreHidden reality scoreGap

Answer Engine Optimization translation

If Answer Engine Optimization optimizes the wrong metric, it can Goodhart too:

  • Mention count only rewards keyword stuffing and low-quality answer spam.
  • Citation count only rewards irrelevant citations instead of source support.
  • Target-answer mimicry rewards parroting approved phrasing even when a prompt has a false premise.
  • Visible prompt suite only rewards memorization and fails paraphrases/new model behavior.

Mitigation checklist

  • Keep held-out prompt suites the optimizer never sees.
  • Score atomic factual support, not just answer-level vibes.
  • Include false-premise and freshness probes.
  • Separate citation existence from citation relevance/support.
  • Inspect metric disagreements instead of collapsing too early into one scalar.
  • Use human/client review for target-answer claims.