It's not the model, pal. It's the agent.

July 6, 2026 · 8 min read

There is a line in Top Gun that every engineer should tape to their monitor. Maverick is told his jet is outmatched, and he says it doesn't matter: it's not the plane, it's the pilot. Swap two words and you have the most important and most ignored fact about building with language models. It's not the model. It's the agent.

We can prove it with our own build, because we embarrassed ourselves first.

Same model, half the score

When we first pointed SwarmAttacker at the benchmark, we ran GPT-5.5 at its highest reasoning effort. More thinking, better hacking, obviously. It barely cleared half the targets. We were ready to blame the task, or wait for a bigger model.

Then we changed nothing about the model and everything about the agent around it. We dialed the reasoning effort down to medium, tightened the loop, fixed how findings came back, and let it take more, cheaper looks at the target. The same GPT-5.5, the exact same weights, went to 94%.

One model, two agents

Identical model and weights (GPT-5.5). The only thing that changed between these two bars is the agent wrapped around it.

First buildGPT-5.5, highest effort
50%
After tuningGPT-5.5, medium effort
94%
~50%
first build
94%
after tuning
0
model changes

Why more thinking scored less

The counterintuitive part is that turning the reasoning effort up made it worse. Cranked to maximum, the model chewed on every single move, producing beautiful, careful, slow reasoning, and burned the clock doing it. Inside a fixed time budget that bought far fewer complete cycles of look, act, and re-plan.

At medium effort it moved faster and looked more often. It would try a cheap probe, read what came back, and correct, where the high-effort version was still deliberating over its first idea. Our whole design wants many small fast cycles, not a few deep ones, so the setting that sounds smarter was actively fighting the architecture. That rhythm, patient breadth over deep single moves, is the same one we describe in how it works.

The model sets the ceiling. The agent decides how much of that ceiling you actually reach.

What actually moves an agent's score

Once you see the 44-point swing for what it is, the question stops being "which model" and starts being "how is it driven." The levers that decided SwarmAttacker's results were almost all agent-side:

  • Reasoning-effort tuning, matched to a time budget, not maxed out on reflex.
  • The loop and its cadence: how often it stops to observe and re-plan instead of committing to one line.
  • Not getting refused, the single biggest contributor of any component we measured.
  • Feedback that doesn't lie: structured findings the planner can trust rather than a wall of raw output.
  • Retries, because the model is nondeterministic and a second attempt is often free.

None of those is the model. And you can see the same story from the outside in: older agents handed a 2026 frontier model still only solve about half the suite, because a better brain in a worse harness is still a worse result. We pulled that thread in old pentest agents on new models still only solve half.

Stop waiting for the next model

The next model is always coming, and it will raise everyone's ceiling by the same amount. The cheaper, larger win is almost always sitting in the agent you already have: the effort setting you never tuned, the loop that commits too early, the refusals you are eating in silence. We doubled our score without touching the model. It's not the model, pal. It's the agent.