Jorge Laurel

Lesson 6: Agentic Systems, When Agents Work Together

Writing·Jorge Laurel · ·5 min read

Lesson 6: Agentic Systems, When Agents Work Together


A note on this series. This is written for beginners, on purpose. I’m keeping explanations at a practical, conceptual level rather than a technical one. Several ideas here are described in generic terms rather than their full technical depth. The goal of these seven lessons is to demystify AI agents enough that the hype becomes understandable and ideally to spark enough curiosity that you go looking for the deeper technical material afterward.


Everything so far has described a single agent: one model, running one loop, calling tools as needed. That’s plenty for a lot of tasks. For some complex agentic tasks in 2026, developers are experimenting with multiple agents working together, and this lesson explains why and how that coordination happens.

Why one agent isn’t always enough

A single agent trying to handle a complex multi-part task such s “research five competitors, compare their pricing, draft a report, and flag anything that needs legal review” tends to run into the same problem a single overworked employee would. It has to remember too much context at once and quality drops as the task grows. Splitting the work across specialized agents like one that researches, one that compares, one that writes, and one that reviews for risk, reflects how a human team would naturally divide the work.

A 2026 prediction piece from NexGen Architects put it directly: single agents don’t scale execution on their own, they scale confusion when you just add more of them without real coordination (NexGen Architects, 2026).

Two ways to organize multiple agents

Broadly, multi-agent systems get built one of two ways.

Role-based teams. Agents are defined like team members, each with a role, a goal, and a set of tools, and they hand off tasks to each other in something like a conversation. CrewAI is a popular framework built around this model. You describe a “researcher” agent and a “writer” agent, and they collaborate the way a small team would.

Graph-based orchestration. Instead of role-play, the workflow is modeled explicitly as a flowchart. Nodes are steps, edges define what happens next, and the system can branch, loop back, and pause for a human to approve something before continuing. LangGraph is a popular framework in this style, particularly for developers who want explicit control over state, branching, and long-running workflows, and it’s become popular specifically because that explicit structure makes it easier to debug and audit what a long-running agent actually did (Langfuse, 2026).

Neither approach is objectively better. Role-based teams are faster to prototype and feel more natural for tasks that map cleanly onto job roles. Graph-based systems take more upfront design but give tighter control over exactly what happens when something goes wrong, which matters more once a system moves from a demo into something people actually rely on.

The wider framework landscape

Beyond CrewAI and LangGraph, the field is crowded and moving fast, worth knowing so you don’t assume the two biggest names are the only options. Microsoft’s AutoGen is also a multi-agent framework. Separately, AG2 emerged from the original AutoGen 0.2 codebase as a community led continuation under different governance. Both focus on multi agent applications, but they are now separate projects.

Smaller, more specialized tools are carving out real niches too. Hugging Face’s Smolagents aims for the simplest possible single-agent setup, Mastra brings agent orchestration to TypeScript developers rather than the Python-dominated mainstream, and general workflow-automation platforms like n8n have become a genuinely popular. n8n is a useful example of an AI-enabled automation workflow, and it can become agentic when the model is given enough latitude to decide what to do next rather than simply following a fixed sequence.

For a novice, the honest takeaway is that no framework is “the” standard yet. The right one depends on whether the work maps to defined roles, needs precise branching control, or just needs a quick automation glued together without much code.

The coordination problem is the hard part

Adding more agents doesn’t automatically add capability. Without shared context and clear handoff rules, multiple agents can duplicate work, contradict each other, or lose track of the overall goal, the same coordination failures a poorly managed human team runs into. This is the gap that protocols like A2A, introduced in Lesson 5, are meant to standardize, giving agents from different systems a common way to hand off tasks and status instead of everyone inventing their own format.

More agents is not automatically better

The cost $$ side deserves a direct look because most framework marketing skips it. Every additional agent in a system adds tokens, latency, and a new place for something to go wrong. Every additional agent adds more calls, coordination, context management, and potential failure points. In a sequential pipeline, that can also increase latency. Multi-agent design earns its complexity when specialization, parallel work, or isolation provides a real benefit. It’s a poor default for a task, that a single agent, with the right tools can already handle. The question to ask before reaching for a framework is whether the task needs more than one agent at all.

What to carry into Lesson 7

  • Multi-agent systems split complex work across specialized agents, the way a team divides labor.
  • Role-based frameworks (CrewAI) and graph-based frameworks (LangGraph) represent two different philosophies, not a strict hierarchy.
  • The framework landscape is wide and still shifting; picking one is a means to an end, not the goal itself.
  • More agents means more cost, more latency, and more failure surface. Reach for multi-agent design when the task earns it, not by default.

Last lesson, we bring all six ideas together with concrete, real-world shaped examples of what a working agentic system looks like end to end.