Pattern: Orchestrator-Workers

Pattern: Orchestrator-Workers

Category: Orchestration Source: Internal usage (CEO focus groups), FOR-0012 Status: Active

When to Use

When a central agent needs to coordinate multiple specialist agents, deciding which ones to invoke, synthesizing their outputs, and driving toward a unified result. Best when the coordinator needs judgment about who to consult and in what order.

How It Works

  • An orchestrator agent receives a task or question
  • It analyzes the task and determines which specialist workers are relevant
  • It invokes each worker (sequentially or in parallel), providing tailored context
  • Workers return their outputs to the orchestrator
  • The orchestrator synthesizes results, resolves conflicts, and produces a final deliverable
  • Shared resources (memory, artifacts, version control) may be used across workers

Example

The CEO focus group command: Oscar (CEO) receives a strategic topic, identifies which specialist roles are relevant (reading their role.md and agent.md), synthesizes each specialist's likely perspective based on their responsibilities, identifies agreements and conflicts, and proposes a unified path forward. The CEO orchestrates — the specialists do the domain thinking.

Tradeoffs

Pro Con
Specialists stay focused on their domain Orchestrator is a single point of failure
Dynamic — orchestrator decides who to invoke at runtime Setup complexity: each worker needs clear boundaries
Scales by adding more workers without changing the orchestrator Coordination overhead grows with worker count
Enables separation of concerns Orchestrator needs enough context to route well

Factory Usage

  • CEO focus groups (departments/executive/ceo-oscaragent.md): Oscar orchestrates cross-team discussions by consulting specialist roles.
  • CEO decision-making: Oscar gathers specialist input before making strategic calls.
  • Production Line assembly: Pablo coordinates across Ada (patterns), Elena (architecture), Clara (tooling) when designing a line.