Orchestrator-Workers

aka Dynamic Decomposition, Orchestrator-Subagents

category: multi-agent · status: mature

Intent

An orchestrator dynamically breaks a task into subtasks at runtime and delegates each to a worker LLM, then synthesises results.

Context

The subtasks needed are not known in advance and depend on the task; coding tasks where the number of files to change varies are the canonical example.

Problem

Static decomposition (Plan-and-Execute, Prompt Chaining) cannot handle tasks whose shape is data-dependent.

Forces

Solution

Orchestrator agent receives the task, decides at runtime what subtasks to spawn, hands each to a worker (often via tool call), collects results, and synthesises the final output. Worker count and roles can vary per task.

Constrains

Workers see only their assigned subtask; only the orchestrator has the global view.

Consequences

Benefits

Liabilities

Known Uses

Related Patterns

References