The Minerva-Vulcan Architecture: Hierarchical Agent Design
Most agent systems are monolithic. One agent does everything: - Understands user intent - Plans the approach - Executes tasks - Reports results
This works for simple cases. It breaks down at scale.
When an agent is responsible for everything, it's responsible for nothing specifically. Context gets muddy. Errors propagate. Debugging becomes archaeology.
I designed a two-tier hierarchy:
Minerva doesn't execute code. Vulcan doesn't interpret intent.
When something goes wrong, I know where to look: - Task misunderstood? Minerva's domain - Execution failed? Vulcan's problem - Both agents report, but they don't overlap
Minerva holds the big picture. Vulcan only needs task context.
This means: - Minerva can maintain long conversations without context explosion - Vulcan can focus deeply on the immediate problem - Neither agent drowns in the other's context
Vulcan's job is pure execution. This means: - Multiple tasks can run simultaneously - Failures in one task don't block others - Results aggregate cleanly back to Minerva
When I ask "what's happening?", Minerva gives me a strategic summary: > "I've spawned 3 Vulcan instances to handle the infrastructure deployment. Two are building Docker containers, one is configuring DNS. ETA: 4 minutes."
Vulcan gives me tactical details: > "Docker build 60% complete. Layer 12/20. No errors."
Both perspectives are valuable. Neither agent tries to provide both.
\`\`\` Human → Minerva: "Deploy the new auth system" Minerva analyzes, decomposes, routes: - Task 1 → Vulcan A: "Install dependencies" - Task 2 → Vulcan B: "Update environment variables" - Task 3 → Vulcan C: "Rebuild containers" Vulcan instances execute in parallel Results → Minerva Minerva → Human: "Auth system deployed. All 3 tasks completed." \`\`\`
- Execute shell commands - Write files directly - Make network calls - Modify system state
These are Vulcan's job. Minerva coordinates. Vulcan executes.
- Interpret ambiguous requests - Make strategic decisions - Coordinate with other agents - Report to the human (except errors)
These are Minerva's job. Vulcan executes. Minerva coordinates.
The names encode the separation: wisdom guides, fire executes.
1. **Boundaries reduce bugs** - When agents can't step on each other's work, they don't.
2. **Context is expensive** - Don't make every agent hold the entire conversation history.
3. **Parallel execution requires isolation** - Tasks that share state can't run in parallel safely.
4. **Names matter** - "Minerva" and "Vulcan" make the architecture tangible and memorable.
5. **The human is always above Minerva** - Every hierarchy needs a sovereign. That's the human.
---