Lessons Learned from Building My First AI Agent: Why Less Is More


Over the past several months, I’ve been diving deep into building AI agents. Not too long ago, I hit a roadblock that forced me to rethink my approach. I spent nearly two days trying to resolve a problem with my first AI agent, and that experience has given me a lot to think about when it comes to the limits of what an agent should be doing.
The Problem: Too Much on One Agent’s Plate
The concept seemed simple at first: I wanted my AI agent to search through collections on the Internet Archive, retrieve documents based on my feedback, and then record the feedback in a Google Sheet. Simple, right? Well, not quite. As I developed the agent, I quickly realized that I was asking it to do too much: searching, recommending, recording, and storing data—all at once.
This led me to an important realization: there’s a balance between how much you can expect one agent to handle efficiently. From what I’ve learned and heard from others in the AI community, the sweet spot seems to be between three to five tools or tasks. Any more than that, and you risk overwhelming the agent, leading to errors and inefficiencies.
Hitting the Limit & Reaching a Breakthrough
The main issue I encountered was with the agent trying to record feedback directly into a Google Sheet while simultaneously processing data and making recommendations. This created a situation I learned to call a race condition—where multiple processes try to execute at the same time, resulting in some tasks not completing correctly. In my case, feedback was sometimes lost or not properly recorded, and the process would occasionally just crash.
The breakthrough came when I realized that I was expecting one agent to do too much. Instead of forcing the document retrieval agent to also manage data recording, I decided to separate the tasks. Now, my agent’s primary job is just to find and recommend documents. It collects feedback, but instead of sending it directly to Google Sheets, it stores the responses in a MySQL database on my PythonAnywhere server.
This makes a lot of sense because MySQL is integrated with my platform, reducing the need for external API calls and minimizing the chance of errors due to external dependencies. Once the data is safely stored, another agent can pick it up from the database and handle further processing, including exporting it to Google Sheets if needed.
While I initially thought having feedback directly in a spreadsheet would be useful, I’ve learned that integrating directly with a database is more reliable when working with multi-agent systems. MySQL handles data storage efficiently, and it’s easier to manage when multiple agents are involved. Once the data is in MySQL, I can always transfer it to a Google Sheet later if needed.
One of my primary goals with building these AI agents is to make the process as accessible as possible. The more complex or "smarter" you make one agent—especially when it has to multitask—the more dependencies it needs. For example, using Google Sheets might seem like a good idea because it’s familiar and accessible. However, setting it up requires going into Google Console, enabling APIs, configuring permissions, and managing multiple accounts.
Added complexities can become a barrier for people who want to replicate or use the agent. Instead, I’m focusing on solving the complex problems incrementally while keeping the system accessible. The aim is to build multi-agent systems that are collaborative, rather than isolated, without overwhelming the user with too many technical requirements. By reducing the number of external dependencies, I believe we can maintain a more user-friendly and streamlined process.
It’s easy to get caught up in wanting your AI agent to do everything. After all, if you’re going to build something powerful, why not make it as multifunctional as possible?
But I’ve learned that sometimes less is more. Splitting up tasks among multiple agents doesn’t just make them more efficient—it also makes debugging and improving the system easier.
If you’re building multi-agent systems, consider the built-in tools of your development environment before reaching for external integrations. A well-structured pipeline will save you time and frustration in the long run.
Have you hit similar roadblocks when building your own agents? I’d love to hear your experiences and how you overcame them! Let’s keep learning and building together.
Subscribe to my newsletter
Read articles from Nick Norman directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
