What you will be able to do
- Design a coordinator that chooses which subagents to invoke from the query instead of always running the full pipeline
- Partition research scope across subagents so their work neither overlaps nor leaves gaps
- Describe the loop in which a coordinator evaluates synthesis, re-delegates targeted work and decides when coverage is sufficient
1.Pick subagents to fit the query
A coordinator that sends every query through every subagent is just a fixed pipeline. What makes orchestrator-workers worth its cost is that "subtasks aren't pre-defined, but determined by the orchestrator based on the specific input." The cookbook makes the same point from the other side. Don't use the pattern when "Subtasks are predictable and can be pre-defined (use simpler parallelization)".
In the Agent SDK, you give the coordinator the information it needs to choose through the agents parameter. Each AgentDefinition carries a description, which the docs define as a "Natural language description of when to use this agent". The coordinator reads these descriptions to decide which spoke fits the request. The parent also needs the Agent tool to delegate at all.
| Field | Required | Role in coordination |
|---|---|---|
| description | Yes | Tells the coordinator when to use this agent; the basis for choosing a subagent |
| prompt | Yes | The subagent's system prompt, which defines its role and behavior |
| tools | No | Restricts the subagent to specific tools; if omitted, it inherits every tool available to subagents |
| model | No | Overrides the model for this subagent, e.g. 'sonnet', 'haiku' or 'inherit' |
| maxTurns | No | Caps agentic turns; output at the limit is marked partial and the agent can be resumed |
Checkpoint 1 of 7· Fill the gap
The parent agent below must be able to delegate to the subagents defined under agents. Which tool completes the auto-approved list?
options: {
// Auto-approve these tools
allowedTools: ["Read", "Grep", "Glob", " ? "],
agents: {
"code-reviewer": {
// description tells Claude when to use this subagent
description:
"Expert code review specialist. Use for quality, security, and maintainability reviews.",Claude invokes subagents through the Agent tool. Without it in the allowed tools, the parent cannot delegate to the code-reviewer it defines.
Source: code.claude.comChoosing which subagents to use also means choosing how many. Anthropic reports that early versions of its research system were "spawning 50 subagents for simple queries". The fix was in the prompts. Agents found it hard to judge how much effort a task needed, "so we embedded scaling rules in the prompts." A simple factual question might need one subagent. A broad comparison justifies many. The cost is real either way. Anthropic's guidance puts multi-agent implementations at "3-10x more tokens" than single-agent approaches for equivalent tasks.
Checkpoint 2 of 7· Exam question
An architect delegates a task to a subagent using the Agent tool, expecting it to reference a decision the user made three turns earlier in the main conversation about which authentication provider to use. The subagent's response ignores that decision entirely and proposes a different provider. What is the most likely cause, and how should the architect fix it?
Correct answer: C — The subagent's context starts fresh each call, so the decision must be included directly in the Agent tool's prompt text
- A. Subagents don't cache or partially load prior turns; they simply never receive the parent conversation at all, so there is no stale copy to resume.
- B. Tool permissions govern which actions a subagent can take, not whether it receives conversation history, so widening tool access would not surface the missing decision.
- C. Correct. A subagent's context window starts fresh and does not automatically inherit the parent's conversation history, so any needed decisions must be passed explicitly in the Agent tool's prompt string.
- D. A custom system prompt defines the subagent's role and expertise; it doesn't override user decisions, and disabling it would remove needed specialization without fixing the missing context.
Checkpoint 3 of 7· Check yourself
A coordinator runs the same five subagents (search, analysis, fact-check, synthesis, citation) for every query, including one-line factual lookups. What is the best redesign?
The value of an orchestrator comes from deciding subtasks at runtime from the input. Running a fixed pipeline on simple lookups wastes tokens without improving the answer.
“subtasks aren't pre-defined, but determined by the orchestrator based on the specific input.”Source: platform.claude.com
2.Divide the scope with no overlaps or gaps
Fanning out works best for breadth. Anthropic found multi-agent research "excel especially for breadth-first queries that involve pursuing multiple independent directions simultaneously." Managed Agents describes the same pattern: "Fan out independent subtasks simultaneously (searching multiple sources, analyzing separate files) and have the coordinator synthesize the results." Coverage is the whole point, so how the coordinator divides the work decides how good the result is. The skeleton below shows the steps: decompose into facets, research them concurrently, then synthesize.
async def research_topic(query: str) -> dict:
# Lead agent breaks query into research facets
facets = await lead_agent.decompose_query(query)
# Spawn subagents to research each facet in parallel
tasks = [
research_subagent(facet)
for facet in facets
]
results = await asyncio.gather(*tasks)
# Lead agent synthesizes findings
return await lead_agent.synthesize(results)Decomposition can fail in two directions. Anthropic's lead agent first gave short instructions such as 'research the semiconductor shortage'. The subagents misread the task or ran the same searches. In one case, "one subagent explored the 2021 automotive chip crisis while 2 others duplicated work investigating current 2025 supply chains". Three agents covered two narrow slices of the topic and left the rest of it untouched. The source states the general failure plainly: "Without detailed task descriptions, agents duplicate work, leave gaps, or fail to find necessary information." The sources describe this as poor division of labour, meaning both overlap and missed ground. They don't separately measure the case of a plan that is too narrow.
The remedy is to give each subagent a distinct piece, such as its own subtopic or its own source type, and to spell out where its piece ends. Anthropic says "Each subagent needs an objective, an output format, guidance on the tools and sources to use, and clear task boundaries." Because subagents start with fresh context, the boundaries have to be written into the task. A subagent cannot see what the others were assigned.
Checkpoint 4 of 7· Check yourself
A coordinator sends three subagents the same instruction: 'research the semiconductor shortage.' Two of them return near-identical findings on current supply chains. Which change best addresses the root cause?
The duplication comes from vague, overlapping delegation. Distinct objectives and boundaries divide the work properly. Sharing context between subagents goes against the isolation the pattern relies on.
“Each subagent needs an objective, an output format, guidance on the tools and sources to use, and clear task boundaries.”Source: www.anthropic.com
3.Repeat until coverage is sufficient
A coordinator doesn't have to stop after one round of fan-out. In Anthropic's research system the lead researcher runs an iterative loop. It plans and saves the plan to memory, because a context window that grows too large gets truncated. Then it creates subagents with specific research tasks. They search, evaluate the results and report back. The lead agent then synthesizes and judges the result: it "decides whether more research is needed—if so, it can create additional subagents or refine its strategy." Only "Once sufficient information is gathered" does it leave the loop and hand everything to a CitationAgent.
This is what refinement means for a coordinator. It reviews the synthesis for gaps and sends targeted queries to search and analysis subagents. Then it runs synthesis again. The loop needs a stopping rule, because one of the failures Anthropic observed was "agents continuing when they already had sufficient results."
Checkpoint 5 of 7· Put it in order
Put the lead researcher's loop in order
- 1.Exit the loop and pass all findings to the CitationAgent
- 2.Think through the approach and save the plan to Memory
- 3.Subagents search, evaluate results and return findings
- 4.Create subagents with specific research tasks
- 5.Synthesize results and decide whether more research is needed
Planning comes first, then delegation and the return of findings. The synthesize-and-decide step either goes back to delegation or ends the loop, and citation runs only after the loop has ended.
“Once sufficient information is gathered, the system exits the research loop and passes all findings to a CitationAgent”Source: www.anthropic.com
How a coordinator goes back to a subagent depends on the platform. In Managed Agents, "Threads are persistent: the coordinator can send a follow-up to an agent it called earlier, and that agent retains everything from its previous turns." A targeted follow-up can therefore build on what that subagent already found. In the Agent SDK, a subagent stopped by its maxTurns limit returns output "marked as partial, and you can resume the agent to continue." The coordinator can check for that marker before it decides the coverage is complete.
Checkpoint 6 of 7· Exam question
A coordinator for a market-research assistant splits the broad query 'analyze the competitive landscape for electric vehicle charging networks' into narrow subtasks like 'find charger connector types' and 'list charging speeds,' each assigned to a separate subagent. The synthesized report ends up missing pricing models, regulatory incentives, and major competitors entirely. What went wrong?
Correct answer: D — The coordinator decomposed the query too narrowly, so the subtasks covered only a few facets and left broad areas uncovered
- A. The scenario describes subagents accurately answering their narrow assigned subtasks; the problem is which subtasks were assigned, not their ability to search for information.
- B. Nothing in the scenario indicates a timing or synchronization issue; the subagents' assigned subtasks themselves never covered pricing, incentives, or competitors.
- C. The two subtasks described are distinct, not duplicated, so overlapping effort isn't what caused the missing coverage.
- D. Correct. Overly narrow task decomposition by the coordinator leaves broad research topics incompletely covered, since the chosen subtasks addressed only a slice of the competitive landscape.
Checkpoint 7 of 7· Check yourself
A coordinator's synthesis covers three of the five subtopics a user asked about. What should the coordinator do next?
The coordinator evaluates the synthesis, spawns additional subagents or refines its strategy for the gaps, and leaves the loop only when coverage is sufficient.
“decides whether more research is needed—if so, it can create additional subagents or refine its strategy.”Source: www.anthropic.com
Exam traps
Each one states something that sounds right. Open it to see what is actually true.
1.A well-built coordinator should route every query through the full set of subagents so that no step is ever skipped.Why is that wrong?
The orchestrator decides subtasks at runtime from the input. When subtasks are predictable, the cookbook recommends simpler parallelization instead.
Covered in Pick subagents to fit the query
2.A short topic-level instruction is enough for each subagent, because capable models will divide the work among themselves.Why is that wrong?
Vague delegation caused duplicated searches and missed ground. Each subagent needs explicit boundaries and an objective of its own.
Covered in Divide the scope with no overlaps or gaps
Sources
Every claim above is drawn from one of these pages, quoted as it was written on the date shown.
- 1.https://code.claude.com/docs/en/agent-sdk/subagentsOfficial docs
“Natural language description of when to use this agent”
↩︎ Pick subagents to fit the query“marked as partial, and you can resume the agent to continue.”
↩︎ Repeat until coverage is sufficient - 2.
“Agents struggle to judge appropriate effort for different tasks, so we embedded scaling rules in the prompts.”
↩︎ Pick subagents to fit the query“spawning 50 subagents for simple queries”
↩︎ Pick subagents to fit the query“one subagent explored the 2021 automotive chip crisis while 2 others duplicated work investigating current 2025 supply chains”
↩︎ Divide the scope with no overlaps or gaps“excel especially for breadth-first queries that involve pursuing multiple independent directions simultaneously.”
↩︎ Divide the scope with no overlaps or gaps“agents continuing when they already had sufficient results”
↩︎ Repeat until coverage is sufficient“Without detailed task descriptions, agents duplicate work, leave gaps, or fail to find necessary information.”
↩︎ Exam trap 2“Each subagent needs an objective, an output format, guidance on the tools and sources to use, and clear task boundaries.”
↩︎ Checkpoint“Once sufficient information is gathered, the system exits the research loop and passes all findings to a CitationAgent”
↩︎ Checkpoint“decides whether more research is needed—if so, it can create additional subagents or refine its strategy.”
↩︎ Checkpoint - 3.
“3-10x more tokens”
↩︎ Pick subagents to fit the query“The primary benefit of parallelization is thoroughness, not speed.”
↩︎ Prediction - 4.
“Fan out independent subtasks simultaneously (searching multiple sources, analyzing separate files) and have the coordinator synthesize the results.”
↩︎ Divide the scope with no overlaps or gaps“Threads are persistent: the coordinator can send a follow-up to an agent it called earlier, and that agent retains everything from its previous turns.”
↩︎ Repeat until coverage is sufficient
Also cited
“Subtasks are predictable and can be pre-defined (use simpler parallelization)”
↩︎ Exam trap 1“subtasks aren't pre-defined, but determined by the orchestrator based on the specific input.”
↩︎ Checkpoint