What is Benchcoding?
Benchcoding means giving agents a software objective and a way to test their attempts, with an engineer responsible for deciding which results to accept. The work continues across experiments: accepted changes become the starting point for the next attempt, and colleagues can contribute using the record of what has already been tried.
I believe we should be able to work this way on any part of a software product. That includes work we rarely call benchmarking. A refactor can be tested by asking another engineer to make a change. A redesign can be tested by watching people use it. An onboarding change can be tested against whether people return weeks later. The evaluation may involve people and take time; it does not have to be a test that runs in CI.
Benchmarks and open-ended agent investigations are already part of engineering. The extra work here is maintaining a board that someone else can use: which ideas have been tried, why they failed, what they cost, and which questions remain. The ambition is to make this a normal way of working across the product, with colleagues able to pick up an experiment and build on what others learned.
Agents may make it cheap enough to try ideas an engineer would otherwise leave unexplored. That is the reason to test this workflow now. But generating more patches only helps if someone can afford to evaluate them. The engineer may spend less time implementing each attempt and more time inspecting results, stopping duplicate work, and deciding which approach deserves another run.
| Question | Open-ended agent investigation | Benchcoding |
|---|---|---|
| What can agents try? | Investigate the bottleneck and propose alternatives. | The same freedom, within the same constraints. |
| How is work directed? | The engineer chooses follow-ups using their normal notes and tools. | The owner maintains a shared board of active questions, prior attempts, evidence, and costs. |
| What persists? | Whatever records and handoffs the team normally keeps. | Accepted changes become the baseline; open questions carry into the next round. |
| How is success judged? | Accepted improvement on the same workload, under fixed constraints, including the full cost of getting it into production. | |
I would test the board within one team before inviting others to contribute. Keeping experiments organized may help even if cross-team participation turns out to cost more than it saves.
What can we benchcode?
Start with a part of the product you want to improve and decide what evidence would persuade you to accept a change. These are proposed experiments, not results from deployments.
Code quality
Make a module easier to change.
Agents can split dependencies or simplify an API. Have engineers who did not write the refactor complete representative maintenance tasks, recording time and mistakes while regression tests check behavior.
Fewer lines or a lower complexity score alone do not show that maintenance got easier.
Runtime performance
Serve the same workload with less time or compute.
Agents can try caching, batching, or different algorithms. Compare tail latency, throughput, and cost on fixed workloads while enforcing correctness and memory limits.
Reject a speedup that drops difficult requests or moves work outside the timer.
Feature usefulness
Help people finish the job a feature exists to do.
For search, agents can vary ranking and result presentation. Check relevance on held-out queries, then compare task completion and time to a useful answer with users.
More clicks can mean people are struggling. Check whether they actually found what they needed.
User churn and onboarding
Help new users get enough value to return.
Agents can investigate where onboarding stalls and propose changes to setup, guidance, or reminders. Test approved variants with randomized cohorts and measure retention over a fixed period, alongside complaints and opt-outs.
Offline predictions can shortlist ideas; they cannot prove reduced churn. Making cancellation harder is not an acceptable retention improvement.
Website design
Make a site easier to understand and use.
Agents can explore layouts, navigation, and copy. Compare task success with representative users, check keyboard and screen-reader access, and review visual quality against an agreed brief.
A prettier screenshot or higher conversion rate does not excuse inaccessible controls or misleading copy. Designers retain judgment over what the tests miss.
QA and test suites
Catch more real failures with a useful test suite.
Agents can add tests, generate difficult inputs, or remove flaky checks. Measure detection of held-out known bugs and seeded faults, together with runtime and false alarms.
Coverage alone rewards executing lines. Check that tests fail for the right reason and that agents cannot inspect the hidden bug set.
Data pipelines
Deliver complete, correct data sooner.
Agents can change scheduling, joins, or incremental processing. Replay representative data and compare freshness and cost while checking completeness, duplicates, and late arrivals.
A pipeline that finishes early by omitting late records has failed, even if its dashboard is green.
Reliability and operations
Recover from failures with less disruption.
Agents can propose retry policies, configuration changes, or runbook updates. Use approved fault simulations to measure recovery time and lost requests, then review any rollout with the service owner.
Quieter alerts do not prove better reliability. Preserve checks for missed incidents and recovery failures.
“Everything can be benchcoded” is a reason to work on better evaluations, not permission to reduce every decision to one score. Agree on the outcome and constraints with the people responsible for them. For design, that includes designers and users; for retention, product and customer teams. Keep separate measures where combining them would hide a tradeoff.
The pace will differ. A parser experiment may finish in minutes; a retention experiment may need weeks. Agents can prepare and compare candidates between those evaluations, but the owner still decides when a result is convincing enough to act on.
Finding and testing a faster parser
Consider a parser that struggles with large tables and scanned invoices. Its owner selects a representative batch of documents, measures the current code, and sets accuracy and memory limits. Agents can try any approach within those limits. Each experiment records its reasoning, code revision, evaluation version, and cost.
In this fictional example, the owner suspects the table detector. An agent tracing the pipeline finds something else: two stages decode and resize the same image. Passing the prepared image between them removes that duplicate work. The owner had not thought to ask for this change. The experiment is recorded as “Reuse preprocessing.”
An ordinary agent investigation could make the same discovery. Keeping the record becomes useful when someone picks up the next experiment. They can see which cache variants failed and test whether sharing the prepared image helps other document types, without starting the investigation again.
Where the engineer makes the calls
Current parser
Median processing time
× Rejected: pages missing
✓ Passes independent evaluation
× Rejected: memory limit exceeded
Reuse preprocessing
18% lower processing time
Candidate · not deployedThe owner sends the reuse change for integration review and decides whether another attempt can fix the batching failure.
Document parser / experiment board
Fictional exampleMedian processing time on a fixed batch, with accuracy and memory limits checked separately.
| Candidate | Time | Status | Evidence |
|---|---|---|---|
| Skip hard pages | 390 ms | Unreviewed | Reported by agent |
| Reuse preprocessing | 670 ms | Unreviewed | Reported by agent |
| Batch table detection | 710 ms | Unreviewed | Reported by agent |
| Current baseline | 820 ms | Reference | Frozen revision |
The 390 ms submission leads on reported time, but nobody has checked whether it still parses every page.
What does the review find?
The fastest submission omits difficult pages. Reusing preprocessing still produces the expected output when replayed on held-out documents, so it can go forward for integration review. Batching table detection runs faster but exceeds the memory limit; its author would need to fix that before resubmitting.
The owner sends the reuse change through tests on expensive document types before integration. The batching attempt remains available, with its memory failure recorded, for anyone who has an idea for fixing it. Once an accepted change becomes the baseline, the owner closes experiments that no longer apply.
What another team adds
The invoice-search team also waits on this parser. An engineer there notices the reuse result and recognizes a problem the team has solved in its own cache. They spend part of their experiment budget testing the idea on the parser. If it looks promising, the parser owner can fund another run. The record shows which team paid for each attempt.
This needs an agreement between teams. Contributors need permission and time to work on the parser, and should receive credit for accepted changes. The parser team takes responsibility for maintenance and on-call support. It can reject a fast implementation that brings in a dependency it cannot support.
One owner does not have to review every submission. Teammates can check routine cases when contributors provide enough information to reproduce them. If submissions arrive faster than reviewers can assess them, pause new runs. Paying for experiments that nobody can review does not help the parser.
The engineer also needs to understand how agents arrived at a result. An agent repeatedly editing a failing assertion may be weakening the test. Several runs stuck on the same approach may need a different question. Reading the traces, inspecting changes, and writing diagnostic code are part of directing the work.
Owning the leaderboard means being accountable for what its numbers mean.
From public competitions to work inside a company
Big O Speedrun tracks attempts to improve mathematical bounds, distinguishing Claimed, Human Verified, and Lean Verified results. Its Lean verification process checks the proof against the intended problem statement. Contributors can inspect both the current result and the evidence behind it. [1]
The Open Kernel Challenge gives entrants a common GPU optimization target, with fresh-input correctness checks and timing against SGLang on the same hardware. Its serving track uses hidden conversation workloads. [2]
Both make a problem and its evaluation available to contributors. The internal version adds questions the competitions cannot answer for a company: who pays for experiments, who reviews them, and who maintains the accepted code. Their results do not show whether that arrangement will pay off.
Who contributes, and who owns the result?
Mathematical bounds
with evidence labels
GPU performance
with correctness checks
A shared problem lets people contribute without receiving an individual task.
Choose follow-up work and assess changes
Including rollout and on-call responsibility
Evaluating what comes back
A faster score can come from skipping inputs, loosening tolerances, or moving work outside the timer. Here, “cheating” means exploiting the evaluation; it says nothing about an agent’s intentions. Reviewers must inspect the timed code and reproduce the result from the submitted revision.
The candidate must not be able to edit its own acceptance tests. Keep the evaluator outside the agent’s writable workspace, and use a separate acceptance workload for promising changes. Repeated feedback can reveal hidden tests, so limit those queries and refresh the workload. When the evaluator changes, rerun the baseline and affected candidates before comparing scores.
The owner still has to choose documents that represent customer traffic. Two changes that pass separately may also conflict, or claim the same saving twice. Test them together, then check the result in a limited production rollout.
A workspace for shared objectives
I would like a workspace where engineers can find the objectives they own alongside problems elsewhere in the company they could help solve. Each objective has a named engineer responsible for it. Access permissions determine who can see the work and contribute; some experiments will need to stay within a team.
You open an IDE to work on files and a coding harness to give an agent work. In this workspace, you would open the parser objective to see the experiments in progress and decide where to intervene. The agents still run in existing harnesses, and engineers still use their editors. The new interface would bring their findings together.
Group runs by the idea they test. Five agents investigating repeated image decoding belong together, even if they use different implementations. The owner needs to see what those attempts found and their combined cost before paying for a sixth. Separate chats make that hard to reconstruct, and scores alone leave out the reasoning. With the attempts together, the owner could stop duplicates and fund the invoice-search team’s cache idea.
The first version can use GitHub. Put the objective, owner, baseline, constraints, and budget in an issue. Link experiment records to it, with hypotheses, findings, and commits identifying the candidates. Open pull requests for changes worth reviewing; keep failed experiments as records without creating a PR for each one. GitHub Actions can run or trigger evaluation, with results and evidence collected on a shared board.
The approved evaluator must stay independent of the submitted change. Every result needs the exact candidate revision and evaluator version. Actions could run that evaluator directly or call an external service for specialized hardware or protected data. The board should link to enough evidence for a reviewer to reproduce or check the result.
A dedicated interface could later help an owner compare approaches, redirect agents, and move budget between experiments. It could track tests that combine two promising changes and record when an accepted combination becomes the baseline. It should collect work across coding harnesses, including those from different vendors. Whether that saves enough time to justify building it is still an open question.
Across the company, show open objectives, their owners, and places where help is needed. Keep rankings within an objective and evaluation version: a parser score cannot rank against a kernel score. Issues and a board are enough to begin a pilot. Any additional interface should help answer where the next hour of engineering attention or dollar of compute should go. A leaderboard supplies only part of that answer.
Test the two hypotheses separately
Choose a component one team knows well. Before running agents, agree on the workload, acceptance rules, budget, and how to price engineer time. Write down what result would justify another trial.
Does the board help one team?
Compare the team using the board with an engineer investigating the same kind of problem using their usual agent tools. Both get to explore alternatives, run agents in parallel, and pursue unexpected findings. Give them the same starting code and comparable allowances for compute and human time. Use several matched trials and alternate which workflow gets each problem.
For this parser, measure milliseconds saved in median processing time per dollar spent, counting only changes accepted under the fixed accuracy and memory limits. An accepted reduction from 820 ms to 670 ms saves 150 ms. Divide that by the total cost of the work, including failed runs, evaluation hardware, setup, review, and integration. If nothing is accepted, the saving is zero. Show the latency and total cost as well as the ratio.
For example, agree to continue if parser processing time falls by at least 10% and the work saves 20% more milliseconds per dollar than the comparison workflow. Require the team to accept maintenance and confirm the gain in a limited rollout. These are suggested thresholds, to be changed before the pilot if they do not fit the component. Report the spread across trials so a single lucky result does not decide the outcome.
Do outside contributions justify the extra work?
If the board helps one team, repeat the comparison with outside contributors. Compare a team-only board with one that other teams can join. Use equivalent fresh baselines and comparable total budgets, including contributors’ time, so the test measures more than the effect of spending more money.
Choose the required gain before inviting contributors. For example, ask for another 20% increase in milliseconds saved per dollar after coordination costs. Record which useful ideas came from other teams. If the extra work fails to pay for itself, the team can keep its own board without opening it more widely.
This measure is specific to the parser workload. A millisecond saved on another service may have a very different value. Use it to compare the two workflows on this component; use customer benefit or operating-cost estimates when deciding which components deserve funding.
Try it on your own objective
Start benchcoding with your coding agent
To try this on your own code, give your coding agent the instructions in LEADERBOARDS.md. They walk through setting up an objective and its experiment board in GitHub or GitLab.
The package has three skills. Create sets the owner, evaluation rules, and budget. Contribute records an idea, runs experiments within a budget, and submits an exact code revision. Maintain checks the evidence and updates rankings and baselines. It includes contributor instructions, experiment and submission templates, and CI templates for both hosts.
The templates keep candidate code separate from the trusted evaluator and retain failed experiments and their costs. CI stays inactive until the agent implements and tests an evaluator for your objective.
Sources and notes
Competition descriptions were checked on November 1, 2026. The parser results and cross-team scenario are fictional examples; the internal workflow and pilot criteria are proposals.