Like everyone who codes, I’ve been experimenting with using AI agents and have been trying to figure out their proper role in the coding process.
AI is unavoidable now, given its growing coding prowess and the fact that it is now integrated into the major IDEs, like Xcode, Android Studio, and Visual Studio. AI coding agents are undoubtedly useful, but like any tool, they need to be used with precision. I have found that just giving them a mission and unleashing them on your code is not a good idea.
It is tempting to just tell Codex or Copilot or Claude Code (why do they all being with “c”?) to implement feature X, and let it do its thing, automatically adding big chunks of code with the result that the feature does seem to get implemented. But then you find a little bug or edge case where things don’t work as expected. Ok, go ahead and fix that, AI agent. And it does, but then something that originally worked, doesn’t work anymore. So fix that. It does. After several iterations everything seems to be working properly. You just saved yourself a ton of time as you sat back sipping your coffee letting AI do your work for you.
But then you look at the code that was produced. You see variables added that don’t seem to do anything. Dead-end functions that were added on iteration 2 but were abandoned on iteration 3. Code that was added to short-circuit previously added code whose purpose was to short-circuit other now useless code. A mess of code that is difficult to understand and that is held together with string and chewing gum.
Given this experience, I’ve stopped using AI agents to write code, for the most part. I still use them sometimes to lay out user interfaces, which are very tedious to design by hand. Where I have found AI useful is in planning changes to code. AI agents are a great source of information on program design. They can suggest various ways to implement new features and can show code snippets that if I consider them to be useful I can incorporate into the code base. There’s no doubt that even this limited use of AI agents makes for more productivity and I have taken advantage of this to incorporate new features into the EP Studios apps.
But I caution developers to rein in their AI agents. Don’t let them go wild on your code. Use them as a learning tool and a planning tool. It’s too soon to cede the whole coding process to them, at least for now.