Benchwright
RegistryDocsBlogSign inSign up

Benchwright Blog

Notes on agent evaluation, reproducible pipelines, and the plumbing that makes benchmarks trustworthy.

RSS
Recent

Get the monthly dispatch

One email a month. New posts, eval results, and the occasional postmortem. No tracking pixels, no "just checking in."

You're on the list

We'll send the monthly dispatch to your inbox. One email a month — nothing else.

On this page
Back to blog
Announcement · Product

Introducing Benchwright

Evals are the unit tests of AI. Build and run them on Benchwright. Ship AI on scores, not vibes.

Benchwright Team
Benchwright Team
The AI Benchmarking Factory
Jul 21, 2026·5 min read

The first version took an afternoon. You wired in an LLM, wrote a prompt, and had something genuinely useful working by dinner.

Six months later, there have been forty prompt edits, three model swaps, and at least one regression you can't trace. Is the current version actually better than the old one? You compare a few outputs side by side, but that only gets you so far.

At some point, you make a judgment call and ship.

The problem: the uncertainty moved

Traditional software keeps most of its uncertainty at the edges: user input, networks, and flaky dependencies. Tests mock those away and make assertions against a deterministic core. Given the same input, the code should produce the same output.

LLM applications work differently. Much of the surrounding code is deterministic, but the model at the center is not. It decides what to do, which tool to call, and how to phrase the answer. The same request may take a different path on the next run, and a small prompt change can affect a wide range of outputs. There is no single expected result for a green check to prove.

The statisticians got here first: all models are wrong, but some are useful. LLMs are no exception. You cannot guarantee that every output will be correct, but you can measure how often the system behaves as intended. Accuracy tells you how often it gets the task right. Precision tells you how confident you can be in that estimate. Improving the system raises the first; running more samples improves the second. Instead of one pass/fail assertion, you work with a score, a confidence interval, and a baseline for comparison.

Traditional software Agentic software core deterministic edges uncertainty at the edges user input · dependencies · environment core probabilistic edges uncertainty at the core temperature · top-p · seed · logprobs · autoregression
The model's flexibility comes from the same probabilistic behavior that makes ordinary unit tests insufficient.

Large AI labs have teams dedicated to evaluation. Most product teams do not. Whether you are building a support tool, a contract summarizer, or a product centered on a model, every meaningful change raises the same questions:

  • Can we ship this?
  • Which model should we use?
  • Will we notice when it gets worse?

Answering them properly takes real infrastructure. You need a harness, isolated sandboxes, reliable graders, secure handling for API keys, and limits on what a runaway task can spend. It is enough work to become its own roadmap item, which means it is often postponed while the product continues to change.

The solution: eval-driven development

Eval-driven development applies the discipline of test-driven development to probabilistic software. You still define what correct behavior looks like, but you measure it across a dataset instead of checking one exact output. A demo shows that the system can work. An eval tells you how reliably it works.

The useful part is the loop. Change a prompt, model, or retrieval step, then run the eval against a pinned baseline. If the result clears the gate, it becomes the new baseline. If it does not, the change never reaches users. When this runs on every pull request, evaluation becomes part of development instead of a report produced every few months. Regressions are tied to specific changes, and improvements come with evidence.

pass fail · never ships compare raise 1 · Change prompt · model · retrieval 2 · Measure the eval runs in CI 3 · Gate score vs baseline 4 · Ship merge · baseline rises pinned baseline rises as product improves
With a gate in place, larger experiments become less risky. A bad model swap or prompt rewrite fails before it reaches production.

A single score can still mislead you. If you optimize one number aggressively enough, the system may find ways to improve it without improving the product. A support bot judged only on ticket resolution might learn to close tickets by deflecting customers. The resolution rate goes up even as churn gets worse.

This is Goodhart's law: once a measure becomes a target, it becomes less useful as a measure. Choosing a cleverer metric does not solve the problem. The practical answer is to evaluate the system from several angles, so an apparent improvement on one axis can be checked against the others.

Start with accuracy, cost, and latency. Retries and longer reasoning may improve accuracy, but their effect appears in cost and response time. Cutting work short may improve latency while hurting accuracy. A cheaper model lowers the bill, but the quality score shows whether the tradeoff was worth it. Looking at these measurements together makes the compromises visible and gives the team a clearer idea of what to improve next.

the metric you optimized ▲ 94% ticket resolution · 5 months climbing the thing it stood for ▼ 2× churn renewals · the same five months one push
The watched metric improved for five months while the customer outcome moved in the opposite direction.

This is already how test suites work. No single test defines correctness; confidence comes from the suite as a whole. Benchwright makes it practical to apply the same discipline to AI behavior on every change.

The product: an AI benchmarking factory

Benchwright is a factory for evals. You describe what you want to measure, and it handles the work required to produce a useful score: finding the benchmark, creating sandboxes, running the tasks, and grading the outputs.

For a standard benchmark, a run takes one call. The catalog includes hundreds of options, such as MMLU for broad knowledge, GPQA Diamond for expert reasoning, AIME for competition math, LiveCodeBench for coding, WebArena for tasks in a live environment, and MMMU for images and documents. You can launch any of them from the CLI or with a POST request:

benchwright run "GPQA Diamond" --model qwen/qwen3-32b@openrouter
curl https://benchwright.ai/v1/runs \
  -H "Authorization: Bearer $BW_KEY" \
  -d '{
    "request": "GPQA Diamond",
    "model": {
      "model": "my-model",
      "base_url": "https://your-endpoint.example.com/v1/chat/completions",
      "api_key": "$MODEL_KEY"
    }
  }'

The AI workforce

Operators handle the work inside the factory. These AI agents take a plain-English goal, find an appropriate benchmark, run it against your model, and investigate failures along the way.

Public benchmarks tell you something about a model in general. Your product, however, succeeds or fails on a much narrower set of scenarios. A minimum viable evaluation covers that gap. Give the operator the cases that matter most, and it turns them into a small dataset with graders. The first version will not cover everything, but it can run on every change and grow alongside the product. That is more useful than a comprehensive evaluation that only runs twice a year.

scored reads it an answer you can defend YOUR GOAL ship the support agent the scenarios that matter: · resolve refund tickets · answer within policy · escalate the hard cases you bring these; the factory turns them into a suite SCHEDULE the ship suite Refund-policy QA ≥90% Tone & safety ≥95% Tool-use ≥85% Escalation routing ≥88% 4 benchmarks · 200 samples priority: paid RUN in parallel on the cluster refund 94% ✓ tone 98% ✓ tool 91% ✓ escal 93% ✓ each task is a sandbox; every output graded on your scenarios INSPECT this run vs your thresholds Refund-policy 94% ≥90 ✓ Tone & safety 98% ≥95 ✓ Tool-use 91% ≥85 ✓ Escalation 93% ≥88 ✓ all four clear their threshold ANSWER SHIP ✓ 4 / 4 benchmarks over threshold graded on the scenarios that matter a verdict across the suite, not one number
You define the goal and the important scenarios. The operator builds the suite, runs it, and returns a result.

One eval run gives you a number. Repeating it on every change gives you a record of what is safe to ship, which model performs best, and whether the product is drifting over time.

Benchwright is live, and the free tier is enough to try the full workflow. Choose a benchmark that resembles your workload, point it at the model behind your product, and run your first evaluation.

Prompts will keep changing, and so will the models behind them. What matters is knowing whether each change made the product better. Benchwright gives teams a practical way to answer that before they ship.

AnnouncementProduct
Benchwright Team

Benchwright Team

Benchwright runs public benchmarks and custom evals against the models behind your product, giving you a score whenever something changes.

Benchwright LLC © 2026 v1.0.124
All systems operational
Pricing Docs Blog Privacy Terms Acceptable use Cookies Subprocessors