Agent Evaluation & RL Environments

Your Evals Are Green. That Is Not the Same as Working.

Engineering ownership for AI evaluation: containerized task environments with reference solutions, automated graders hardened against the shortcuts a model will find, pass-rate calibration to a band that actually discriminates, and a rubric two reviewers agree on.

Authored and peer-reviewed RL environments and automated graders for frontier-model training and agent evaluation, including rollout-based pass-rate calibration and adversarial QA to close reward-hacking shortcuts.

When to call us

The agent scores well and still fails in production

Your eval suite is green and users hit failures it never predicted. The suite is measuring something adjacent to the thing you care about, and nobody can say which cases would have caught the failure.

You suspect the grader is being gamed

Scores climb faster than capability. A model has found a shortcut through the checker rather than through the task, and the eval reports it as progress. Reward hacking is a grader defect, and graders are rarely tested as adversarially as the models they judge.

Everything passes, or nothing does

A task set where the model solves every item teaches you nothing, and one where it solves none teaches you nothing either. Calibrating difficulty to a useful band is a design job, and it is usually skipped because it is slow.

Task production is the bottleneck

You are generating training or evaluation tasks at volume and quality review does not scale. Two reviewers disagree on whether the same task is ready, and there is no written standard that would settle it.

Where the data vendors and we differ

Ask who does evaluation work and you get the large data companies. They are genuinely good at volume and throughput. The gap is narrower than it looks, and it is not about headcount.

What you needA large data vendorUs
Tens of thousands of annotated items on a scheduleBetter fitWe would decline
An independent assessment of an eval suite for a customer or a regulatorBetter fitNot if we built it
Finding out whether your graders can be shortcutRarely in scopeBetter fit
Task design in a domain where correctness is contestedDepends on the reviewer poolBetter fit
A readiness standard your own reviewers can apply without usNot usually the deliverableBetter fit

If the problem is volume, hire a data vendor. Most teams that call us have the opposite problem: enough data, an eval suite nobody fully trusts, and no way to tell which of its results should change a decision.

What you actually get

  • Containerized task environments with reference solutions, isolated so untrusted rollouts cannot reach the host or the network, because an agent that can reach its own test fixture is not being evaluated
  • Automated graders hardened with the methods that actually catch shortcuts: differential testing against reference solutions, property-based tests, execution-trace checks rather than output matching, and an adversarial pass that tries to pass the grader with a knowingly wrong answer
  • Rollout-based pass-rate calibration to a target band, so a task set discriminates between models instead of saturating or stonewalling
  • A rubric-based readiness score, so two reviewers converge on the same verdict instead of arguing from taste, and QA throughput stops depending on who picked up the task
  • A harness that runs the same set across model swaps and versions, so comparisons stay valid when the thing under test changes
  • A documented failure taxonomy: which cases fail, how they fail, and which of those failures the grader can actually see

How we work

1

30-min discovery call

What the evals are for, what decision they inform, and whether the problem is the tasks, the graders, or the harness. If the honest answer is that you need annotation volume rather than eval engineering, we will say so.

2

Eval audit

2-3 weeks, fixed fee. We take your existing suite, attempt to hack the graders, measure where pass rates actually sit, and report which results are load-bearing and which are noise. You keep the findings whether or not we build anything.

3

Embedded build

We pair with your team on task environments, grader hardening and the calibration loop, so the standard is one your own reviewers can apply after we leave.

Frequently asked

How likely is it that our graders can actually be gamed?

Likelier than most teams assume, and the mechanism is duller than people expect. A 2026 audit of code reinforcement-learning environments sampled 49 SWE-bench Verified tasks and found 28.5% of them had test suites weak enough that a Docker-verified incorrect patch passed. Not a model rewriting its own tests, simply tests that fail to reject a wrong answer. The same study measured the consequence across 134 frontier models: scores on hackable tasks ran 14.14 percentage points above robust tasks at matched difficulty, which is capability you did not gain. If a sample of a task set that many people have read has that much slack in it, an internal suite written under deadline is not in better shape.

Should we just use LLM-as-a-judge?

Often yes, and the failure mode depends on what the judge is doing, which is a distinction worth being strict about. Where a judge acts as a reward signal inside a training loop, you get optimization against it: judge scores climb while real capability plateaus, and the winning strategies are frequently cosmetic, such as padding output with brackets and markup. Where a judge is a static evaluator, the problem is bias rather than optimization: position effects, a preference for longer answers, and a preference for output resembling the judge model itself. Both are real, they are not the same failure, and the fixes differ. What makes either worse is a single scalar score, because it conflates several quality dimensions into one number that moves with whichever is easiest. Rubrics that score dimensions separately are more work and considerably harder to game.

We already use DeepEval, Braintrust or LangSmith. What is missing?

The honest answer splits by who is asking. For a product team shipping agents, those tools and the ecosystem around them, including OpenAI Evals and the UK AI Safety Institute's Inspect, are mature enough that writing your own runner is rarely the best use of a quarter. For a lab running rollouts at scale, custom runners are normal and usually necessary, because distributed execution and hard isolation of untrusted agent output are not what a general-purpose framework optimizes for. What no framework in either category does is design your tasks, decide what a correct answer is, calibrate difficulty, or tell you whether a grader can be shortcut. That is where suites are won and lost, and it is not a tooling problem.

What is pass-rate calibration and why does it get skipped?

A task set is only informative in a band. If the model under test solves everything, the set cannot rank anything and it will saturate the moment a better model arrives. If it solves nothing, you learn only that the tasks are hard, not which capability is missing. Calibration means running rollouts, measuring where pass rates land, and adjusting task difficulty until the set discriminates. It gets skipped because it is slow, it happens before any headline result exists, and it is the least visible work in the pipeline. It is also the difference between an eval that informs a decision and one that produces a number.

Are you a data-labelling or annotation vendor?

No, and if volume annotation is what you need, the large data vendors are a better fit and we will point you at them. We work on the engineering above that layer: environment design, grader construction, adversarial review, calibration and the readiness standard that decides what ships. That is a small-team job that benefits from one senior person who has built it before, rather than from a bench.

Can you evaluate the systems you build?

Not independently, and we would not claim otherwise. The same separation that applies in model risk applies here: whoever builds the grader should not be the only party certifying that the grader is sound. Where independence matters to your governance or to a customer, we build and harden, and a second party assesses. Where it does not, we will still run the adversarial pass against our own work and show you what it found, because the exercise is worth doing regardless of who signs it.

How long does this take?

An eval audit on an existing suite is 2-3 weeks. Building a calibrated task set with hardened graders in a new domain takes longer and depends almost entirely on how contested the definition of a correct answer is. Domains where correctness is checkable by execution move fast. Domains where it is a judgment call move at the speed of the rubric, and the rubric is the project.

Ready to talk?

30 minutes, free, no pitch. Bring one eval result you do not fully believe and we will tell you what it is actually measuring.

Book a call