The Coding Race Is Over. The Thinking Race Just Started.
Surprise: it might not be about the clankers anymore...
This is the fifth in a series about where agents are taking us. The previous pieces were about OpenClaw. This one isn’t. It’s about something I noticed in my own workflow over the past few months, and I don’t think it’s just me. We could say this is my take on the whole loops euphoria, and I'm focusing on the so-what.
Remember the progression. First we had copilots that fixed your code. Autocomplete with ambition. Then models that could audit it, find the bug you’d been staring past for an hour. Then models that could write it, whole functions, whole modules, whole apps. Each step felt like the big one at the time.
And through all of it, the question everyone argued about was which model was the best coder. Benchmarks, leaderboards, vibes threads on X. Months ago that question felt urgent. Today 5.5 and 4.8 are both excellent at it. One edges the other on any given task, and it doesn’t matter. The question is answered. We have models that code better than 90% of the coders out there, and faster than all of them.
Mission critical was never about who wrote the code. It was about process: review, tests, staging, rollback. Those processes exist because humans ship bugs. Point them at model output and the question stops being “did a human write this” and becomes “has this been audited, hardened, and owned.” That question has an answer. So yes, production too.
It reminds me of 1997. Deep Blue beats Kasparov, the question “can a machine beat the best human at chess” gets answered once, and it never gets asked again. Chess didn’t end. The human role changed. What came after was more interesting than what came before: humans using engines to see the game differently, to find ideas no school of chess had produced. We’re at that moment with code, and the race has already moved up a level.
The next race is which model is the best thinking partner.
Here’s what that looks like in practice. I run a systematic trading strategy. Lately I’ve been rethinking how it handles risk management and loss rotation. I don’t ask Fable to code that. I discuss it. I ask it to read the literature for me and synthesize it, not summarize, synthesize, tell me where the approaches disagree and why. We go through backtesting results together, argue about what’s signal and what’s overfit, sketch how to improve the next run. I’m building self-improving loops, auto research in the direction Karpathy has been pointing at. That work is thinking work. The model is in the room for all of it.
Then, once I’m happy with the idea, the handoff. Fable writes the spec. We wrote a loop, so it automatically cross-checks the spec with Codex until the two reach consensus. Then they jointly build, audit, red team, harden, and PR when it’s ready. The coding step, the one I was still supervising turn by turn a few months ago, is now something I’ve offloaded entirely. I review outcomes, not diffs.
Notice what changed. The bottleneck moved. It’s no longer how fast the code gets written. It’s how good the idea is before anything gets written at all. And that’s exactly where I want to spend my time: thinking about the problem, with a partner sharp enough to ping pong it with.
This is a different evaluation than the coding benchmarks. A great coder follows the spec. A great thinking partner attacks it. It tells you your loss rotation logic is elegant and wrong. It notices the paper you’re leaning on used a regime that no longer exists. It disagrees with you, holds the position under pressure, and concedes when you’ve actually earned it. None of that shows up on SWE-bench. All of it is where the value now lives.
Nobody will build a leaderboard for this, and it wouldn’t matter if they did. A thinking partner isn’t measured. It’s earned, one argument at a time, until the disagreements get good, until you’re forced to accept you were wrong or you didn’t think of it first. Then one day you look up and realize you wouldn’t work any other way. I think I’m there.
