The Anthony Nicholas Group (ANG) is home to Fraser Hart and Fields the Jeweller, with a legacy...
Agentic AI in Action: How Smarter Systems Solve Bigger Problems
Like most things in AI, this sounds like a daunting topic, but it’s not. However, before we get into how to architect smart systems,
let's first cover what an AI agent is and what Agentic AI is.
Large language models (LLM’s) are amazing, but on their own, their use cases are very limited, they’re just super intelligent chat bots. To do something useful, we need to give the LLM tools to interact with the world around them and some direction in what task we want them to complete. This is the essence of an AI agent. It’s a program (usually in Python) that combines a set of prompts to direct the LLM, and a set of tools to help it achieve the goals we set.
AI agents are amazingly powerful. We can build some cool things like support desk triage agents, agents to answer the phone, or expert systems to help professionals. But they do have limits. As tasks get more complex, and the number of tools the agent needs and rules it needs follow increase, the room for error grows—and the agent becomes less able to get the task right.
This is where Agentic AI, or multi-agent systems comes to the rescue. We break up the more complex tasks into smaller, more manageable tasks, and create an agent for each. And this is where we (finally) get to the topic of this blog. How we combine those agents, and get them to work together to achieve the ultimate goal. There are currently four commonly used patterns for designing cooperation and task management amongst our agents.
Orchestration
In this pattern, a single agent coordinates the workflow between multiple agents. It’s usually simple to build and works well when there’s a clear sequence of tasks to complete. The orchestration agent hands things off to other agents, which do their part and send the results back. But because everything depends on that one agent managing the process, it can hit performance bottlenecks and creates a single point of failure.
Collaboration
Collaboration boosts agent autonomy and lets things run in parallel. Simply put, you break the problem into smaller tasks and give them to agents to work on independently. It works especially well for research tasks, where each agent can focus on a specific topic. Most collaborative patterns still need some elements of orchestration—like router agents to decide who gets what, and summary agents to pull everything together into one output.
Router
Router collaboration relies on each agent performing a particular task, then passing processing on to another agent. A single agent may have several options as to which agent to pass to next. In this way we effectively engineer a decision tree. This pattern lends itself well to situations where some initial classification is required, before performing one of several diverse tasks.
Publish and Subscribe
This pattern borrows from publish and subscribe patterns in traditional software engineering. An agent performs its task, then publishes a notification and its results. One or more subscriber agents can respond to that event, taking those results and performing a subsequent task. This pattern promotes scalability and flexibility, there’s no need to change an agent when you add or remove a subscriber. It’s ideal in scenarios where multiple, diverse tasks are required when a particular event occurs.
None of these patterns are new or unique to AI. They are tried and tested architectures from traditional automation and software design. They give us proven ways to structure how AI agents work together. Picking the right pattern really matters—it depends on how the agents need to interact, how complex the task is, and how tightly things need to be coordinated. Whether you go for tight control or loose collaboration, using the right setup helps you build smarter, more effective systems.