Separation of Agents
Computer Science1 has a design principle known as the "Separation of Concerns". This principle results in a codebase design where each “code chunk” is dedicated to achieve a specific functionality. Some of the rationale in support of this design principle may include:
- Easier to build larger systems
- Easier to debug systems
- Easier to abstract systems
- Easier to build as communities
Generally, larger codebases require larger communities of programmers to maintain, modify, increase and/or decrease the functionality of a software system. Therefore, the separation of concerns may have also been motivated by the increase in confidence that individual programmers can quickly learn, gain context, develop skills, and impact positive change.
Similarly, a separation of concerns may be extended to a separation of agents.
Here is an example, take a look at the website “Some Pizza in SG”. For the purposes of this example, assume that the website’s owner is using the following agent workflow technology stack:
- Provider: Google
- Model: Gemini 3 Flash
- Harness: Google Antigravity2, 3, 4
Next, here is what a single agent prompt may look like for creating “Some Pizza in SG”.
Create a website, like nobody’s done before, Some Pizza in SG, that gets all the pizza menu
items in Singapore, and then attracts millions and millions of daily active users. Make no
mistakes.
However, the single agent prompt will likely not work. A series of separate, distinct agent prompts are needed. To illustrate, here are some of the agent prompts needed:
- Data collection: Retrieving a URL to pizza restaurant
- Data collection: Retrieving a URL to a pizza restaurant’s menu(s)
- Data collection: Saving a copy of the menu
- Data analysis: Extracting menu’s pizza(s) information
- Data validation: Checking for accuracy and comprehensiveness
- Website front end management: Overseeing user experience related software engineering
- Website back end management: Data handling related software engineering, and website hosting related software engineering
The separation of agents may result in an increase in coordination related costs. As a result, tools and/or processes will be needed to make program management even more effective.