The State Of AI

When ChatGPT 3.5 was released in 2022, it was a remarkable sight. At that time, I was learning to code through textbooks I would buy on Amazon, and I would go to Stack Overflow again and again to compare the code I had written against the most helpful version of that code. For learning, this process is useful. In my experience, being able to fail over and over while trying to solve a problem—before finally getting the solution—was how I learned and retained information best. When ChatGPT came out, I was a bit hesitant to adopt the technology, but as my workload grew more complex, I found it increasingly useful.

These days, agentic coding has become the standard. We are moving toward an age where basic tasks are handed off to agents while we act as composers. Beyond that, we are working toward an age where we will have a swarm of agents operating under a composer model that we direct toward grander tasks.

And that is roughly what my blog post today is about. I find myself at a point where I am looking into the newest and most relevant thing to hop on this year: agent harnesses.

Essentially, now that agents can work for long periods of time, it has become more important to structure the scaffolding around them—so they can perform tasks and have those tasks evaluated as they happen. This increases productivity, maximizes the time agents spend actually doing tasks, and improves accountability.

The “Composer” Role

I think that as we take on the role of composers of these projects—rather than just technicians getting lost in the sauce—we have an opportunity to create far more complex solutions to the problems we’ve been facing in our respective fields. Personally, I find that delegating the routine work so I can focus on understanding the more complex parts of my workflow—such as designing an algorithm or implementing a clever data structure for the repositories I build—is a much better use of my time than spending hours debugging why one package won’t play nicely with another. Of course, debugging is part of the process and an important part of being a flexible programmer. But as we move forward, I think we can afford to worry a little less about at least that.

Slopgeddon

A valid concern for many is that as we increase our output from these agents and models, we may end up creating worse and worse code—perhaps heading toward a point where we’re churning out a bunch of slop over and over. This is the risk of not being prudent and intentional about reviewing what we produce. The point I wanted to make in my last section is this: yes, we’re outsourcing some of the work, but we shouldn’t outsource understanding—or even just glancing at our code. This is especially true as we approach the final steps of shipping code out into the world.

Continue the conversation