Overview
The Hierarchical Pattern extends the Supervisor Pattern to support large-scale, multi-domain agent systems. Like organizational hierarchies in enterprises, it creates layers of delegation and abstraction.
Architecture
┌──────────────────┐
│ Executive Agent │
│ (Strategist) │
└────────┬─────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Finance │ │Engineering│ │ Customer │
│ Manager │ │ Manager │ │ Manager │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
┌─┴─┐ ┌─┴─┐ ┌─┴─┐
│ │ │ │ │ │
A1 A2 A3 A4 A5 A6
Key Benefits
Domain Isolation
Each manager agent encapsulates domain-specific knowledge and tools, preventing cross-domain complexity leakage.
Scalability
Add new domains by creating new manager branches without modifying the executive level.
Access Control
Higher levels can enforce data access policies—finance agents see financial data, not customer PII.
Failure Containment
Failures in one branch don't cascade to others unless escalated.
Hierarchy Levels
Executive Level
- Strategic decision-making
- Cross-domain coordination
- Resource allocation
- Escalation handling
Manager Level
- Domain-specific orchestration
- Tool and data access within domain
- Team coordination
- Result aggregation
Worker Level
- Specialized task execution
- Single-purpose agents
- Minimal decision-making
Implementation Patterns
Top-Down Delegation
# Executive delegates to appropriate manager
if task.domain == "finance":
result = await finance_manager.handle(task)
elif task.domain == "engineering":
result = await engineering_manager.handle(task)
Bottom-Up Escalation
# Worker escalates when uncertain
if confidence < threshold:
return await self.escalate_to_manager(task, context)
Anti-Patterns
Too Deep
More than 3-4 levels creates communication overhead and latency. Flatten where possible.
Manager Bottleneck
If a single manager coordinates too many workers, consider splitting the domain.
Missing Skip-Level
Sometimes workers need direct executive access for urgent issues.
Enterprise Considerations
A "supervisor of supervisors" architecture enables:
- Division-scoped data and tool access control
- Flexibility in agent development and deployment
- Broad "Ask Me Anything" capabilities with appropriate routing