Multi-agent and A2A
Sometimes one agent is the wrong shape and you want several specialists that coordinate. This lesson is mostly judgment: when multi-agent helps versus when it just adds cost, latency, and failure modes. A2A (agent-to-agent) is the emerging way agents talk across system boundaries.
When multi-agent actually helps
- Roles are genuinely separable (research vs write vs review) with different tools or prompts.
- You need isolation: one agent's context should not pollute another's.
- You want parallel work that a single serial loop would stretch out.
When it does not
Most problems do not need multiple agents. A single agent with clear tools often beats a "team" of vague specialists. Multi-agent adds handoff bugs, duplicated context, and harder evals. Default to one agent until roles force a split.
Patterns to know
Orchestrator + specialists
One coordinator delegates; specialists do not talk to the user. Common in LangGraph and ADK multi-agent setups.
Router
A classifier sends the request to one of several agents. Simple and often enough.
A2A across boundaries
Agents in different apps or orgs collaborate via a shared protocol, not just functions in one process.
LangGraph vs ADK for multi-agent
Google ADK: higher-level multi-agent and A2A primitives aimed at production agent teams on Gemini - this is the default assignment stack and the Week 3 live lab. LangGraph: you draw the graph (supervisor node, specialist nodes, edges) with full control and more wiring - strong alternative when you want explicit graph control. Use ADK for the Session 3 homework unless you have a clear reason to ship LangGraph instead.
Watch out
Common mistakes
- Spawning five agents because it sounds impressive.
- No clear ownership of the user-facing reply.
- Skipping evals on handoffs (the place multi-agent usually breaks).