Appearance
Map an org chart onto the runtime — orchestrator routes, lead delegates, worker executes — stop at depth-2, never deeper.
Pattern
Agent Delegation Hierarchy
The shape
Three layers. Two delegation hops. No more.
Layer 0 — user
Human
user prompt
↓
Layer 1 — routing
Orchestrator
Opus
classify · route
↓
Layer 2 — delegation
Planning Lead
Opus
↓
PM
UX Researcher
Engineering Lead
Opus
↓
Frontend Dev
Backend Dev
Validation Lead
Opus
↓
QA
Security Reviewer
depth-2 · hard cap
Workers are Sonnet and domain-locked via per-file permissions. Leads never execute; orchestrators never write code. The division is rigid by design.
Who does what
Three roles, three non-overlapping jobs.
ORCHESTRATOR
Opus
Owns the decision
Which team owns this request?
- ✓Classify user intent
- ✓Route to one lead
- ✗Never writes code
- ✗Never executes
TEAM LEAD
Opus
Owns the decision
Which worker, with what context?
- ✓Delegate sub-tasks
- ✓Synthesize returns
- ✗Never executes directly
- ✗Never bottlenecks work
WORKER
Sonnet · domain-locked
Owns the artifact
Read the task. Produce the output.
- ✓Execute one task
- ✓Return one artifact
- ✗No cross-domain writes
- ✗No further delegation
A lead that writes code becomes a worker — and the hierarchy inverts. Domain locking is the runtime enforcement that keeps the division from collapsing under pressure.
The depth rule
Two hops is the sweet spot. Not one. Not three.
Delegation depth
hops from user prompt to worker
TOO FLAT
✓ DEPTH-2
TOO DEEP
depth-0depth-1depth-2depth-3+
✗ Too flat (d ≤ 1) Omnibus agent plans, builds, tests, reviews in one context. Quality drops as debug chatter fills the window.
✓ Sweet spot (d = 2) Orchestrator routes, lead delegates, worker executes. Each layer holds one concern. Context stays clean.
✗ Too deep (d ≥ 3) Each layer adds latency. Worker ends up two hops from the user — the request gets paraphrased twice before arrival.
The cost of a layer is paraphrase plus latency. Two layers pay for themselves in routing quality; a third just costs you the user's original wording.
What breaks if you violate the shape
Three failure modes. All collapse the division of labor.
✗Omnibus agent
User → Agent
(plans · builds · tests · reviews)
Context fills with debug chatter. Late-turn quality drops. No specialist perspective — just one agent wearing every hat.
✗Flat N-worker
User → [W₁, W₂, W₃, … W_n]
(no orchestrator, no routing)
No router, so workers duplicate or argue. N² coordination edges. Nobody owns "which worker takes this?" — so everyone does, badly.
✗Depth-3+ stack
User → Orch → Dir → Lead → Worker
(extra middle management)
Each hop paraphrases the request. By the time it reaches the worker, the original wording is gone. Latency and context-loss dominate.
Every anti-pattern has the same root: a layer doing the wrong job. An orchestrator that codes, a worker with no lead, a middle manager inserted "for structure." The shape is load-bearing.
The discipline
Routing, delegation, execution — three jobs, three layers, never merged.
Depth-2 is the contract. Orchestrators don't code; leads don't execute; workers don't route. Collapse a layer and quality dies in context pollution. Add a layer and quality dies in paraphrase. The shape is the answer.