aka Dynamic Decomposition, Orchestrator-Subagents
An orchestrator dynamically breaks a task into subtasks at runtime and delegates each to a worker LLM, then synthesises results.
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.
Static decomposition (Plan-and-Execute, Prompt Chaining) cannot handle tasks whose shape is data-dependent.
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.
alternative-to → supervisoralternative-to → plan-and-executegeneralises → subagent-isolationgeneralises → lead-researchercomplements → inter-agent-communicationgeneralises → hierarchical-agentscomplements → dynamic-expert-recruitmentgeneralises → agent-as-tool-embedding