Start with a deterministic workflow or one agent. Move to multiple agents only when the work decomposes into stable responsibilities that need distinct context, tools, permissions, or parallel execution—and when you can evaluate every handoff.
Multi-agent is an architecture decision, not a capability badge. It adds model calls, coordination state, security boundaries, failure modes, latency, and cost.
The decision tree
Can code or a fixed workflow reliably choose the steps?├── Yes → use the deterministic workflow.└── NoCan one agent solve it with a bounded, understandable tool set?├── Yes → use one agent.└── NoAre responsibilities separable with explicit input/output contracts?├── No → simplify the task or improve context/tool retrieval.└── YesDo roles need isolated permissions/context, or useful parallel work?├── No → keep one agent with modules or retrieved tools.└── Yes → test a multi-agent design against the single-agent baseline.
The baseline matters. Without it, a larger system can look more sophisticated while performing the same task more slowly and less reliably.
Architecture scorecard
Score each row 0 (no), 1 (sometimes), or 2 (clearly). A high score justifies an experiment, not automatic adoption.
| Question | Evidence for multiple agents |
|---|---|
| Task separability | Roles produce independently testable deliverables |
| Context interference | One context window mixes domains or instructions and degrades results |
| Tool specialization | Roles require materially different tool sets |
| Permission isolation | A role must not inherit another role’s credentials or write access |
| Parallelism | Independent branches shorten the measured critical path |
| Failure isolation | One role can fail or retry without restarting the task |
| Handoff evaluation | Inputs, outputs, and acceptance criteria are machine-checkable |
| Economics | Quality gain exceeds extra calls, tokens, and operational cost |
Interpretation:
- 0–4: use a workflow or single agent.
- 5–10: improve the single-agent design and prototype one extracted role.
- 11–16: a multi-agent evaluation is reasonable.
Permission isolation is especially strong evidence. A research role that only reads external sources should not share the credentials of a publishing role. Separate runtimes can make that boundary enforceable—but only if the orchestrator does not simply pass every credential to every worker.
When one agent wins
One agent is usually better when the task is cohesive, the tool set is small, and one context is enough. It offers:
- fewer model calls and less coordination latency;
- one trace and simpler replay;
- fewer prompts and interfaces to version;
- easier evaluation of the final behavior;
- less risk of duplicated or conflicting side effects.
If one prompt is overloaded by many tools, retrieve only the relevant tool definitions before creating a society of agents. The agent tool design guide explains how names, schemas, permissions, and errors reduce selection ambiguity.
When multiple agents earn their overhead
Multiple agents can help when a coordinator delegates to specialized roles with stable boundaries. Common cases include:
- independent research branches that can run in parallel;
- separate domain experts whose contexts would interfere;
- planner, executor, and verifier roles with different permissions;
- long tasks whose stages need isolated state and recovery;
- systems that route distinct user intents to independently owned services.
Do not confuse several prompts in a fixed pipeline with autonomous collaboration. A deterministic planner–executor–validator workflow may be the clearer design.
Google Cloud’s architecture guidance recommends beginning with a single agent, then considering multiple agents as tool choice and task complexity grow. Its multi-agent reference architecture uses a coordinator plus specialized subagents, with sequential and iterative patterns. Those are patterns to evaluate, not proof that every complex task needs delegation.
Define the handoff contract
Every delegation should be a typed, observable interface:
{"task_id": "task_842","objective": "Compare the two deployment options","inputs": [{"source_id": "doc_17", "version": "v3"}],"allowed_tools": ["document_read"],"deadline_ms": 4000,"budget_usd": 0.08,"output_schema": "comparison_v2","acceptance_checks": ["citations_resolve", "no_external_claims"]}
The receiving agent should return a terminal status, structured output or error, evidence references, resource use, and retry safety. Natural-language “go research this” messages are difficult to authorize, evaluate, and resume.
Account for system cost and latency
For a single agent, cost is roughly the sum of its model and tool calls. For multiple agents, add coordination, duplicated context, evaluators, retries, and speculative branches:
Cost_task = coordinator + Σ(agent calls + tools + evaluation + retries)
Parallel branches may reduce wall-clock time, but they do not make the work free. Sequential delegation increases the critical path. Put both designs through the LLM latency budget worksheet and compare cost per successful task, not cost per model call.
Failure modes to test
- routing to the wrong role;
- delegation loops or premature termination;
- lost constraints or evidence during handoff;
- conflicting conclusions with no resolution rule;
- duplicated side effects after a retry;
- a coordinator exceeding the worker’s permissions;
- independent agents consuming the same budget simultaneously;
- a correct final answer produced through a prohibited trajectory.
Trace every handoff and score both the outcome and path. The agent failure taxonomy helps locate the earliest broken contract instead of blaming whichever agent returned last.
Promotion gate
- A deterministic or single-agent baseline exists.
- Each role has one owned responsibility.
- Handoffs have schemas, deadlines, budgets, and acceptance checks.
- Credentials and tool permissions are least-privilege per role.
- Loops, retries, and side effects have hard bounds.
- Evaluation covers routing, handoffs, trajectories, and outcomes.
- The measured quality gain justifies latency and cost.
- One trace reconstructs the complete distributed task.
Start with the broader production agent design patterns, then use this framework to justify each additional role. JoinAI’s AI Engineer MasterClass teaches these tradeoffs through production projects rather than orchestration demos.




