Multi-Agent Orchestration: Hub-and-Spoke

Estimated time: 30 minutes

A single agent works for narrow tasks. The moment a task spans multiple domains or requires investigation across distinct knowledge areas, you need multi-agent orchestration. The hub-and-spoke pattern is the dominant CCAF model: one coordinator decomposes work, dispatches to subagents, and aggregates results.

Why Hub-and-Spoke?

Subagents have isolated context. They do not see the coordinator's conversation history. This is a feature, not a bug — it keeps each subagent's context window focused on its specific subtask. The coordinator's job is to bridge those isolated contexts: decomposing the user request into focused subtasks, delegating to subagents, evaluating their results, and synthesizing a unified answer.

The Coordinator's Four Responsibilities

  1. Task decomposition. Take the user request and break it into subtasks that minimize duplication and cover the full scope. A common failure mode is overly narrow decomposition — for example, decomposing "creative industries" into only visual arts subtopics, missing music, writing, and film.
  2. Delegation. Pick the right subagent for each subtask. Spawning the wrong subagent or routing through the full pipeline when only one subagent is needed both waste tokens and clarity.
  3. Result aggregation. Receive subagent outputs, evaluate quality, and weave them into a coherent response.
  4. Gap evaluation. If subagent results are incomplete, re-delegate. The coordinator runs an iterative refinement loop, not a single-shot pipeline.

All Communication Through the Coordinator

Subagents do not talk to each other directly. Every inter-subagent dependency is mediated by the coordinator. This serves two purposes: observability (a single source of truth for what's happening) and error handling (the coordinator can catch a failed subagent's output and route around it).

Common Decomposition Mistakes

  • Overly narrow scope. The classic exam example: decomposing "research the music industry" into only "rock music, pop music, hip-hop" — missing classical, jazz, electronic, and the broader business of music.
  • Always routing through every subagent. If a user asks a question that only requires the legal-research subagent, don't dispatch to legal, financial, AND technical subagents. Dynamic dispatch saves tokens and focuses outputs.
  • Sequential when parallel is possible. Independent subtasks should run in parallel — emit multiple Task tool calls in a single coordinator response.

Skills to Develop

  1. Write coordinator prompts that include research goals and quality criteria, not step-by-step instructions. The coordinator decides how to decompose, given goals.
  2. Identify decomposition gaps by checking whether the union of subtasks fully covers the user's request.
  3. Detect when a subagent's results need iterative refinement vs when they're complete enough.
Exam tip: If a multi-agent system gives incomplete coverage, the most likely root cause is the coordinator's task decomposition, not subagent quality. Look for gaps where a subtopic was omitted.