Here's a straightforward question: Would you ever consider hiring one individual to perform all 12 completely different tasks that exist in your firm?
Picture trying to find someone who could do the following: write your marketing copy; balance your books; unclog your toilets; develop your application; negotiate with your vendors; help customers; etc. You'd never put out that kind of request because the person who would answer the ad would more than likely suck at most of those tasks, become so overwhelmed there's no chance of success. Nonetheless, this is exactly how most people and developers are designing their AI today.
In the book Patterns for Building AI Agents that I recently read I found a simple concept that radically shifted my thinking about how I design and interact with AI: AI agent architecture is no different than designing organizations. We are experiencing the demise of the era of God Agents—those enormous bloated, complicated AI prompts you try to force into doing every possible task. Moving forward, the future is going to be about small, highly-specialized agents that collaborate in the same way a human team does.
If you do not approach your AI architecture the same way you would structure your company, you will find yourself having to face an incredibly rude awakening. In this article I will discuss the rapid rise of multi-agent systems and provide a simple 4-step process to implement this new paradigm.
The "God Agent" Dilemma
Initially, when we were granted access to big language models, the first inclination was to see just how much information we could fit into one interaction. Long prompts were created (as long as several pages) directing the AI such as "You are a professional copywriter as well as a Python coder, as well as a trained data analyst; read 50 documents, create a blog post, write code, and compile everything into one spreadsheet."
So what happens when one single agent has too many tools at their disposal, with also a lot of conflicting context and conflicting instructions? Well, the agent becomes completely confused!!!
When an agent has too many tools at their disposal, too many different contextual references, and too many conflicting or overlapping instructions, the performance of that single agent absolutely collapses! The agent starts to hallucinate, forgetting instructions before it reaches either the next page of instructions, or before it reaches the last instruction. The agent uses the wrong data sources to complete the task with the wrong instructions.
The "Single Responsibility Principle" is used in the software sector, which states that every piece of code (function, module, class, etc.) should only have one job, and it should perform that job very well. The same concept applies to AI agent design. By separating the functionality into different agents, you can create very specific personas, strict operating guidelines, and only provide them with enough tools to be able to complete the task they were designed to do.
AI Architectures are Organizational Structures.
The Write-Up “How to Build an AI Agent’s Pattern Set” describes how to build your AI agent by organizing its capabilities into different categories of organisation. Over 50 different development teams at 21 different companies participated in designing 300+ methodology templates for AI development.
Instead of using a coding-based methodology for developing agents, we got each team to use a corporate organisational chart as the basis for defining their capabilities.
For example, in the typical business, a company has a marketing department, an IT department, a sales organization, and a human resources department. Each employee has their own role, responsibilities, and access rights to files that they use to perform their jobs. Therefore, there are no HR payroll files accessible from the marketing department or any sales copy being created from the IT department.
Your agents should be structured similarly. By developing your agents as separate organisational entities with clear roles and responsibilities, it makes it far easier to build the agents as well as to test them and make changes if necessary.
So how do you build your agent? The authors provide a simple four-step framework which you can begin using immediately.
Constructing Multi-Agent Teams in Four Steps
Step 1: Identify Your AI Task List
Your job at this point is to get everything you want your AI/ML to do on paper or on a really big whiteboard. Don't worry about how you are going to accomplish this yet; just concentrate on what you want your AI to accomplish. Perform a brain dump of all the tasks, capabilities, and outcomes you want your AI systems to be able to perform.
Examples - Do you want your AI to read customer emails? Write it down. Do you want it to access your inventory database? Write it down. Do you want it to create refund policies or generate images or summarize weekly meetings? Get those things written down too. Essentially, you are creating a list of all the chores for your hypothetical AI company.
Step 2: Organizing Capabilities
Look Again: Once you take a moment to consider your long list of tasks, you'll start to notice trends. The important part is to categorize your tasks based on two criteria:
(1) Group together all tasks that utilize the same data source. For example, checking someone's previous purchases (customer service) and completing a refund for that same person (also customer service) necessitate having the same access to the payment processor.
(2) Group together all tasks that are normally handled by an individual who has the same job title. For example, writing and publishing a blog post, as well as crafting and publishing a social media tweet for the same content, would generally be done by a person with the job title of "Content Creator." Group similar capabilities into distinct buckets.
Step 3: Assessing the Natural Separation of your Buckets.
Having created your Buckets, now determine how they will divide into Departments. This is where you establish how each of your Buckets will contain a specific boundary for your Company.
You may discover that one bucket is dedicated to Customer Interactions (Ex. Support Ticket, Live Chat) while another bucket is dedicated to Internal Operations (Ex. Meeting Summary, File Organization). There may also be a third bucket that only creates (Ex. Writing Copy, Creating Images).
By figuring out the Natural Separation of your Buckets, you are also creating the "Departments" of your AI System.
At this last and most essential stage, grouping similar competencies into distinct agents is essential.
Each of the buckets you’ve grouped has now had a dedicated, highly specialized AI Agent created for it.
So rather than having one god-like agent who does everything for you now you have a team. You have an Inventory Agent that only does one thing and that is to query your database and report back stock levels; you have a Triage Agent that was designed solely to read inbound customer email messages and route them to the appropriate agent; you have a Customer Service Agent whose only duty is to correspond with the user in a courteous manner.
When a customer sends an email requesting a refund, the Triage Agent reads the email, determines it is a refund request and then summons the Customer Service Agent. The Customer Service Agent will then reach out to the Inventory Agent for the order details. The Inventory Agent and Customer Service Agent then collaborate to resolve the issue through the seamless exchange of information.
The Influence of the Multi--Agent System
If you focus on developing organizational structure as opposed to developing "God agents" you will develop greatly improved outcomes.
First:
The accuracy of your system will increase dramatically. A "Customer Service Agent" has one job, one set of rules therefore it can concentrate on its primary objective of providing a good customer experience. It is not attempting to simultaneously juggle a Python application with a customer who is upset at the same time.
Second:
It is much easier to debug the system. In a single "God agent" architecture, when logic fails for one agent, you must sift through hundreds of lines of prompts to find where logic failed. In a multi agent system architecture you will know exactly which agent to blame and you can update the specific logic for that agent and not have to touch any of the other agents.
Lastly:
A multi-agent system is highly scalable. If you want to add a new feature, for example you want the AI to begin posting to Twitter, you will not need to rewrite your entire multi-agent prompt. You simply hire the new "employee" that is a "Social Media Agent", introduce that agent to all other agents and program that agent to have access to your Twitter API.