A FEW PLACES TO STARTEXPLORE WEBSPACEAI

Agents · Research analysis

A coding agent is a system, not a score

How to compare coding agents without confusing model quality, scaffolding, test contamination, and retry budget.

On this page

THE ESSENTIALS

  • Compare a frozen system configuration, not only a model name.
  • Retries, environment access, and harness versions belong beside the result.
  • Measure regressions and intervention burden as well as task resolution.

Our analysis

The comparison problem

Two agents can report different resolution rates while using different tools, token budgets, retry policies, and environments. The difference may be meaningful, but it cannot automatically be attributed to the underlying language model. The right object of evaluation is a reproducible system configuration.

For an agent intended to complete terminal work, the practical question is whether it can interpret a task, inspect an environment, change the right files, verify the outcome, and stop accurately. A patch that happens to pass a narrow test is only one part of that behavior.

Published evidence

What the benchmarks actually describe

SWE-bench Verified contains 500 human-filtered instances. The official site distinguishes arbitrary agent systems from a shared minimal agent environment and warns that releases of that environment are not necessarily directly comparable. This makes the harness part of the reported result. [1]

Terminal-Bench’s current site presents version 4.0, while its run guide uses the Harbor framework. Benchmark versions should be pinned rather than treated as a timeless dataset name. Its explicit separation of benchmark data from training is also important for credible evaluation. [2, 3]

The SWE-bench repository documents containerized evaluation and result caching behavior. Reusing an identifier can reuse earlier results, so a changed prediction needs a fresh evaluation identity where the harness requires it. That is a reproducibility issue, not a model capability issue. [4]

Proposed experiment

A comparison protocol we would trust

Define two tracks. In the model track, hold the agent loop and tool interface fixed while varying the model. In the product track, allow each system its intended tools and strategies but equalize the operational budget. Publish both; do not mix their conclusions.

Freeze a manifest containing the model identifier, agent revision, task-set version, container digest, dependency lockfiles, decoding settings, maximum wall time, token budget, network policy, and retry definition. Record the initial repository state and preserve the full action log. A rerun should start from a clean environment rather than inherit a previous attempt’s artifacts.

Score the final state using the benchmark’s authoritative evaluator, plus independently specified regression checks. Keep environment failures as a separate category with evidence. An unexplained crash should not silently disappear from the denominator. If the agent declares success without adequate verification, count that behavior separately even when a task happens to pass.

MetricWhy it mattersReport with it
Resolved tasksTask-level effectivenessExact evaluator and task version
Wall time and token useOperational cost of a solveMedian, tail and retry budget
Regression rateChanges outside the requested fixPredeclared checks
False success declarationsReliability of the agent’s own statusVerification evidence
Human interventionsAutonomy under the stated policyWhat intervention was allowed

Analytical example

Why a single success rate is not enough

As a hypothetical illustration, 70 successes in 100 independent trials gives an observed rate of 70%. A 95% Wilson interval is approximately 60.4% to 78.1%. This is a calculation, not a result for any existing agent. It shows how much uncertainty a small evaluation can hide.

Benchmark tasks are not necessarily independent or identically distributed. Several can share a repository, dependency stack, or failure pattern. For a serious comparison, retain task identity and use paired analysis on the same tasks. If uncertainty is estimated by resampling, consider clustering by repository or task family rather than assuming every observation is unrelated.

Best-of-k success and single-attempt success answer different questions. Report both only when k, selection rules, and cost are explicit. A system that spends much more compute to obtain a successful final artifact may be useful, but the gain should not be described as a free improvement.

Proposed experiment

Make the failures useful

Tag failures by the earliest material cause: incorrect task interpretation, navigation failure, invalid action, environment problem, incomplete change, missing verification, or harmful side effect. Have a reviewer inspect a sample without seeing the system identity where practical. Disagreements should lead to a revised rubric rather than forced certainty.

For an internal development suite, introduce held-out repositories and task families, not just different issues from familiar repositories. Keep the official benchmark evaluation separate from training and prompt tuning. Synthetic tasks can exercise the same skills without copying protected evaluation instances.

Our analysis

The result worth publishing

Our recommended deliverable is a result bundle: a frozen manifest, per-task outcomes, resource use, action traces, a failure taxonomy, and uncertainty estimates. The headline number should be a compact index into that evidence, not a substitute for it.

Scope & limits

What has and has not been run

We executed the illustrative Wilson calculation only. No agent was benchmarked in this study, and no leaderboard position is claimed. Current benchmark documentation was checked on the review date; a future run should pin the exact release it uses.

Reproduce the analytical examples

The standard-library Python program checks the probability, cache-memory and interval calculations, plus the small policy examples. It does not train a model or run the cited benchmarks.

A CLOSER LOOK

Ask this article.

Local evidence assistant

Ask a question to find passages and their references. Answers are extracted from this article; no live AI model is connected.

READ THE ORIGINAL WORK

Sources & references

Sources reviewed 20 October 2026. Papers describe their own models and experiments; our proposed experiments are identified separately.

  1. 1
    SWE-bench Verified ↗

    SWE-bench team · Current benchmark documentation

    www.swebench.com
  2. 2
    Terminal-Bench ↗

    Terminal-Bench team · Current benchmark site

    www.tbench.ai
  3. 3
    Run Terminal-Bench ↗

    Terminal-Bench team · Current run guide

    www.tbench.ai
  4. 4
    SWE-bench repository and evaluation guidance ↗

    SWE-bench maintainers · Living repository

    github.com