You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a follow-up to #1493 (software-layer Agent Swarm). While #1493 provides immediate value, this RFC proposes a native architecture for true multi-agent parallel execution using process isolation and message passing.
Goal: Transform nanobot from single-agent to multi-agent orchestrator without breaking existing skills.
Motivation
Current limitations of single-agent architecture:
No true parallelism: All tool calls block each other
Context pollution: One complex task crowds out previous context
No fault isolation: One failed tool crashes entire session
/blackboard/{session_id}/
├── context.md # Shared context
├── findings/ # Researcher deposits here
├── designs/ # Architect deposits here
├── critiques/ # Critic deposits here
└── final/ # Coordinator synthesizes here
Execution Flow
User Request
↓
[Orchestrator] Decompose into subtasks
↓
[Task Queue] Assign to agents
↓
[Agent A] ──┐
[Agent B] ──┼──► [Blackboard] ◄── [Orchestrator] ──► Final Response
[Agent C] ──┘ ↑
(continuous updates)
Implementation Phases
Phase 1: Subprocess Workers (MVP)
No Docker dependency
Python multiprocessing for isolation
SQLite message queue
Timeline: 2-3 weeks
Phase 2: Docker Isolation
Each agent in container
Shared volume for blackboard
Redis message bus option
Timeline: 4-6 weeks
Phase 3: Distributed (Future)
Multiple machines
Kubernetes orchestration
Timeline: Not in scope
Backward Compatibility
# Existing skills work unchangedclassLegacySkill:
defexecute(self, **kwargs): # Still workspass# New swarm-aware skills can opt-inclassSwarmSkill:
asyncdefexecute(self, context: SwarmContext):
# Can access other agents, publish to blackboardpass
Summary
This is a follow-up to #1493 (software-layer Agent Swarm). While #1493 provides immediate value, this RFC proposes a native architecture for true multi-agent parallel execution using process isolation and message passing.
Goal: Transform nanobot from single-agent to multi-agent orchestrator without breaking existing skills.
Motivation
Current limitations of single-agent architecture:
Proposed Architecture
Core Components
1. Agent Worker Process (Docker/Subprocess)
2. Message Bus (IPC)
3. Task Queue & Scheduler
4. Blackboard Pattern
Shared workspace for agent collaboration:
Execution Flow
Implementation Phases
Phase 1: Subprocess Workers (MVP)
Phase 2: Docker Isolation
Phase 3: Distributed (Future)
Backward Compatibility
Trade-offs
Recommendation
Open Questions
Labels
rfc, architecture, enhancement, help wanted
Related: #1493 (software-layer alternative), YourBot multi-bot collaboration
Credit: Inspired by TinyClaw's TUI dashboard, NanoClaw's container security, and OpenAI's Swarm framework.