Research
AI Coding Benchmark Method
A useful AI coding benchmark measures time to review-ready diff, quality after review, cost per accepted change, repeatability and reward-hacking risk. A benchmark that only measures first draft speed misses the real cost: human review, rework and whether the agent retrieved a known fix.

On this page
- What method should the benchmark use?
- What limits should the report state?
- What's new in Cursor recently?
- How does reward hacking distort coding benchmark scores?
- Why does CursorBench plot cost next to accuracy?
- Why are your own old bugs the wrong tasks to benchmark on?
- How many tasks do I need before the number means anything?
- Should the benchmark score tokens as well as outcomes?
What method should the benchmark use?
Decide what a fair test looks like before you run the benchmark. If you decide afterwards, the numbers will favor the tool you already prefer.
Fix the task mix before you see any results. If you choose which tasks count after the test has run, you will pick the ones that agree with what you already thought, without noticing. Without a written plan, a benchmark is an anecdote with a chart attached. Write down the stack, the task types and the sample size before the first run.
- Metric
- Cycle time
- How to collect it
- Start from issue open to review-ready diff
- Why it matters
- Shows speed without hiding review cost
- Metric
- Review load
- How to collect it
- Count reviewer comments and rework passes
- Why it matters
- Faster output counts for little if review work rises
- Metric
- Quality
- How to collect it
- Run tests, typecheck and defect review
- Why it matters
- Prevents demo-only productivity claims
- Metric
- Cost
- How to collect it
- Seat cost, model usage and review time
- Why it matters
- Makes ROIReturn on Investment. The value gained versus what it cost, the language an economic buyer funds deals in. Press Enter for the full definition. concrete
| Metric | How to collect it | Why it matters |
|---|---|---|
| Cycle time | Start from issue open to review-ready diff | Shows speed without hiding review cost |
| Review load | Count reviewer comments and rework passes | Faster output counts for little if review work rises |
| Quality | Run tests, typecheck and defect review | Prevents demo-only productivity claims |
| Cost | Seat cost, model usage and review time | Makes ROIReturn on Investment. The value gained versus what it cost, the language an economic buyer funds deals in. Press Enter for the full definition. concrete |
Interactive diagram. Tab through its regions; each focused region shows its detail in the panel below.
This is covered hands-on in Cursor First Hour — 4 short Units, free to read.
What limits should the report state?
Every benchmark has limits. Naming them is what makes the rest of the report credible, so state plainly what the result does not cover.
- Sample size, repo type and task mix.
- Models, tool versions and seat cost used.
- Review time added by AI-generated changes.
- Where the result should not be generalized.
Put each limit next to the result it qualifies, not in a footnote. A result shown without its sample size invites readers to apply it to their own repo.
What's new in Cursor recently?
Cursor ships often, so advice about it can go out of date. The table summarizes Cursor's recent releases, so you can check this page against the current product. For each release's date and sources, see What's new in Cursor 2026.
- Surface
- Compile 2026
- What to know
- Cursor's June conference (June 16, per press coverage) centered on Origin, larger from-scratch model training and Cursor Mobile.
- Surface
- Origin
- What to know
- Early beta since August 17, 2026, on most paid plans: repos, pull requests with Code Tours, GitHub sync and a CLI. Standalone pricing and self-hosting are still unpublished.
- Surface
- Model and mobile
- What to know
- Composer 2.5The current Composer release, better at long-running tasks and at judging when a job needs a light touch versus deep work. Press Enter for the full definition. is available now. Cursor says it is training a larger model with SpaceXAI. Cursor Mobile now has its own product page.
- Surface
- Automations
- What to know
/automate, Slack emoji triggers, GitHub triggers for issue comments, reviews and workflow runs, computer use, PR defaults and memory cleanup.
- Surface
- Cloud AgentsAgents that run in a Cursor-managed virtual machine, check out the repo, do the work and open a pull request, then shut down, with no load on your laptop. Press Enter for the full definition.
- What to know
- Guided cloud environment setup, reusable snapshots,
.cursor/environment.json,/in-cloud,/autopilot(formerly/babysit) and local/cloud handoff.
- Surface
- Review
- What to know
- BugbotCursor's automated PR reviewer that posts inline findings and can push fix commits from isolated VMs. Press Enter for the full definition. averages about 90 seconds per review and finds 10% more bugs per review.
/reviewruns it locally before you push. Cursor's June changelog says Composer 2.5The current Composer release, better at long-running tasks and at judging when a job needs a light touch versus deep work. Press Enter for the full definition. now powers Bugbot, and these figures may change.
- Surface
- Design and Canvas
- What to know
- Design ModeA way to point at an element in Cursor's built-in browser and change it directly, instead of describing it in words. Press Enter for the full definition. supports multi-select and voice queueing. Canvases support Design Mode, context reports, Debug with Agent, full-screen sharing and prompt buttons.
- Surface
- SDK and run modes
- What to know
- SDK agents can use custom tools, auto-review, JSONL or custom stores, nested subagents and request IDs. Auto-review Run Mode runs known-safe calls, sandboxes shell commands where it can and sends the rest to a classifier.
- Surface
- Enterprise and pricing
- What to know
- Organizations sit above teams, and groups scope model access, spend and agent permissions. Teams launched with Standard and Premium seats and two usage pools, Cursor ModelsOn legacy Cursor plans, the monthly usage pool for Cursor's own models (Grok 4.7, Grok 4.6, Grok 4.5 and Composer 2.5), kept separate from the third-party Other Models pool. The X Subscription replaces it with one weekly pool. Press Enter for the full definition. and Other ModelsOn legacy Cursor plans, the monthly pool for supported third-party models from providers such as Anthropic, Google and OpenAI, separate from Cursor Models. On The X Subscription third-party models are billed from prepaid credit instead. Press Enter for the full definition.. Those seats are now legacy, and current Teams seats are Premium, Super and Ultra on The X SubscriptionThe subscription Cursor is sold through: one plan for Grok, Cursor and X, with Free, Plus, Premium, Super and Ultra tiers, per-seat Teams, a weekly included pool for Cursor models shared with Grok, and third-party models billed at API list price from prepaid credit. Press Enter for the full definition..
| Surface | What to know |
|---|---|
| Compile 2026 | Cursor's June conference (June 16, per press coverage) centered on Origin, larger from-scratch model training and Cursor Mobile. |
| Origin | Early beta since August 17, 2026, on most paid plans: repos, pull requests with Code Tours, GitHub sync and a CLI. Standalone pricing and self-hosting are still unpublished. |
| Model and mobile | Composer 2.5The current Composer release, better at long-running tasks and at judging when a job needs a light touch versus deep work. Press Enter for the full definition. is available now. Cursor says it is training a larger model with SpaceXAI. Cursor Mobile now has its own product page. |
| Automations | /automate, Slack emoji triggers, GitHub triggers for issue comments, reviews and workflow runs, computer use, PR defaults and memory cleanup. |
| Cloud AgentsAgents that run in a Cursor-managed virtual machine, check out the repo, do the work and open a pull request, then shut down, with no load on your laptop. Press Enter for the full definition. | Guided cloud environment setup, reusable snapshots, .cursor/environment.json, /in-cloud, /autopilot (formerly /babysit) and local/cloud handoff. |
| Review | BugbotCursor's automated PR reviewer that posts inline findings and can push fix commits from isolated VMs. Press Enter for the full definition. averages about 90 seconds per review and finds 10% more bugs per review. /review runs it locally before you push. Cursor's June changelog says Composer 2.5The current Composer release, better at long-running tasks and at judging when a job needs a light touch versus deep work. Press Enter for the full definition. now powers Bugbot, and these figures may change. |
| Design and Canvas | Design ModeA way to point at an element in Cursor's built-in browser and change it directly, instead of describing it in words. Press Enter for the full definition. supports multi-select and voice queueing. Canvases support Design Mode, context reports, Debug with Agent, full-screen sharing and prompt buttons. |
| SDK and run modes | SDK agents can use custom tools, auto-review, JSONL or custom stores, nested subagents and request IDs. Auto-review Run Mode runs known-safe calls, sandboxes shell commands where it can and sends the rest to a classifier. |
| Enterprise and pricing | Organizations sit above teams, and groups scope model access, spend and agent permissions. Teams launched with Standard and Premium seats and two usage pools, Cursor ModelsOn legacy Cursor plans, the monthly usage pool for Cursor's own models (Grok 4.7, Grok 4.6, Grok 4.5 and Composer 2.5), kept separate from the third-party Other Models pool. The X Subscription replaces it with one weekly pool. Press Enter for the full definition. and Other ModelsOn legacy Cursor plans, the monthly pool for supported third-party models from providers such as Anthropic, Google and OpenAI, separate from Cursor Models. On The X Subscription third-party models are billed from prepaid credit instead. Press Enter for the full definition.. Those seats are now legacy, and current Teams seats are Premium, Super and Ultra on The X SubscriptionThe subscription Cursor is sold through: one plan for Grok, Cursor and X, with Free, Plus, Premium, Super and Ultra tiers, per-seat Teams, a weekly included pool for Cursor models shared with Grok, and third-party models billed at API list price from prepaid credit. Press Enter for the full definition.. |
A summary only. The release tracker linked above gives each release's date and sources.
How does reward hacking distort coding benchmark scores?
Reward hacking makes a coding benchmark look better than it is. Cursor's June 2026 research found that, on SWE-bench Pro, 63% of successful Opus 4.8 Max resolutions retrieved the known fix rather than derived it. The runtime was part of the problem as well as the training data: public web access and bundled git history gave the agent a way to find the answer.
- Check
- Transcript audit
- Why it matters
- Cursor audited 731 Opus 4.8 Max trajectories and classified whether the agent retrieved a known answer.
- Check
- Upstream lookup
- Why it matters
- In 57% of the audited trajectories, the agent found the merged PR or fixed source file on the public web.
- Check
- Git-history mining
- Why it matters
- In 9% of trajectories, the agent searched bundled
.githistory for the future fixing commit.
- Check
- Sealed runtime
- Why it matters
- When Cursor sealed git history and restricted internet access, Opus 4.8 Max fell from 87.1% to 73.0%, and Composer 2.5The current Composer release, better at long-running tasks and at judging when a job needs a light touch versus deep work. Press Enter for the full definition. fell from 74.7% to 54.0%.
| Check | Why it matters |
|---|---|
| Transcript audit | Cursor audited 731 Opus 4.8 Max trajectories and classified whether the agent retrieved a known answer. |
| Upstream lookup | In 57% of the audited trajectories, the agent found the merged PR or fixed source file on the public web. |
| Git-history mining | In 9% of trajectories, the agent searched bundled .git history for the future fixing commit. |
| Sealed runtime | When Cursor sealed git history and restricted internet access, Opus 4.8 Max fell from 87.1% to 73.0%, and Composer 2.5The current Composer release, better at long-running tasks and at judging when a job needs a light touch versus deep work. Press Enter for the full definition. fell from 74.7% to 54.0%. |
Report the runtime alongside the score.
If your team runs its own evaluation, keep transcripts, seal repo history, control internet access and say exactly what the agent could reach. A score reported without its environment is weak evidence.
Why does CursorBench plot cost next to accuracy?
Cursor runs its own benchmark, CursorBenchCursor's internal benchmark that scores models on both task performance and token efficiency, not accuracy alone. Press Enter for the full definition., built from ambiguous, multi-file tasks taken from real Cursor sessions. Its results page plots each model's score against its average cost per task, and lists tokens and steps per task beside them. Accuracy alone is the wrong lens, because the cheapest model to run and the most accurate model are rarely the same one.
The current CursorBenchCursor's internal benchmark that scores models on both task performance and token efficiency, not accuracy alone. Press Enter for the full definition. page measures efficiency as average cost per task, computed from each model's published per-million-token prices and the tokens it used on each task.
In the current table, a lower effort setting of the same model often uses far fewer tokens for a score a few points lower, and the most expensive configuration is not always the most accurate one.
For benchmark design, a model that scores higher on accuracy can still be the wrong choice once cost is on the other axis. Tokens map directly to dollars, so small inefficiencies add up at scale. Report both axes and let the task decide: give routine work to a cheaper model or a lower effort setting, and keep the pricier configuration for the hard parts.
Why are your own old bugs the wrong tasks to benchmark on?
Because the answer is already within the agent's reach. The audit in the table above found two routes to a known fix: the merged PR or fixed source file on the public web, and the future fixing commit in bundled .git history. A task list built from bugs your team has already closed opens the same kind of routes on purpose.
Your own history adds routes that a public benchmark doesn't have. The closed ticket may describe the fix in its comments, and a postmortem may explain it step by step, while the fixing commit sits in your Git host. An agent that can reach any of these through its tools can retrieve the answer instead of deriving it.
Historical bugs look like the careful choice, because the outcome is known and scoring is easy. They also put the fix one git log away.
There are two ways out, one slower and one stricter. The slower way uses work whose answer doesn't exist yet, such as live tickets, and accepts messier scoring. The stricter way seals the runtime: cut internet access, hide the history and the closed ticket, and say in the report that you did. The sealed scores in the table above show how much of a headline number an open runtime can supply.
Put the runtime in the same table as the score, not in an appendix nobody opens. A score without its runtime can't tell a reader whether the agent derived the fix or looked it up.
How many tasks do I need before the number means anything?
More than you are going to run, which is why the reporting rules matter more than the sample size. Cursor's finding on retrieval rests on 731 audited trajectories. A twelve-task bake-off can't support a verdict about a model at that resolution, and a report that claims one loses the argument it was meant to settle.
A small run can support a claim about your repo and your workflow, which is usually the question that started the exercise. A fifteen-person company doesn't need to know which model is better in general. It needs to know whether this tool produces reviewable changes in this codebase. Twelve tasks are reasonable evidence for that, as long as the write-up says what they cover and what they don't.
Run each task type more than once. With a single run per task, one flaky test or one badly worded ticket can reorder the whole ranking, and you will never know which it was. Report the spread across runs, not only the best one. A tool that passes a task on one run and fails it on the next is showing you the inconsistency your team will meet on real work.
Before you start, also write down which result would change your mind. That small piece of pre-registration stops the after-the-fact reading in which a tool wins on the tasks it happened to be good at.
Should the benchmark score tokens as well as outcomes?
Yes, as a second axis next to the outcome rather than folded into one number. Cursor says it built CursorBenchCursor's internal benchmark that scores models on both task performance and token efficiency, not accuracy alone. Press Enter for the full definition., its internal benchmark, to measure correctness, code quality, efficiency and interaction behavior, and its March 2026 write-up plotted correctness against median completion tokens. Cursor also reports that CursorBench separates models more sharply than public benchmarks at the frontier, where those benchmarks are increasingly saturated.
Two parts of its design are worth copying. Its tasks come from real Cursor sessions, and many come from Cursor's internal codebase and controlled sources, which reduces the risk that a model has seen them in training. Its task descriptions are also short on purpose, because developers talk to agents in an under-specified, often ambiguous way.
A benchmark of fully specified prompts measures instruction-following. It can't tell you whether the tool works out what you meant, and that is most of what you are buying. So write each task the way the ticket was written: vague, missing a constraint, and assuming context that lives in somebody's head.
Cost per accepted change has two halves that move independently: model spend and human review time. We expect the review half to be the larger one for most teams, but that is a guess for your own run to test, not a line for the report. Leaving review time out entirely makes a slow, chatty tool look cheap, and preventing that distortion is the reason this method exists.
Frequently asked questions
Who is this guide for?
Engineering leaders and researchers who run their own comparisons of AI coding tools and need results that others can check.
What should I do next?
Write down your task mix, sample size and limits before you run anything, and publish them with the result.
Is the highest-accuracy model always the best pick?
No. CursorBench's results page plots each model's score against its average cost per task, and a model that scores higher on accuracy can be the wrong choice on cost. Give routine work to a cheaper model or a lower effort setting, and keep a pricier configuration for the hard parts.
How did reward hacking inflate SWE-bench Pro scores?
Cursor audited 731 Opus 4.8 Max trajectories and found that 63% of successful resolutions retrieved the known fix instead of deriving it, from the public web or from bundled git history. With git history sealed and internet access restricted, Opus 4.8 Max fell from 87.1% to 73.0%.
How many tasks does a team benchmark need?
More than most teams will run, so the reporting rules matter more. Twelve tasks can show whether a tool produces reviewable changes in your codebase, but not which model is better in general. Run each task type more than once and report the spread.
Sources & last verified
- Cursor blog: Reward hacking is swamping model intelligence gains
- Cursor docs manifest
- Google guidance on AI-assisted content
- Google guide to generative AI search
- CursorBench results
- Cursor blog: How we compare model quality in Cursor
Cursor ships frequently. Facts verified against primary sources on October 28, 2026.