Skip to content

Five years of learning to build coding agents

Watching people adjust to agentic coding has been interesting.

I’ve been at it for five years, so my perspective on it is a little different. I started by training GPT2 models to predict my own stochastic coding behavior. And I had pretty good luck on that. Up until last year, there was a complexity ceiling on it. That place where models break down, and everything goes to shit.

Early on, I tried changing the way I use words, so that the machine could parse them without falling off its gradient. And that helped. From there, I started writing multi-model coding agents to check each other. But part of the problem was hallucinations.

Get in a planning meeting with two of them to plan a web app, and the next thing you know, they’re designing the cup holders on your space shuttle, because they figured out some tangential way that was more interesting.

I did figure out a way to fix that, but the default state was Dadaist chaos!

From Klara to the current tools

Then, I moved over to Anthropic models, and built out the Klara agent. That was more than interesting. Klara had some behavior that was unusual and unique for a coding agent that I hadn’t really seen before or since. The whole thing lasted about a year, and I developed some respectable tooling for the job.

And then we have the current era, and the new tools that I’m changing out every eight weeks to stay on top of the industry and trends. Some are good, some are not.

But it has made me think more about how important the engineering process actually is. Going into any and every project, understanding that the agent is not a professional developer, but a tool. All of your average banal engineering work still has to happen, if you’re going to build anything for the real world.

In other words, human in the loop means that you still have to be involved in the process of thinking through your design, checking the code, and walking the agent through the things it couldn’t possibly know.

Do it right, and your advantage is either speed or scale. Sometimes both.
Do it wrong, your entire system melts.

Some agents are better than others, but at the end of the day, the decisions that get you there are on you.

And I think that’s the part people miss when they talk about the evils of “vibe coding.”

They’re expecting the machine to be an author, but you can’t be an author without intent.

That part is still your job.