/p/2026-09-18 · explainer
Paper explainer · 2609.17598 · Kraishan

Not agent code.
This agent's code.

Coding agents opened 33,596 of the 37,623 labelled pull requests in this study, against a human baseline drawn from the same repositories in the same months. Pooled together, agent code looks slightly safer than human code. Split by vendor, one agent's merged work was reverted 6.1% of the time and another's 14.5%, against 11.5% for people — a spread far wider than the agent-versus-human gap anyone is arguing about.

01 · The pooled answer

Asked the usual way, the answer is reassuring and useless

The question everyone asks is “is agent-written code worse”, and the honest pooled answer here is no. Across 1.3 million added lines in Python, JavaScript and TypeScript, agent pull requests were less likely than human ones to contain a risky pattern, and the difference is concentrated in exactly the two habits you would expect a model to have been trained out of.

Switch between the three classes.

Interactive · agent code against human code, pooled
odds against the human baseline
what the detector sees
pattern matching over added diff lines, not proof of an exploitable bug — read every rate as an upper bound on pattern presence

That is the whole of the reassuring story, and it is the last useful thing the pooled view does. Every number below it comes apart the moment you ask which agent.

02 · The spread

Five vendors, five different orderings

If “agent code” were a real category, the five agents would line up roughly together and the humans would sit somewhere else. They do not. Step through the measures and watch the order scramble — the cleanest agent on risky patterns is not the one that gets merged most, and the one that gets reverted least is not the one that writes the smallest changes.

Interactive · one measure at a time, agents against the human baseline

Across the structural measures, 44 of 60 pairwise vendor comparisons came back significant after correction, and every agent differs from at least two others on at least one measure. There is no “agent style” here. There are five products with different defaults.

03 · The expensive one

A revert is the only outcome here that definitely cost someone a day

Risky patterns are a proxy and comment density is a preference. A revert is a fact: the change landed, and then a person decided it had to come back out. The study followed every merged pull request for 90 days and counted them.

Pick a vendor and read its odds against the humans working in the same repositories.

Interactive · reverts within 90 days of merge

Read the intervals, not the point estimates. Two of the five genuinely differ from the human baseline in opposite directions; the other three sit on top of it with intervals wide enough to cover anything. And the one with the fewest merged pull requests has the widest interval of all — on 267 merges, “no difference” means “not enough evidence”, not “no effect”.

04 · The bottleneck

The scarce thing in this loop is a person's attention

Agents do not wait. Reviewers do. The review measures scatter as widely as the quality ones, and they scatter along a different axis — one agent's pull requests pull three and a half human reviews each and half a change request, another's get looked at by a human on 5.4% of pull requests at all.

Interactive · what each agent costs its reviewers

One confound runs through all of this and the paper is straight about it. The agent with the most risky patterns, the deepest nesting, the slowest first review and the lowest churn per line also ships pull requests about eight times the median size of everyone else's — 495 changed lines against 52 for a human. Bigger changes attract more of everything. Nobody randomised which agent got which job, so every gap here mixes the tool with the work people choose to give it.

05 · On your repository

What the vendor gap is worth at your merge volume illustrative

The odds ratios are the transferable part — they are measured against a human baseline in the same repositories, so you can apply them to your own. Set your merge volume and your own revert rate, and see what the difference between the best and worst measured agent would cost you in rollbacks a quarter.

Interactive · your repository, the paper's odds ratios illustrative
reverts with the best measured agent
reverts with the worst measured agent

Which is the point to take away, and it is smaller than the headline. These odds ratios come from public repositories with more than a hundred stars, in three languages, in a window that ended in July 2025, with agent versions that have all shipped several times since. They are not a league table you can buy from. They are an argument that the variable worth logging is which tool opened this pull request — because over a quarter, on your own work, that column will tell you more than any benchmark will.

Results

What the paper actually measured

What it does not show

In practice