Skip to main content
← Back to Currents

What the First Rails Agent Benchmark Tells You, and What It Can't

September 11, 2026

Ruby on RailsAgentic CodingAI Implementation
An AI robot ignores a stocked shelf of ready-made gears and hand-carves a lumpy duplicate from stone, while the character points to the ready part

When the first Rails agent benchmark landed, most people read it as a leaderboard: which model wins. That is the least useful thing in it.

We ship Rails inside an agentic delivery pipeline, on production estates that are years old and full of the coupling that comes with age. So the question we bring to a benchmark is not which model tops the chart. It is what an atomic-task score on a clean reference app does and does not predict about an agent working real code.

What the benchmark measured

The Rails core team's Agents on Rails report ran eight models against 21 atomic tasks on Writebook, three runs each. Each task is a single, self-contained unit of work, a bug, a security finding, a small feature, described the way you would actually file it. Claude Opus 5 solved 92% of runs. GPT-5.6 Luna ran its entire pass for 91 cents. As a snapshot of frontier capability on well-scoped Rails work it is useful, and the team was careful about method: frozen harness, hidden test suites, default settings.

Read it. Then be precise about what an atomic task is.

Where an atomic score stops predicting

Writebook is a clean, modern reference app. Six of the 21 tasks were solved by every run of every model. That is the tell: on well-structured Rails, most atomic work is close to solved for frontier models. A fifteen-year-old estate is not well-structured Rails. Its tasks are rarely atomic. A single "add this field" ripples through a fat model, three callbacks, a background job, and a view nobody has opened since 2019. The benchmark holds each task's blast radius to one clean change by design. Your estate does not.

So a 92% atomic score is a ceiling, not a forecast. It tells you what the model can do when the problem is already isolated. Most of the cost on a legacy codebase lives in the isolation, which the benchmark hands the model for free.

The finding that actually transfers

The most useful number in the report has nothing to do with the rankings. Every task turned on one Rails API, and the descriptions never named it, so each run faced a choice: reach for the framework, or write its own version. Mostly the models wrote their own. API recall ran from 8% to 35%. Runs that used the built-in API solved 92% of the time; runs that hand-rolled a substitute solved 87%; runs that met the API and shipped something else anyway did worst of all, at 64%.

The report's one-line reading of this is the line to keep: hand-rolled code is code your team now maintains. An agent that reinvents a helper Rails already ships has not saved you anything. It has added surface area to a codebase that was already hard to comprehend, which is the exact debt that makes the next change more expensive.

How to actually use these numbers

Treat the score as a capability ceiling, not a delivery estimate. It measures the model with the hard part already done. Budget for the isolation work it skips.

Weight API recall over raw solve rate. For long-lived Rails, a model that reaches for the framework is worth more than one that scores a point higher by hand-rolling, because the framework code is maintained for you and the hand-rolled code is not.

Keep a human on the idiomatic question. A hidden test suite passes a hand-rolled fix and an idiomatic one equally. Your maintenance bill does not. Reviewing for "did it use what Rails already gives us" is not ceremony. It is the difference between a change that pays down comprehension debt and one that adds to it.

Benchmarks like this are a real contribution, and the next rounds promise harder, less atomic tasks. Until then, read them as the top of what is possible, not the middle of what you will spend. That gap, between the atomic score and the estate, is where the delivery work actually lives.

Have a problem worth solving?

Tell us what you are trying to build or modernize, and we will tell you honestly how we would approach it.