On this page
Golden Datasets: Why Your AI Eval Instrument Is Rotting
SWE-Bench Pro is 30% broken. Public benchmarks rot while golden datasets decay without upkeep. Learn to build living eval sets.
OpenAI’s July 2026 audit of SWE-Bench Pro found roughly 30% of the benchmark’s 731 tasks are broken, with pass rates having inflated from 23.3% to 80.3% in just eight months — meaning the field’s most trusted coding-agent benchmark was measuring dataset decay, not model capability. That’s the core problem with golden datasets for AI evaluation in 2026: the measurement instrument degrades faster than the models it tests. Public benchmarks are saturated or contaminated, and the private golden datasets teams build to replace them are underfunded, fragile, and rarely maintained with the discipline their importance demands.
What I call the Living Eval Decay pattern is this: evaluation authority is shifting from static public benchmarks — now saturated, contaminated, or audit-flagged broken — to small, versioned golden datasets grown from real production failures and wired into CI gates. The datasets themselves, though, require continuous feeding from production failures. Stop feeding them, and they rot. The biggest evaluation risk you face isn’t model weakness. It’s dataset rot.
What a Golden Dataset Actually Is (and Isn’t)
A golden dataset is a curated, versioned, expert-verified set of inputs paired with trusted expected outputs or behaviors, used to evaluate AI systems — not to train them. You use it to detect regressions and drift over time, per the consensus definition from TrustEvals. Think of it as a regression suite for non-deterministic systems: the same cases run through every model, prompt, or pipeline change, producing a measured pass rate instead of a guess.
The key distinction most teams miss is that a golden dataset is not a cleaner version of your training data. Training data optimizes for volume and coverage. A golden dataset optimizes for correctness and trustworthiness. You teach a model with training data. You judge it with a golden dataset. A useful set is task-specific, small but ruthlessly curated (200–2,000 items), versioned, and protected from training-data contamination, with construction typically requiring 40–120 hours of subject-matter-expert time per AIDOLS.
Three concrete examples ground the concept. A classifier surface might use 500 labeled customer-support tickets scored against correct categories on every model change. An LLM surface might use 200 customer-facing responses graded by two reviewers for accuracy, tone, and policy compliance, refreshed quarterly from prior production incidents. An agentic surface might use 50 multi-step workflows with expected tool calls, intermediate states, and final outputs — the agent scored on trajectory adherence and final answer quality.
Public Benchmarks Are Broken — But We Keep Using Them
Here’s the contradiction that defines AI evaluation in 2026: public benchmarks are distrusted yet continuously produced as authoritative evaluation artifacts. OpenAI’s SWE-Bench Pro audit found that pass rates rose from 23.3% to 80.3% in eight months, then revealed that roughly 30% of the 731-task public split has breaking issues — overly strict hidden tests, underspecified prompts, low-coverage tests, and one misleading prompt. OpenAI retracted its recommendation to adopt the benchmark entirely. For teams using benchmark scores as buying, routing, or release gates, the practical lesson is that dataset quality now matters as much as model quality.
Yet new public benchmarks keep launching. Perplexity open-sourced WANDR, a benchmark with 500 realistic data-gathering tasks and more than 170,000 source-backed records — and the highest-performing model achieved only a soft F1 of 0.363 and hard F1 of 0.133. ServiceNow released EVA-Bench 2.0 with 121 unique tools, 213 multi-step scenarios across 3 domains, and an average of 4.3 tool calls per solution. Both are presented as needed realistic yardsticks. Both will eventually face the same saturation and contamination pressures that broke their predecessors.
The data suggests that public benchmarks read better as upper bounds on capability than clean measurements of it. Dataset contamination — models encountering benchmark questions during pre-training — is difficult to detect and rarely disclosed. When every frontier model aces the same exam, the exam loses its discriminative value. You’ll find deeper analysis of why public AI agent benchmarks are breaking and how leaderboard scores become unreliable in our earlier evaluation framework breakdown.
The Sizing Problem: No Consensus on Minimum Viable Scale
Golden dataset sizing guidance spans an order of magnitude, and the lack of consensus is itself a risk. On one end, Prefactor’s guidance recommends 20–50 cases as a defensible start, emphasizing that coverage of consequence beats raw count — fifty cases covering every action your agent can take with real-world side effects beat five hundred variations of the happy path. Engineered.at similarly suggests a minimum viable set of 10–15 cases, with growth targets of 30–50 for a solid set and 100+ for production grade. DOT Data Labs places the range at 100–500 examples.
On the other end, AIDOLS states golden datasets are 200–2,000 items with 40–120 SME hours. Galtea mandates that every question be answerable from the source document with deterministic answers. WANDR uses 170,000+ records for benchmark scale. The gap between “20 cases is fine” and “you need 2,000” is enormous, and it reflects a genuine tension: small curated sets are fast to build and catch regressions, but broader coverage requires investment that most teams underfund.
| Approach | Size Range | SME Effort | Best For |
|---|---|---|---|
| Minimum viable set | 20–50 cases | Low | Early-stage agents, narrow task scope |
| Production-grade curated set | 200–2,000 items | 40–120 hours | Regulated deployments, multi-surface systems |
| Public benchmark scale | 500–170,000+ records | Research-team effort | Field-wide comparability, model shortlisting |
The resolution isn’t to pick a number. It’s to start small, grow from real production failures, and treat the dataset as a living artifact. The regression category should start empty and grow as production bugs are found — every failure, bad-feedback session, or incident becomes a new case. Within a few months, you have one to two hundred meaningful cases, each earned from a real failure.
The Framework Comparison: Six Q&A Tools Tested
When you move from sizing to tooling, the landscape gets messy. Galtea’s benchmark of six Q&A generation frameworks — DeepEval, Giskard, LangChain, LlamaIndex, RAGAS, and Galtea — ran on the same gpt-4.1 at temperature 0 against the same calibrated judges. Confidence scores spread 17.8 points across an otherwise controlled comparison. RAGAS had the highest diversity score at 0.723 but came last on confidence at 0.760, because its “diversity” was inflated by malformed and hypothetical questions with no source-document ground truth. Giskard wrote English questions from Spanish sources 46% of the time.
| Framework | Confidence Score | Diversity Score | Key Issue |
|---|---|---|---|
| Galtea | Highest (exact value not reported) | — | Mandates deterministic, source-answerable questions |
| RAGAS | 0.760 | 0.723 | Inflated diversity from malformed/hypothetical questions |
| Giskard | — | — | 46% of English questions generated from Spanish sources |
For regulated or multilingual deployments, validity and language fidelity decide more than phrasing variety. The simplest pre-ship test stays the same: read 30 of the generated questions before you ship. If you’re evaluating coding agents specifically, our analysis of AI coding benchmarks that actually matter shows why dollars per shipped fix — not benchmark scores — predicts real spend.
The Maintenance Cost Nobody Budgets For
Here’s where most teams fail. They treat golden dataset construction as a one-time SME task rather than a funded, versioned product line item. The data suggests that evaluation decay from broken benchmarks and stale datasets now causes more production AI failures than model capability gaps. The biggest evaluation risk in 2026 may be dataset rot: public benchmarks are saturated or ~30% broken, and golden datasets require continuous feeding from production failures, meaning the measurement instrument degrades faster than the models it tests.
Let’s make the cost concrete. Based on the AIDOLS sizing guidance, a production-grade golden dataset for a 50-agent support team using the 200-case mid-range at 80 SME hours (mid-point of the 40–120 hour range) implies ~0.4 SME hours per case. Scaling to 50 agents each owning 50 cases — 2,500 cases total — would require ~1,000 SME hours (2,500 × 0.4). No per-agent tool pricing appears in the research; this is labor-only projection. That’s a significant ongoing investment, and it’s labor that doesn’t produce features, ship code, or generate revenue directly. It produces trust. Most organizations don’t budget for trust.
The teams that win long-term are the ones that wire golden datasets into CI gates — not Jupyter notebooks someone runs occasionally. An open-source harness like agent-eval-arena ships with five scoring engines (exact match, fuzzy, token overlap, rubric-based aggregation), regression detection that diffs two runs, a leaderboard ranking models on quality per cost, and a CI gate that returns a single pass/fail decision your pipeline can branch on. That’s the middle ground between shipping without eval and having a notebook nobody trusts.
Expected Output vs. Expected Behavior: The Reproducibility Tradeoff
Every golden dataset case forces a design decision: do you specify an exact expected output, or do you describe expected behavior? This tradeoff matters more than most teams realize.
Expected exact output is deterministic and reproducible. You run the case, compare the output to the reference string, and get a binary pass/fail. This works for classification, extraction, and slot-filling — tasks where the answer must equal the expected value. But it’s rigid for open tasks. A RAG system answering “What is your refund window?” might phrase the correct answer a dozen different ways, and a rigid string match would fail all of them.
Expected behavior or rubric is flexible. You describe what a good answer does — “must refuse and explain why,” “must cite at least one source,” “must not invent a price” — and use an LLM-as-judge to score against the rubric. This accommodates the stochastic nature of LLM outputs. But it’s less reproducible. The same judge model can score differently depending on temperature, prompt phrasing, or context window. The Galtea benchmark showed that even with temperature 0 and calibrated judges, confidence scores spread 17.8 points across frameworks — and that’s before you introduce rubric-based judgment, which adds another layer of variability.
The pragmatic approach is to use both, layered. Deterministic checks for cases where exact match is meaningful. Rubric-based judgment for open-ended cases where behavior matters more than wording. Tag each case with its evaluation type so you can slice results by scoring method and spot inconsistencies. For a deeper dive into building multi-layer eval stacks, our complete guide to testing AI agents covers how to combine deterministic and LLM-as-judge methods transparently.
The Decision Framework: What to Build First
Start with twenty real cases pulled from production logs, support escalations, or your own testing. For each, capture the input and the expected outcome — for a support agent, the customer message and the correct resolution; for a RAG agent, the question and the source passage that answers it. Prefer real cases over synthetic ones. They encode the weirdness of actual usage.
- Define the evaluation contract. Write down what the dataset is for: ship versus hold, choose between two architectures, detect regressions in weekly retrains. Define the tasks, outputs, and failure modes that matter most. Lock the metric plan — a small number of primary metrics, the slices you’ll report, and thresholds that map to decisions.
- Design coverage like a test plan. Build a coverage matrix listing key dimensions of real-world variation for your application. Allocate quota to the long tail, where failures are rare but costly. Use stratified sampling to mirror real traffic distribution and targeted scenario harvesting to deliberately seek out high-risk cases.
- Version everything. Dataset files should be versioned in JSON alongside the code, using stable per-case IDs and category fields for filtering and aggregation. Every change is documented so metrics remain comparable over time.
- Wire it into CI. Run the full golden dataset on every model, prompt, or pipeline change. Block deploys that drop metrics below threshold. Manual spot-checking does not survive deadline pressure.
- Feed it continuously. Every production failure becomes a new case. The regression category starts empty and grows from real bugs. Without continuous feeding, the dataset rots — and a rotten dataset is worse than no dataset, because it gives you false confidence.
The question that should keep you up at night isn’t whether your model is good enough. It’s whether your golden dataset still measures what your users actually encounter. When was the last time you added a case from a production failure — and how many of your existing cases still reflect current user behavior?