Skip to content

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.