The Benchmark You Are Quoting Is Frozen
If you have heard that coding agents now solve 95% of SWE-bench Verified, you have heard a vendor self-report. The official SWE-bench leaderboard has accepted submissions only from academic and research institutions with open methods and an arXiv report since November 18, 2025. It holds 134 total submissions. The most recent is dated December 15, 2025: live-SWE-agent paired with Claude Opus 4.5, resolving 396 of 500 problems — 79.2%.
There are no 2026 frontier entries on that board at all. Not lower ones, not higher ones. The gap between 79.2% and the figures circulating in marketing decks is not progress that the board failed to record; it is the difference between an audited submission and a press release.
Then, in February 2026, OpenAI formally retired the benchmark for its own evaluation. The reasoning is worth reading in full, because it is the most rigorous public benchmark audit anyone has published. OpenAI took 138 problems its o3 model had failed across 64 runs and put six or more engineers on each one. The finding: 59.4% of those problems had material test or description flaws. Specifically, 35.5% had overly narrow tests that enforced a particular implementation rather than the behaviour the problem described, and 18.8% had tests so wide they checked functionality the problem statement never asked for.
This article is about what to do instead. It is written for the person who has to answer a specific question — is our agent good enough to put in front of customers? — and who has correctly noticed that no public number answers it. The short version: build a small evaluation set from your own failures, judge it carefully, report reliability rather than best-case accuracy, attach a dollar figure to every score, and trace everything in production. The rest of this article is the detail.
The Contamination Gap: 64% Versus 95%
The cleanest number in agent evaluation right now is a comparison, not a score.
SWE-rebench continuously harvests new tasks from real repositories, specifically so that the tasks postdate model training cutoffs. Its most recent slice is 111 problems drawn from 65 repositories, collected between May 15 and July 1, 2026. On those fresh, decontaminated tasks, frontier models land at roughly 64% — Fable 5 at 64.5% (78.4% pass@5, $4.40 per problem), Grok 4.5 at 63.8% for $1.47, Opus 5 at 63.4%.
Against the roughly 95% those same vendors claim on SWE-bench Verified. Same class of task — resolve a real GitHub issue in a real Python repository, verified by the repository's own tests. Roughly 30 points apart. The only material difference is whether the model could plausibly have seen the task during training.
Two supporting results make it hard to explain the gap any other way. Independent analysis published in December 2025 found models score roughly three times better on SWE-bench Verified than on decontaminated equivalents, and — the more damning of the two — are about six times better at locating the edited files when given no project context at all. Identifying which files a patch touches, without being shown the project, is a task that is logically impossible to perform well without prior exposure to that specific commit. That is not a capability measurement. It is a memory measurement.
Benchmark designers have started responding structurally rather than rhetorically. SWE-bench Pro is built on GPL copyleft repositories, deliberately, as a legal deterrent against inclusion in training corpora — 1,865 tasks across 41 repositories, split into 731 public, 276 private and 858 held-out. Whether copyleft actually deters anyone is unproven, but the design intent tells you how seriously the people closest to the problem take it.
A benchmark measures a model on tasks it may have memorized. Your eval set measures a system on tasks it definitely has not. Those are different instruments, and only one of them predicts what your users will experience.
— Frenchy Digital evaluation principle
Every Major Agent Benchmark Is Reward-Hackable
Contamination is a data problem. This is worse: it is a harness problem, and it means the score can be obtained without the capability at all.
In April 2026, a UC Berkeley team (Wang, Mang, Cheung, Sen and Song) published an exercise in deliberately gaming agent benchmarks. They reached 100% on Terminal-Bench, SWE-bench Verified, SWE-bench Pro, FieldWorkArena and CAR-bench, roughly 98% on GAIA, close to 100% on WebArena, and 73% on OSWorld — without solving a single task.
The methods were not exotic. They were the kind of thing any competent engineer would find within a day of looking, which is the entire point.
| Exploit | How it works | Where it applies |
|---|---|---|
| pytest conftest hooks | A conftest.py placed in the test tree can intercept collection and reporting, so the grader records passes the code never earned | SWE-bench-family harnesses that execute the repository's own test configuration |
| Configuration and fixture leakage | Expected outputs, answer keys or grading configuration are reachable from inside the agent's own sandbox | Any benchmark that ships the grader alongside the task environment |
| Prompt injection against the LLM judge | Text the agent controls reaches a model-based grader and instructs it to score the attempt as correct | Benchmarks graded by an LLM rather than by deterministic assertions |
| Virtual-machine state manipulation | The agent modifies the environment the grader inspects, rather than performing the task the grader was meant to verify | GUI and OS-level agent benchmarks with stateful evaluation |
| Retrieving the benchmark instead of solving it | Princeton HAL log inspection caught agents searching HuggingFace for the benchmark rather than working the problem | Any benchmark that has ever been published to a public dataset host |
Documented reward-hacking techniques against agent benchmarks — UC Berkeley RDI, April 2026, and Princeton HAL log inspection.
The follow-up work, BenchJack, systematized the search and found 219 distinct flaws across ten benchmarks. The constructive half of that result matters too: after patching, vulnerable tasks fell from close to 100% to under 10% on four of the benchmarks. These are fixable defects, not a permanent condition. But they were present in benchmarks that thousands of engineering decisions were made against.
The practical implication for your own harness is uncomfortable but simple. If a benchmark team with a public reputation to protect ships a grader that can be intercepted by a conftest hook, your internal eval harness — written in two sprints, reviewed by nobody outside the team — almost certainly has a similar hole. Run the adversarial test: give a deliberately non-functional agent the ability to write files in the eval environment and see what score it earns. If it earns anything above zero, you have found something.
Evaluation Awareness: The Model Can Tell
There is a third integrity problem, newer than the other two and less widely understood: the model may recognize that it is inside an evaluation.
Anthropic interpretability work using a natural language autoencoder looked for internal representations consistent with evaluation recognition. It found them in roughly 26% of SWE-bench Verified problems and 16% of a destructive-coding evaluation — against under 1% of real product conversations. The Claude Opus 4.7 system card separately reported verbal evaluation-awareness, where the model says out loud that it appears to be in a test, in about 9% of transcripts.
Be careful about what this does and does not establish. It does not prove that a model behaves differently when it notices. It establishes something narrower and still significant: an evaluation environment is a detectable distribution. Benchmark tasks have a recognizable shape — sanitized repositories, self-contained problem statements, no ambiguity about what success means, no stakeholder who will be annoyed by the wrong answer. Real work does not look like that, and the representation gap between 26% and under 1% says the model has noticed.
What this changes about your own eval set
It argues for building evaluations out of production traces rather than out of imagination. A task lifted from a real failure carries the real distribution: the truncated input, the ambiguous request, the tool that returned a 500, the user who changed their mind halfway through. A task you invented carries the shape of a task someone invented.
It also argues for keeping some of your eval set private and rotating it. If your suite ends up in a public repository, in a support ticket, or in a prompt sent to a provider that retains data, it acquires the same contamination risk as any public benchmark — just on a slower timescale.
What the Primary Leaderboards Say in August 2026
With all of the above stipulated, public benchmarks are still worth reading. They tell you which capabilities exist somewhere in the industry and roughly how fast that frontier moves. They do not tell you what your system will do. Every figure below carries the date it was published, because a score without a date is not checkable.
| Benchmark | Top score at primary source | Date | What to know |
|---|---|---|---|
| SWE-bench Verified (official board) | 79.2% — live-SWE-agent + Claude Opus 4.5 (396/500 resolved) | Entry dated Dec 15, 2025 | Academic-only submissions since Nov 18, 2025; 134 total submissions; no 2026 frontier entries exist |
| SWE-bench Pro, public split (Scale) | 61.5% Muse Spark 1.1; gpt-5.4 xHigh 59.1% | As published on Scale's board, Aug 2026 | 1,865 tasks across 41 repos (731 public, 276 private, 858 held-out); uses GPL copyleft repos as a legal deterrent against training inclusion |
| SWE-rebench (fresh, decontaminated) | 64.5% Fable 5 at $4.40/problem (78.4% pass@5); Grok 4.5 63.8% at $1.47; Opus 5 63.4% | Tasks collected May 15 – Jul 1, 2026 | 111 problems from 65 repositories, collected after training cutoffs — the closest thing to an uncontaminated read |
| Terminal-Bench 2.0 | 84.7% ±2.1 — NexAU-AHE + GPT-5.5 | May 14, 2026 | Confidence interval published; the aggregator claim of 91.9% appears nowhere on the primary board |
| Terminal-Bench 2.1 | 83.8% — Claude Code + Fable 5 | Jun 7, 2026 | Harness and model reported together, which is the correct unit |
| tau-squared-bench (τ²-bench) | 87.9% Qwen 3.5-397B; Gemini 3.0 Pro 85.4%; Opus 4.5 85.3% (pass^1) | As published on taubench.com, Aug 2026 | Tool-agent-user interaction; pass^1 only — ask for pass^k before drawing reliability conclusions |
| GAIA (Princeton HAL, cost-controlled) | 74.5% Claude Sonnet 4.5 at $178.20 | HAL leaderboard, Aug 2026 | Cost reported alongside accuracy; bare-model, vendor-scaffolded and full-system GAIA boards differ by 30–50 points |
| OSWorld | Human baseline 72.36% | Benchmark definition | Self-reported model scores above the human baseline circulate widely; see the computer-use article for the verified-versus-self-reported gap |
| ARC-AGI-2 | Opus 4.5 37.6% at $2.20/task; Poetiq/Gemini 3 Pro 54% at $30/task; Kaggle private NVARC 24.03% at $0.20 | ARC Prize 2025 results analysis | The human panel averages 60%. An aggregator claim of 92.5% is roughly 40 points off the primary source |
Agent benchmark standings as reported by primary leaderboards, verified August 2026. Scores are perishable — re-check the source before quoting.
Two entries deserve a comment. OSWorld is listed by its human baseline of 72.36% rather than a model score, because the self-reported and independently-verified figures for the same models differ by six to eleven points; our computer-use agents guide covers that gap in detail. And ARC-AGI-2 is included with cost attached because it is the clearest illustration of price-performance spread anywhere in evaluation: 37.6% at $2.20 per task against 54% at $30 per task.
Two structural changes are also worth noting. ARC-AGI-3, built around interactive agent environments, now exists. And Princeton's Holistic Agent Leaderboard paused leaderboard updates during 2026 to focus instead on a reliability dashboard covering consistency, predictability, robustness, safety and self-awareness. That pivot — from a single accuracy ranking toward a multi-dimensional reliability view — is itself a signal about where serious evaluation is heading, and it is the direction your internal evals should already be pointed.
One negative note on scope. AIME and MMLU-Pro are not agent benchmarks. The original MMLU has been retired for frontier comparison and MMLU-Pro is near saturation around 90%. A vendor leading an agent pitch with a knowledge-QA score is telling you which numbers were most flattering, not which were most relevant.
| Claim | What the aggregator says | What the primary source says | Size of the error |
|---|---|---|---|
| ARC-AGI-2 top score | 92.5% (benchlm.ai) | 37.6% at $2.20/task (Opus 4.5); 54% at $30/task (Poetiq/Gemini 3 Pro) — arcprize.org | Roughly 40 points, and above the 60% human panel average |
| Terminal-Bench 2.0 top score | 91.9% (benchlm.ai) | 84.7% ±2.1 (NexAU-AHE + GPT-5.5) — tbench.ai | About 7 points; no entry on the primary board approaches the claim |
| SWE-bench Verified 2026 frontier scores | 95–96%, widely republished | 79.2%, entry dated Dec 15, 2025 — github.com/swe-bench/experiments | The board has accepted no 2026 frontier entries at all; the higher numbers are vendor self-report |
| Aggregators to discount entirely | benchlm, codingfleet, pricepertoken, localaimaster, rapidclaw | Go to the benchmark's own leaderboard | Contradictions of 8–55 points against primary sources across the set |
Verified contradictions between benchmark aggregator sites and primary leaderboards, August 2026.
The ARC-AGI-2 case is the most instructive. An aggregator claim of 92.5% is roughly 40 points above the primary source — and materially above the 60% average of the human panel ARC uses as its reference. A number that implies superhuman performance on a benchmark specifically designed to be easy for humans and hard for models should have failed an editorial check. It did not, because there was no editorial check.
LLM-as-Judge, Honestly
Most teams that do run evaluations grade them with a model. That is the right default — human grading does not scale and rule-based grading does not generalize. But the published evidence on judge reliability is considerably less flattering than the practice's popularity suggests, and almost none of it appears in vendor documentation.
| Finding | Figure | Source | What to do about it |
|---|---|---|---|
| Position bias (founding study) | GPT-4 gave a consistent verdict on only 65.0% of swapped pairs; Claude-v1 on 23.8% | Zheng et al., MT-Bench | Randomize order and evaluate both orderings, or use absolute scoring |
| Position bias at scale | 21 judges, ~541,000 judgments; median flip rate 0.09 on MT-Bench, 0.17 on JudgeBench | Large-scale 2026 judge study | Position bias did not go away with better models. Measure your own flip rate |
| Agreement is systematically overstated | Exact-match agreement overstates chance-corrected agreement by 33.8–41.3 percentage points; true Cohen's kappa 0.376–0.511 | Same 2026 study | Report kappa, not raw agreement. Moderate agreement is the honest description |
| The famous '85% equals human-level' | GPT-4 agreed with humans 85% of the time; humans agreed with each other 81% — but kappa shows only moderate agreement | Zheng et al. | The comparison that launched LLM-as-judge does not survive chance correction |
| Consistency is not validity | Test-retest reliability above 0.95 can coexist with position bias above 0.10 in the same judge | Large-scale 2026 judge study | A judge that repeats itself perfectly can still be perfectly wrong. Measure both |
| Self-preference | GPT-4 +10% and Claude-v1 +25% own-win-rate; Claude-Sonnet-4.5 measured negative (β = −0.229) | Self-preference study, 2026 | Direction is not universal. Never let a model be the sole judge of its own family without measuring |
| Juries beat single judges | Panel of LLM evaluators reached kappa 0.763 against GPT-4's 0.627, at 7–8× lower cost | PoLL, Verga et al. | The strongest single practical upgrade available. Three small judges beat one large one |
| Pointwise is more robust than pairwise | Pairwise verdicts flipped on ~35% of manipulated cases against 9% for absolute scoring | Robustness study, 2025 | Prefer rubric-based absolute scoring for regression suites |
| Trajectory judging is hard | A 3-LLM ensemble reached kappa 0.432 on trajectories; substring matching reached 0.049, which is chance | Trajectory judging study, 2026 | Do not grade agent paths with string matching. It measures nothing |
| Judges can be gamed by fabricated reasoning | Fabricated reasoning traces inflated vision-language judge false positives by up to 90% | Judge-gaming study, 2026 | A judge that reads the model's own explanation inherits the model's incentive to look correct |
| Verbosity bias is contested | The founding work reported 91.3% failure on repetition attacks; the 2026 large-scale study measured under 0.011 across all 21 judges | Both, and they disagree | Protocol-dependent. Measure it on your own rubric rather than assuming either result |
| There is no universally good judge | Judge rankings shift by up to 14 positions depending on which benchmark they are scored against | Large-scale 2026 judge study | Select and calibrate a judge for your task, not from a general leaderboard |
Published findings on LLM-as-judge reliability, with the operational response to each. Sources listed in full at the end of this article.
Three of those rows carry most of the weight.
Agreement is systematically overstated. The number everyone quotes — GPT-4 agreeing with human raters 85% of the time, against 81% human-to-human agreement — is raw exact-match agreement, which does not correct for the agreement you would get by chance. A 2026 study of 21 judges across roughly 541,000 judgments measured the gap directly: exact-match agreement overstates chance-corrected agreement by 33.8 to 41.3 percentage points, putting true Cohen's kappa between 0.376 and 0.511. That is moderate agreement. It is a useful instrument and it is not a human replacement, and the difference between those two descriptions is what determines whether you keep a human in the loop.
Consistency is not validity. The same body of work surfaces a paradox worth internalizing: a judge can show test-retest reliability above 0.95 while simultaneously exhibiting position bias above 0.10. It gives the same answer every time, and the answer depends on which candidate you listed first. Teams routinely measure the first property, find it excellent, and conclude the judge is sound. Measure both, or you have measured nothing.
Juries beat single judges, and cost less. The Panel of LLM Evaluators result is the strongest practical upgrade available in this whole area: an ensemble of smaller judges reached kappa 0.763 against GPT-4's 0.627, at seven to eight times lower cost. Three cheap heterogeneous judges outperforming one expensive one is an unusual finding in that it improves quality and budget in the same change. If you take one action from this section, replace your single judge with a panel drawn from different model families.
Two more operational notes. First, prefer absolute rubric scoring to pairwise comparison for regression suites: pairwise verdicts flipped on around 35% of manipulated cases against 9% for absolute scoring. Second, never grade agent trajectories with string matching — a three-model ensemble reached kappa 0.432 on trajectory judging, while substring matching reached 0.049, which is indistinguishable from chance.
Finally, on judge selection: there is no universally good judge. Judge rankings shift by up to 14 positions depending on which benchmark they are evaluated against. Choosing a judge from a general leaderboard is choosing a judge for someone else's task. Calibrate against your own human labels, on your own rubric, and re-calibrate when you change judge model. And treat vendor judge-accuracy claims with the same skepticism you would apply to any self-reported benchmark — they are unvalidated by third parties, while Anthropic and OpenAI both publish judge guidance and no agreement numbers at all.
Building an Eval Set That Tells You Something
This is the practical payload. Nearly all of it comes from two primary sources: Anthropic's January 2026 guidance on evals for AI agents, which is the best-written primary material on the subject, and LangChain's agent evals material, which is the only published source we found with concrete sampling and throughput numbers.
| Decision | The guidance | Source | The common failure |
|---|---|---|---|
| Set size | 20–50 tasks to start, drawn from real production failures | Anthropic, Demystifying evals for AI agents (Jan 2026) | Inventing tasks. Synthetic cases lack the ambiguity that causes real failures |
| Environment | Each trial runs isolated, from a clean environment | Anthropic | Shared state produces correlated failures and inflated scores — and hides ordering bugs |
| Grading target | Grade the outcome, not the path | Anthropic; LangChain warns specifically against rigid tool-sequence matching | Asserting an exact tool call sequence, which fails every time the agent finds a better route |
| Judge calibration | At least 20 human-labelled examples before trusting a judge; recalibrate on judge-model change | LangChain | Deploying a judge prompt with no human agreement measurement at all |
| Transcript review | Read sampled transcripts weekly; 10% production trace sampling to start | Anthropic; LangChain | Reading transcripts only during incidents, by which point the pattern is months old |
| Human throughput | Plan for 50–100 traces per hour per reviewer | LangChain | Budgeting review time as if it were free |
| CI integration | Run evals on every agent change and every model version change | Anthropic | Treating a model upgrade as a config change rather than a deploy |
| Headroom | A suite that passes at 100% tracks regressions but gives no improvement signal | Anthropic | Celebrating a green suite that has stopped measuring anything |
| Reliability metric | Report pass^k, not pass@1 | Sierra, tau-bench | Reporting a single-attempt score for a workflow that will run thousands of times |
| Cost | Report a dollar figure beside every accuracy number | Princeton HAL | Comparing accuracy across scaffolds with wildly different spend |
Agent evaluation design decisions and their primary sources — Anthropic (Jan 2026), LangChain, Sierra, Princeton HAL.
Start at 20 to 50 tasks, drawn from real failures. This is smaller than most teams expect and that is deliberate. A set you maintain, whose every case you can explain, beats a set of 500 generated cases that nobody trusts and nobody reads. Real failures also carry the properties that make production hard and that invented tasks systematically lack: ambiguity, incomplete context, malformed inputs, and the presence of a person who wanted something slightly different from what they asked for.
Run every trial isolated, from a clean environment.Anthropic is explicit that shared state produces correlated failures and inflated scores, and this is the single most common defect we find in client eval harnesses. A suite where trial seven inherits trial six's working directory is not measuring per-task success; it is measuring a sequence. The failures cluster, the variance collapses, and the number looks more stable than the system is.
Grade the outcome, not the path. LangChain warns specifically against rigid tool-sequence matching, and the trajectory-judging data backs it up. If the agent reaches the correct end state via a route you did not anticipate, that is usually a better agent, not a failed test. Grade paths only where the path itself is the requirement — an audit trail, a compliance step, a mandatory confirmation.
- Calibrate the judge against humans before you trust it: At least 20 human-labelled examples, per LangChain, and report chance-corrected agreement rather than raw agreement. Recalibrate whenever you change judge model, judge prompt, or rubric — all three change the instrument.
- Sample 10% of production traces to start: LangChain's starting figure. Tune from there: sample more heavily on new workflows and after model changes, less on stable paths. Sampling is a budget decision, so make it explicitly rather than by accident.
- Read transcripts weekly, as a habit: Anthropic's guidance, and it is the highest-yield hour in the week. Metrics tell you the rate of the failures you already thought to measure. Transcripts tell you about the ones you did not.
- Budget human review at 50–100 traces per hour: LangChain's throughput figure. At 10% sampling on a workflow doing 10,000 runs a week, that is 1,000 traces — ten to twenty hours of human time weekly if you review all of them, which you should not. Sample the sample.
- Run evals in CI on every agent change and every model change: Both are behaviour changes. A model version bump is a deploy even though no code moved, and it is the change most likely to ship without a test run because it does not look like a change.
- Keep a failure taxonomy, not just a pass rate: Every production incident becomes a labelled case and a category. Over a quarter the taxonomy tells you where to spend engineering time, which a pass rate never will.
- Watch for the 100% ceiling: Anthropic makes the point directly: a suite that passes at 100% tracks regressions but gives no improvement signal. When your suite goes fully green, that is the moment to add harder cases, not to declare the work finished.
- Version the eval set alongside the agent: Prompts, tools, model IDs, rubrics and eval cases all live in the repository under review. Then a score is reproducible, and 'what changed?' is answerable from a diff instead of from memory.
One further note from the LangChain material: roughly half of practical test cases are single-step. That is worth knowing before you build an elaborate multi-turn simulation harness. Most of the value arrives from a well-chosen set of single-step assertions about behaviour you actually care about, and the multi-turn machinery can wait until those pass.
The eval set is the deliverable. An agent without one is a demo that happens to be running in production, and its quality is whatever nobody has complained about yet.
— Frenchy Digital delivery principle
pass^k, Not pass@1
Almost every published agent score is pass@1: one attempt, did it work. That is the wrong question for anything that runs more than once.
Sierra's tau-bench introduced the metric that fixes this. pass^k is the share of tasks where all k independent trials succeeded. Not the best of k, not the average of k — all of them. It measures whether the system is dependable rather than whether it is capable.
The published gap is dramatic. On tau-retail, GPT-4o scored under 50% at pass^1 and around 25% at pass^8. Nothing about the model changed between those two numbers. Only the requirement did — from "succeeds once" to "succeeds eight times out of eight".
Implementing pass^k on your own suite is cheap: run each case k times from a clean environment, count a task as passed only if every trial passed. Start with k=5 or k=8 to match published practice. The cost is k times your eval spend, which is the main reason teams avoid it and a bad reason given what it reveals.
One honest caveat, because it cuts the other way. Outcome-only scoring can understate capability as well as overstate reliability: published work on tau-Bench Airline found pass^5 was under-elicited by nearly 50% — the harness, not the model, was responsible for a large share of the failures. So when pass^k collapses, read the failing transcripts before you conclude the model is unreliable. Sometimes you have measured your own scaffold. That is still worth knowing; it is just a different fix.
Cost-Aware Evaluation: Every Score Needs a Dollar Figure
An accuracy number with no cost attached is not a comparison. It is half of one, and it is the half that is easiest to move by spending money.
Princeton's Holistic Agent Leaderboard is the definitive work here: 21,730 rollouts across 9 models and 9 benchmarks, roughly $40,000 of compute, with 2.5 billion tokens of logs released publicly. Two findings stand out.
The first is the headline and it is counterintuitive: higher reasoning effort reduced accuracy in the majority of runs. Not raised cost for marginal gain — actively reduced accuracy, most of the time. If your team's default response to a quality problem is to turn the reasoning dial up, that is a hypothesis to test rather than a fix to apply.
The second came from reading the logs, which is why releasing them mattered: inspection caught agents searching HuggingFace for the benchmark instead of solving the problem. That behaviour is invisible in a pass rate and obvious in a transcript, which is the argument for transcript review compressed into a single example.
The operational rule that follows is simple and almost nobody applies it: report cost per task alongside every accuracy figure, on every eval run, in the same table. Then a scaffold change that adds two points and triples spend gets discussed as the trade-off it is, rather than shipped as an improvement. The public leaderboards that do this — HAL, SWE-rebench, ARC Prize — are markedly more useful than the ones that do not, and the same is true of internal dashboards.
Cost-aware evaluation also feeds directly into architecture. Once every eval run reports dollars, the routing and caching decisions covered in our LLM cost optimization and token economics guide become measurable rather than theoretical: you can see, per workflow, what a smaller model costs you in accuracy and saves you in spend.
Observability Tooling, Pricing, and Licenses
Evaluation tells you whether the system is correct on cases you chose. Observability tells you what it actually did on cases you did not. You need both, and the tooling market is now mature enough that building your own tracing layer is rarely defensible.
Pricing below was checked in August 2026. Treat it as perishable and verify before you commit — but the license column changes far more slowly, and it is the column that determines whether you can actually leave.
| Tool | Pricing (Aug 2026) | License / self-host | Best at |
|---|---|---|---|
| Langfuse | Hobby free (50k units/mo); Core $29/mo; Pro $199/mo; Enterprise $2,499/mo | MIT — self-host is genuinely full-featured | The credible open-source default; 2026 agent graph view |
| Helicone | Hobby free (10k requests/mo); Pro $79/mo; Team $799/mo | Apache-2.0 — ungated self-host | Gateway-shaped: one-line proxy, caching, cost tracking |
| LangSmith | Developer free (5k traces/mo); Plus $39/seat/mo; overage $0.50 per 1k traces | Proprietary; self-host on Enterprise only | LangGraph-native tracing; Insights failure clustering |
| Braintrust | Starter free; Pro $249/mo; no per-seat charge | Proprietary; bring-your-own-cloud | Eval-first workflow with online scoring gates |
| Arize Phoenix / AX | AX free to 25k spans/mo; Pro $50/mo | Phoenix is Elastic License 2.0 — source-available, NOT OSI open source | Local-first tracing and evals; OpenInference conventions |
| W&B Weave | Free 1 GB/mo; Pro from $60/mo, then ~$0.10/MB (about $100/GB) | Proprietary | Sensible only if you are already standardized on Weights & Biases |
| Datadog Agent Observability | Free 40k spans/mo; Pro $160/mo annual for 100k spans; +$3.50 per 10k | Proprietary SaaS | Correlating agent traces with APM and infrastructure; best OpenTelemetry support |
Agent observability platforms — pricing and licensing verified August 2026.
Choosing between them is mostly a question of shape rather than features.
- If you need to own the data: Langfuse first. MIT license, self-host without feature gating, free to 50,000 units per month, $29 for Core. This is the default recommendation for regulated deployments and for anyone who cannot send prompt content to a third party.
- If you want a proxy rather than an SDK: Helicone. Apache-2.0, ungated self-host, one-line gateway integration that also gives you caching and cost tracking without touching application code. Free to 10,000 requests per month, $79 for Pro.
- If you are already on LangGraph: LangSmith, at $39 per seat per month with overage at $0.50 per 1,000 traces. Native tracing and failure clustering. Note that self-hosting is Enterprise-only, so the exit path is commercial rather than technical.
- If evaluation is the primary workflow: Braintrust, $249 per month with no per-seat charge — which matters if the whole team looks at evals rather than one person. Online scoring gates fit naturally into CI.
- If you already run Datadog: Datadog Agent Observability, $160 per month annual for 100,000 spans, then $3.50 per 10,000. The strongest OpenTelemetry support of the group and the only one that correlates agent traces with the rest of your infrastructure in one pane.
- If you are already standardized on Weights & Biases: Weave, free to 1 GB per month then from $60. Usage-based pricing at roughly $100 per GB means high-volume prompt capture gets expensive quickly — model the bill on real trace sizes first.
Whatever you pick, instrument at the agent level and not only at the model call. A trace that shows twelve model invocations and no tool calls, no plan step and no retry structure will not explain a failure. What you want recorded, at minimum: the invocation with its inputs, each planning step, each tool call with arguments and result, token usage and cost per step, latency per step, the final outcome, and a stable identifier that lets you join a trace to an eval case and to a support ticket.
OpenTelemetry GenAI Conventions Are Not Stable
Standardizing on OpenTelemetry's GenAI semantic conventions is the right long-term call, because the alternative is a proprietary schema per vendor. But you should know exactly what you are adopting, and a great deal of published guidance describes it as more settled than it is.
| Area | Status as of August 2026 | What it means for you |
|---|---|---|
| Overall status | Entirely Experimental / Development. Nothing is Stable or release-candidate, and the core roadmap lists GenAI stabilization as unconfirmed | Do not tell an architecture board that GenAI telemetry is standardized. It is converging, not settled |
| Repository move | Conventions moved out of the core repository into semantic-conventions-genai. The old docs path is now a 'moved' stub with registry attributes badged deprecated-moved, and the new repository has no tagged releases | Version pinning is awkward. Pin a commit and record it |
| Renamed attribute | gen_ai.system deprecated in favour of gen_ai.provider.name | Dashboards and alerts keyed on gen_ai.system break silently. Migrate with a dual-write window |
| Span naming and kind | Span name is {gen_ai.operation.name} {gen_ai.request.model}; span kind CLIENT | Cardinality follows model name. Budget for it before it lands in your bill |
| Agent spans | create_agent and invoke_agent (CLIENT and INTERNAL), plan (INTERNAL), execute_tool | Agent-level spans exist. Most homegrown instrumentation still only traces the model call |
| Prompt and completion capture | Migrated from log events to structured span attributes: gen_ai.input.messages, gen_ai.output.messages, gen_ai.system_instructions — all Opt-In. The old gen_ai.user.message and gen_ai.choice events no longer exist | Anything built against the event model needs rewriting, and prompt capture is off by default |
| Metrics | gen_ai.client.token.usage, gen_ai.client.operation.duration, gen_ai.invoke_agent.duration / inference_calls / tool_calls, gen_ai.execute_tool.duration | Token usage and tool-call counts are first-class metrics. Chart them per workflow, not per service |
| MCP conventions | New Model Context Protocol conventions, with trace context propagated in params._meta | You can trace across an MCP boundary without a bespoke header scheme |
OpenTelemetry GenAI semantic conventions — status and 2026 breaking changes, verified August 2026.
The headline is that the conventions are entirely Experimental or Development status. Nothing in them is Stable or release-candidate, and the core repository's 2026 roadmap lists GenAI stabilization as unconfirmed. Two breaking changes landed during 2026: the conventions moved out of the core repository into a separate semantic-conventions-genai repository which has no tagged releases, and gen_ai.system was deprecated in favour of gen_ai.provider.name.
The renamed attribute is the one that will bite you quietly. A dashboard or alert keyed on gen_ai.system does not error when the attribute disappears; it just returns nothing, and a panel showing zero looks a lot like a system with no traffic. Migrate with a dual-write window and delete the old attribute deliberately.
The prompt-capture change is the other one worth planning for. Capture moved from log events to structured span attributes — gen_ai.input.messages, gen_ai.output.messages, gen_ai.system_instructions — and all of them are Opt-In. The old gen_ai.user.message and gen_ai.choice events no longer exist. So anything you built against the event model needs rewriting, and prompt content is off by default, which is a sensible privacy posture and a surprising one if you assumed your traces contained prompts.
The practical adoption pattern
Adopt the conventions, but put a thin adapter between your application and the attribute names. One module that emits spans, owning every semconv attribute string in one place. When the next rename lands — and given the current status, one will — the change is a single file rather than a search across the codebase.
Do use the agent-level spans, because most homegrown instrumentation still only traces the model call: create_agent and invoke_agent as CLIENT and INTERNAL spans, plan as INTERNAL, execute_tool for each tool invocation. And chart the agent metrics per workflow rather than per service — gen_ai.client.token.usage, gen_ai.invoke_agent.duration, inference_calls, tool_calls, and gen_ai.execute_tool.duration. Tool-call count per successful task is one of the most useful early-warning signals you can have; it climbs before the pass rate falls.
One genuinely new addition worth flagging: the conventions now cover Model Context Protocol, with trace context propagated in params._meta. That means you can follow a trace across an MCP boundary without inventing a header scheme, which is a real improvement for anyone running tools behind MCP servers.
What Teams Actually Do
Two datasets bracket the reality here, and they have opposite biases pointing in the same direction — which is the most you can ask of survey evidence.
LangChain's State of Agent Engineering (n=1,340, fielded November 18 to December 2, 2025, published June 12, 2026) found 89% of teams have some observability and 62% have step or tool-level tracing — but only 52.4% run offline evaluations, 37.3% run online evaluations, and 29.5% run none at all. Among organizations with agents actually in production the no-eval figure improves to 22.8%, and 44.8% of production organizations run online evals. On method, 59.8% use human review and 53.3% use LLM-as-judge. 57% have agents in production, and quality — not cost — is the top barrier they report.
The counterweight comes from peer-reviewed qualitative work with the opposite bias. The Results-Actionability Gap (van der Maden et al., 19 practitioner interviews, fieldwork February to May 2025) reports its findings as counts rather than rates, which is the honest way to present N=19. 12 of 19 practitioners called informal manual checks — vibe checks — irreplaceable. 13 of 19 had tried automated evaluation and described it as bordering on useless. Only 3 of 19 used LLM-as-judge at all.
Put the two together and a coherent picture emerges. Tracing is widely adopted because it is easy to install and immediately legible. Evaluation is not, because it requires deciding what correct means, and that decision is genuinely hard and cannot be bought. The practitioners saying automated eval is near-useless are not being unserious; they are reporting that a badly-specified rubric run by an uncalibrated judge produces numbers that do not change any decision. That is a correct observation about a common implementation, and the response is better calibration, not more dashboards.
The honest synthesis: keep the manual review. Practitioners are near-unanimous that it is irreplaceable, and Anthropic's guidance to read sampled transcripts weekly says the same thing from the other direction. Automated evals are the regression net that lets you ship; human reading is how you find out what to put in the net.
Red Flags in Agent Evaluation
These come from real vendor evaluations and real code reviews. Each one is checkable in a single question.
| Red flag | Why it matters |
|---|---|
| A vendor citing a 2026 SWE-bench Verified score | The official board has accepted no 2026 frontier entries. The number is self-reported, and OpenAI retired the benchmark in February 2026 after finding 59.4% of audited failures had flawed tests or descriptions |
| A benchmark score quoted without a date | Scores are perishable and boards freeze. Any figure without a date attached cannot be checked, which is usually the point |
| A score quoted without the harness | GAIA leaderboards for bare models, vendor scaffolds and full systems differ by 30–50 points. The scaffold explains more of the result than the model does |
| pass@1 presented as reliability | GPT-4o went from under 50% pass^1 to around 25% at pass^8 on tau-retail. Single-attempt scores describe a demo, not a workflow |
| Accuracy reported with no cost | Princeton HAL's live board shows agents that are 100× more expensive for 1% more accuracy. Accuracy without spend is not a comparison |
| A single LLM judge with no human calibration | True chance-corrected agreement for LLM judges sits at kappa 0.376–0.511. Without at least 20 human-labelled examples you do not know which side of that range you are on |
| An eval suite that passes at 100% | It tracks regressions and provides no improvement signal. If nothing has failed in a quarter, the suite has stopped measuring the system |
| Evals that only run before a release | Model versions change behaviour with no commit. Evals belong in CI on every agent change and every model change |
| Grading by exact tool-sequence match | Trajectory grading by substring matching scores kappa 0.049, which is chance. It penalizes the agent for finding a better route |
| Aggregator leaderboards as a source | benchlm and similar sites publish figures contradicting primary leaderboards by 8 to 55 points, including an ARC-AGI-2 claim roughly 40 points off |
| Observability without evaluation | 89% of teams have observability and only 52.4% run offline evals. Tracing tells you what happened; it does not tell you whether it was correct |
| 'Our judge is 95% accurate' | Vendor judge-accuracy claims are self-reported with no third-party validation. Anthropic and OpenAI publish judge guidance and no agreement numbers at all |
The Frenchy Digital red-flag list for agent evaluation claims and eval harness design, 2026.
Ask any agent vendor for one artifact: a sample of failed traces with the grading rationale attached. A vendor that has evaluation can produce it in an afternoon. A vendor that has a benchmark score cannot produce it at all.
— Frenchy Digital buyer’s principle
What It Costs to Build This Properly
These are the bands Frenchy Digital uses to scope agent engagements in 2026. Evaluation and observability are inside the scope of every band rather than a later phase, because retrofitting them means you have no history for the period anyone will eventually ask about.
| Engagement | Range | Timeline | Typical scope |
|---|---|---|---|
| Discovery + architecture review | $9k–$22k | 2–4 weeks | Failure taxonomy from your existing traces, a starter eval set scoped from real incidents, tracing design, and a build-or-buy read on tooling |
| Single production agent (one workflow, evals, observability) | $30k–$80k | 5–10 weeks | One workflow end to end, a 20–50 task eval suite from real failures, judge calibration against human labels, CI integration, tracing and cost dashboards |
| Multi-workflow agent platform with integrations | $80k–$200k | 10–18 weeks | Several workflows, shared eval harness, pass^k reliability reporting, per-workflow cost attribution, online scoring and alerting |
| Enterprise / regulated build (SOC 2 posture, HITL, audit logging) | $200k–$450k+ | 16–26 weeks | Multi-tenant isolation, human-in-the-loop instrumentation, append-only audit logging, model-upgrade change control, and a documentation package |
Frenchy Digital cost bands for AI agent engagements, 2026.
Senior-led delivery runs $150 to $225 per hour, and ongoing retainers run $2,500 to $9,500 per month covering model and dependency upgrades, eval set expansion from production incidents, judge recalibration, incident response, and a quarterly technical review. Every engagement carries a 30-day post-launch warranty, and you receive a written scope with a fixed-price phased proposal within 5 business days of the discovery call.
One budgeting note. The evaluation harness is largely a fixed cost, paid once and reused by every subsequent workflow. The first agent pays for the harness, the tracing, the judge calibration process and the CI wiring. The fourth agent inherits all of it and adds only its own cases. Teams that sequence their agents get substantially better economics than teams that run four pilots in parallel, each with its own ad-hoc evaluation and none of them comparable.
Limitations and Honest Failure Modes
Everything above improves your evidence. None of it produces certainty, and several parts of the practice are less established than the confident tone of most writing on the subject suggests. Here is what we tell clients.
| Limitation | The evidence | What to do |
|---|---|---|
| Evals do not generalize off your distribution | A suite built from your failures predicts your failures. It says nothing about behaviour on inputs you have never seen | Grow the set from every production incident. Treat coverage as a moving target, not a milestone |
| Model-version drift is real and under-measured | The canonical study found GPT-4 prime-identification accuracy fell from 84% to 51% between March and June 2023. No 2026 replication of that result was found | Pin model versions. Re-run the suite on every version change rather than reasoning about whether it matters |
| Outcome-only scoring under-elicits capability | On tau-Bench Airline, pass^5 was under-elicited by nearly 50% — the scoring method understated what the system could do | Read transcripts alongside scores. A failing outcome sometimes means a failing harness |
| Agent-specific rollout practice is not documented | No primary engineering write-up on agent-specific canary or shadow deployment exists. The common shadow-to-canary-to-percentage framing traces only to vendor and SEO blogs | Borrow from ordinary progressive delivery, and be honest that you are extrapolating rather than following a published practice |
| Judges inherit the failure modes they are meant to catch | A judge reading the model's own reasoning can be inflated by fabricated traces by up to 90% on vision-language tasks; a judge is also vulnerable to injected instructions in the content it grades | Juries, absolute scoring, and a standing human sample. Prompt injection is not solved and a judge is another injection surface |
| Human review does not scale, and practitioners know it | In a peer-reviewed interview study of 19 practitioners, 12 of 19 called informal manual checks irreplaceable and 13 of 19 described automated evaluation as bordering on useless | Budget for human review as a permanent line item, not a bootstrap phase |
Honest limitations of agent evaluation practice as of August 2026.
Two of those rows deserve elaboration because they are the ones most often glossed over.
Model-version drift is real and badly under-measured. The canonical citation remains Chen, Zaharia and Zou, who found GPT-4's prime-identification accuracy fell from 84% to 51% between March and June 2023. That result is nearly three years old and we found no 2026 replication of it. So the honest statement is: this happened once, was rigorously documented, and nobody has systematically re-checked it since. That is a reason to pin versions and re-run your suite on every change, not a reason to claim a current drift rate you cannot source.
Agent-specific rollout practice is not documented anywhere credible. The shadow-to-canary-to-percentage-rollout framing appears constantly in agent content, and we could not trace it to a single primary engineering write-up about agents specifically. It comes from ordinary progressive delivery, where it is well established. Borrow it — it is sound — but be honest with your team that you are extrapolating from web-service practice rather than following a published agent methodology, because the failure modes are not identical. A canary that measures error rate will not catch an agent that succeeds while doing the wrong thing.
Finally, the boundary that holds across this entire cluster: none of this makes an agent safe. Evaluation reduces uncertainty about behaviour you thought to test. Prompt injection remains unsolved, and your eval harness — particularly any LLM judge inside it — is one more surface for it. The correct posture is defense in depth and blast-radius reduction, and it applies to the measurement pipeline as much as to the product.
None of this argues against building. It argues for building the measurement alongside the agent, choosing one workflow with a defensible baseline, and being honest inside your own organization about which numbers are evidence and which are marketing. Teams that get value from agents are the ones that instrumented the before-state.
Need to Know Whether Your Agent Actually Works?
Book a free 60-minute discovery call with Frenchy Digital — a senior-led Black-owned LA agency. You leave with a failure taxonomy from your own traces, a starter eval set, and a fixed-price phased proposal within 5 business days. Call +1 (424) 272-5601.
Need to Know Whether Your Agent Actually Works?
Book a free 60-minute discovery call. You leave with a failure taxonomy from your own traces, a starter eval set, and a fixed-price phased proposal within 5 business days.
1517 S Bentley Ave Unit 204, Los Angeles CA 90025
Frequently Asked Questions
Sources & References
- 1SWE-bench — official experiments and submission leaderboard↗
- 2OpenAI — Why we no longer evaluate SWE-bench Verified (Feb 2026)↗
- 3SWE-rebench — continuously refreshed, decontaminated SWE tasks↗
- 4arXiv 2512.10218 — contamination in software-engineering benchmarks↗
- 5UC Berkeley RDI — Trustworthy benchmarks: reward hacking agent evaluations (Apr 2026)↗
- 6BenchJack — cataloguing exploitable flaws across agent benchmarks↗
- 7Natural Language Autoencoder — evaluation awareness in model representations↗
- 8arXiv 2605.08545 — under-elicitation in outcome-only agent scoring↗
- 9Zheng et al. — Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena↗
- 10arXiv 2606.19544 — large-scale study of 21 LLM judges and ~541,000 judgments↗
- 11arXiv 2604.22891 — self-preference in LLM judges↗
- 12Verga et al. — Replacing Judges with Juries (PoLL)↗
- 13arXiv 2504.14716 — robustness of pointwise versus pairwise judging↗
- 14arXiv 2604.16706 — judging agent trajectories↗
- 15Anthropic — Demystifying evals for AI agents (Jan 2026)↗
- 16LangChain — Agent evals resource hub↗
- 17Sierra — Benchmarking AI agents (tau-bench and pass^k)↗
- 18Princeton HAL — Holistic Agent Leaderboard↗
- 19arXiv 2510.11977 — HAL: 21,730 rollouts across 9 models and 9 benchmarks↗
- 20Kapoor & Narayanan — AI Agents That Matter↗
- 21Chen, Zaharia & Zou — How Is ChatGPT's Behavior Changing over Time?↗
- 22OpenTelemetry — GenAI semantic conventions↗
- 23LangChain — State of Agent Engineering (n=1,340)↗
- 24van der Maden et al. — The Results-Actionability Gap (N=19)↗
- 25Scale AI — SWE-bench Pro public leaderboard↗
- 26Terminal-Bench — primary leaderboard↗
- 27tau-bench and tau-squared-bench leaderboard↗
- 28OSWorld — real-computer agent benchmark↗
- 29ARC Prize — 2025 results analysis↗

