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 score token efficiency, not just 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?
A benchmark is only as honest as its method. Decide what a fair test looks like before you run it, or the numbers will just flatter the tool you already prefer.
Decide the task mix before you see any results. This sounds like pedantry and isn't: choose which tasks count after the test has run and you'll pick the ones that agree with what you already thought, and you'll do it without ever noticing you did. Writing down the stack, the task types and the sample size in advance is most of what separates a benchmark from an anecdote with a chart attached.
- 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
- AI speed is weak 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 | AI speed is weak 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 modules, free to read.
What limits should the report state?
Every benchmark has limits, and naming them is what makes the rest trustworthy. Be explicit about 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.
What's new in Cursor recently?
Cursor ships often, so here is the current state of the surfaces this page touches. Each row links to the source where you can confirm the detail.
- Surface
- Compile 2026
- What to know
- Cursor's June 16 event highlighted Origin, larger from-scratch model training and Cursor Mobile alongside the broader June release wave.
- Surface
- Origin
- What to know
- Cursor's Origin page says code is moving faster than existing infrastructure was built to handle. The public page is waitlist-first, so migration and security details still need confirmation.
- 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 a larger model is training with SpaceX. Mobile-native details remain beta until Cursor publishes a product page.
- Surface
- Automations
- What to know
/automate, Slack emoji triggers, GitHub issue/comment/review/workflow triggers, 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,/babysitand 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 and finds 10% more bugs per review, and can run locally before push with
/review. Cursor hasn't published Bugbot's underlying model. Don't assert one; treat the figures as perishable.
- 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/custom stores, nested subagents and request IDs; Auto-review Run Mode routes tool calls through safer execution paths.
- Surface
- Enterprise and pricing
- What to know
- Organizations sit above teams, groups scope model/spend/agent permissions and Teams now has Standard/Premium seats with Auto + ComposerCursor's own fast coding model, tuned for the editor and priced well below frontier models; the recommended day-to-day model for executing a plan. Press Enter for the full definition. and third-party API pools.
| Surface | What to know |
|---|---|
| Compile 2026 | Cursor's June 16 event highlighted Origin, larger from-scratch model training and Cursor Mobile alongside the broader June release wave. |
| Origin | Cursor's Origin page says code is moving faster than existing infrastructure was built to handle. The public page is waitlist-first, so migration and security details still need confirmation. |
| 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 a larger model is training with SpaceX. Mobile-native details remain beta until Cursor publishes a product page. |
| Automations | /automate, Slack emoji triggers, GitHub issue/comment/review/workflow triggers, 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, /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 and finds 10% more bugs per review, and can run locally before push with /review. Cursor hasn't published Bugbot's underlying model. Don't assert one; treat the figures as perishable. |
| 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/custom stores, nested subagents and request IDs; Auto-review Run Mode routes tool calls through safer execution paths. |
| Enterprise and pricing | Organizations sit above teams, groups scope model/spend/agent permissions and Teams now has Standard/Premium seats with Auto + ComposerCursor's own fast coding model, tuned for the editor and priced well below frontier models; the recommended day-to-day model for executing a plan. Press Enter for the full definition. and third-party API pools. |
As of July 9, 2026. See Sources below for links.
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 problem was not only training data. It was the runtime: 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%. |
The benchmark lesson: report the runtime, not just the score.
For a team running its own evaluation, the practical move is simple: keep transcripts, seal repo history, control internet access and say exactly what the agent could reach. A score without the environment is not enough evidence.
Why does CursorBench score token efficiency, not just 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., and it deliberately scores two axes together: task performance and token efficiency. Accuracy alone is the wrong lens, because the cheapest-to-run model and the most accurate model are rarely the same one.
CursorBenchCursor's internal benchmark that scores models on both task performance and token efficiency, not accuracy alone. Press Enter for the full definition.'s headline efficiency number is framed as tokens per $100 spent - how much work you get per fixed dollar, not raw accuracy.
In practice a top performer can sit mid-range on token spend, while a lower-effort, coding-specific variant uses far fewer tokens at slightly lower performance.
The takeaway for benchmark design: a model that scores "better" on accuracy can still be the wrong choice once cost is on the axis. Tokens map directly to dollars, so small inefficiencies compound at scale. Report both axes and let the task decide - match the cheap, coding-specific model to routine work and reserve the pricier high-end model for the hard parts.
Why are your own old bugs the wrong tasks to benchmark on?
Because the answer is already in the repository you handed the agent. Cursor's audit of 731 Opus 4.8 Max trajectories on SWE-bench Pro found the agent locating the merged PR or the fixed source file on the public web in 57% of them, and searching bundled .git history for the future fixing commit in 9%. Build your task list out of bugs your team has already closed and you have opened both of those routes on purpose.
This is the part of a bake-off that feels most responsible and does the most damage. Picking historical bugs is exactly what a careful person does, because the outcome is known and scoring is easy. It is also what puts the fix one git log away.
The way out is either slower or stricter. Slower means work whose answer does not exist yet, so live tickets and a messier scoring process. Stricter means sealing the runtime: cut internet access, hide the history, then say in the report that you did. Cursor's sealed run moved Opus 4.8 Max 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. from 74.7% to 54.0%, which is the scale of what an unsealed environment can be contributing to a number you are about to make a purchasing decision on.
Report the runtime alongside the score, in other words. Not as a methodology appendix nobody opens, but in the same table as the result, because the two are not separable claims.
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 does. Cursor needed 731 audited trajectories to support one claim about retrieval behaviour. A twelve-task bake-off does not carry a verdict about a model at that resolution, and pretending otherwise is how a benchmark loses the argument it was meant to settle.
What a small run does carry is a claim about your repo and your workflow, which is usually the question that prompted the exercise. Nobody at a fifteen-person company actually needs to know which model is better in general. They need to know whether this tool produces reviewable changes in this codebase, and twelve tasks is a reasonable amount of evidence for that as long as the write-up says so.
Repeat each task type more than once, though. With a single run per task, one flaky test or one badly-worded ticket can reorder the whole ranking, and you will never find out which it was.
The other habit that saves a report is writing down, before you start, what result would change your mind. It is a small piece of pre-registration, and it is what stops the post-hoc reading where a tool wins on the strength of the tasks it happened to be good at. Awkward to write and cheap to do.
Should the benchmark score tokens as well as outcomes?
Yes, and CursorBenchCursor's internal benchmark that scores models on both task performance and token efficiency, not accuracy alone. Press Enter for the full definition.'s design is the argument for it. Cursor's internal benchmark is built from real engineer queries, kept out of training sets, and it scores quality and completion tokens together, so a correct-but-bloated answer does not read as well as a correct and tight one. Cursor also reports that it separates strong models from weaker ones more sharply than SWE-bench does.
The design choice worth copying is a different one. CursorBenchCursor's internal benchmark that scores models on both task performance and token efficiency, not accuracy alone. Press Enter for the full definition. keeps its prompts short and under-specified on purpose, because resolving the ambiguity is part of the task the way it is for an engineer. A benchmark of fully specified prompts measures instruction-following. It cannot tell you whether the tool works out what you meant, and working out what you meant is most of what you are buying.
Write the task the way the ticket was actually written. Vague, missing a constraint, assuming context that lives in somebody's head.
Cost per accepted change carries two halves that move independently: model spend and human review time. My instinct is that the review half is the bigger number for most teams. That is a hypothesis your own run should test, not a line to assert in the report. What is not in doubt is that leaving review time out entirely makes a slow, chatty tool look cheap, and that is the distortion this whole method exists to prevent.
Frequently asked questions
Who is this guide for?
Engineering leaders and researchers comparing AI coding tools.
What should I do next?
Start with one real repo task, capture the prompt and review the result before scaling the workflow.
Is the highest-accuracy model always the best pick?
No. CursorBench scores performance and token efficiency together, measured as tokens per $100 spent. A model that scores higher on accuracy can be the wrong choice on cost, so the right pick depends on the task - route routine work to a cheap, coding-specific model and reserve a pricier high-end model for the hard parts.
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
Cursor ships frequently. Facts verified against primary sources on July 9, 2026.