Orchestration Patterns

The exam tests one orchestration pattern: hub-and-spoke. Learn why all communication routes through the coordinator and why coverage gaps always trace back to its decomposition.

Lesson 2 of 307% of the guide
Prefer to learn by doing?

The CCAR-F exam focuses on exactly one multi-agent orchestration pattern: hub-and-spoke. A central coordinator (the hub) manages every interaction with specialized subagents (the spokes). The coordinator decomposes the task, selects which subagents to invoke, passes each one explicit context, aggregates their results, and applies uniform error handling. Subagents only ever talk to the coordinator - never to each other.

The cardinal rule: all communication flows through the coordinator

Subagents never communicate directly with one another - not for efficiency, not for convenience, not for any reason. Centralizing every message through the coordinator buys three things that a mesh of chatty agents cannot provide:

  • Observability - one place to log and monitor every interaction.
  • Consistent error handling - the coordinator applies uniform recovery policies.
  • Controlled information flow - the coordinator decides exactly what context each subagent receives.
Direct inter-subagent communication is always wrong

An answer that proposes two subagents talking to each other to "save a round trip" is a distractor. It breaks observability, consistent error handling, and controlled information flow. All communication must route through the coordinator, regardless of the efficiency argument.

How subagents exchange information
Don't

Letting the research subagent hand its output straight to the synthesis subagent to "save a round trip." This mesh destroys observability, uniform error handling, and controlled information flow.

Do

Every message routes through the coordinator. It receives each subagent's result, decides what the next subagent needs, and passes only that - one place to log, recover, and control what each spoke sees.

Subagent isolation

This is the single most misunderstood idea in multi-agent systems. Subagents do not automatically inherit anything from the coordinator. There is no shared memory, no global state, and no cross-invocation history.

  • No automatic context inheritance - subagents do not receive the coordinator's system prompt, its conversation history, or other subagents' results.
  • No cross-invocation memory - calling the same subagent twice gives the second call zero knowledge of the first.
  • Explicit context passing is mandatory - every fact a subagent needs must be written into its prompt by the coordinator.

What the coordinator owns

ResponsibilityWhat it means
Dynamic subagent selectionInvoke only the subagents a query actually needs - do not always run the full pipeline.
Research scope partitioningGive each subagent a distinct, non-overlapping assignment to avoid duplication.
Iterative refinementEvaluate output for gaps and re-delegate until coverage is sufficient - not single-shot.
Centralized routingPass all information between subagents through the coordinator.

The narrow-decomposition failure mode

This is the pattern the exam tests most. Suppose a system researching "the impact of AI on creative industries" produces a report thorough on visual arts but silent on music, writing, and film. The instinct is to blame the search or synthesis subagents - but they performed perfectly on what they were assigned. The failure originates in the coordinator's decomposition. The coordinator only assigned visual arts, so nothing else was ever researched.

Coverage gaps trace to decomposition, not subagents

When a multi-agent system produces a report that misses entire categories, do not blame the subagents - check the coordinator's decomposition. Incomplete scope (breadth) almost always traces back to how the coordinator split the work. The fix is better decomposition logic, not more subagents.

More subagents will not fix bad decomposition

If the coordinator carves a topic too narrowly, adding subagents just spawns more workers with equally narrow assignments. Improve the coordinator's decomposition breadth instead.

# Coordinator decomposes BREADTH-FIRST, then partitions scope.
subtopics = decompose(topic)  # e.g. ["solar", "wind", "geothermal",
                              #       "tidal", "biomass", "fusion"]

# Each subagent gets a DISTINCT, non-overlapping assignment plus
# explicit context - it inherits nothing automatically.
findings = []
for sub in subtopics:
    result = coordinator.invoke_subagent(
        agent="web_search",
        prompt=f"Research {sub} within: {topic}. Context: {shared_context}",
    )
    findings.append(result)

# Iterative refinement: re-delegate for any gaps before synthesizing.
while has_coverage_gaps(findings, subtopics):
    findings += coordinator.refill_gaps(findings, subtopics)

How the exam will try to trick you

The distractors below look right under time pressure — learn the tell.

  1. The trap

    A report covers only solar and wind, so the search or synthesis subagents must have failed.

    Correct answer

    The coordinator's decomposition was too narrow - it never assigned the missing subtopics.

    Why: Subagents only research what they are given; if geothermal and tidal were never assigned, no subagent could cover them.

  2. The trap

    Subagents automatically inherit the coordinator's conversation history and system prompt.

    Correct answer

    Subagents have fully isolated context - every needed fact must be passed explicitly.

    Why: There is no shared memory; a subagent sees only what the coordinator writes into its prompt.

  3. The trap

    Let two subagents talk directly to each other to save a coordinator round trip.

    Correct answer

    Route all communication through the coordinator, whatever the efficiency argument.

    Why: Direct messaging breaks observability, uniform error handling, and controlled information flow.

  4. The trap

    Fix a too-narrow report by adding more subagents.

    Correct answer

    Improve the coordinator's decomposition breadth.

    Why: More workers just receive equally narrow assignments - the scope problem lives in the coordinator, not the count.

Key takeaways

  • Hub-and-spoke is the only orchestration pattern the CCAR-F exam tests.
  • All communication flows through the coordinator; subagents never talk to each other.
  • Subagent isolation means no inherited system prompt, history, or shared memory - context must be passed explicitly.
  • The coordinator owns decomposition, subagent selection, scope partitioning, and iterative refinement.
  • Coverage gaps (missing categories) trace to the coordinator's decomposition, not subagent quality.
  • Adding more subagents does not fix narrow decomposition - fix the coordinator's logic.

Frequently asked questions

What is hub-and-spoke orchestration in Claude multi-agent systems?+

It is an architecture where a central coordinator agent (the hub) manages all communication with specialized subagents (the spokes). The coordinator decomposes tasks, selects and invokes subagents, passes explicit context, and aggregates results; subagents only communicate with the coordinator.

Why do subagents not share context in a hub-and-spoke system?+

Each subagent runs in an isolated context window and receives only what the coordinator writes into its prompt. This isolation keeps information flow controlled and observable, but it means the coordinator must explicitly pass every fact a subagent needs.

Why does a multi-agent report miss whole topics even when every subagent worked well?+

Because the coverage gap comes from the coordinator's decomposition. If the coordinator only assigned a narrow set of subtopics, the other areas were never researched - the subagents can only cover what they are assigned.

Practice makes pass

Ready to test what you just learned?

Reading gets you familiar — answering questions gets you certified. Jump into free practice or sit a full timed mock exam, scored 100–1000 just like the real thing.

No sign-up required · Explanation for every answer · Works offline