Multi-Agent Collaboration
Status: Not Implemented
OpenViber currently uses a single-agent architecture. A single well-configured agent with skills is sufficient for most use cases. This document describes potential future multi-agent patterns if needed.
Current Architecture
OpenViber follows a single-agent model:
┌─────────────────────────────────────────────────────────────┐
│ Human (Manager) │
│ "Build a landing page with a contact form" │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Viber (Single Agent + Skills) │
│ Plans work, uses tools, executes with skill knowledge │
└─────────────────────────────────────────────────────────────┘ Why Single Agent?
For the stateless daemon architecture:
- Simplicity: One agent with appropriate skills handles most tasks
- Stateless: No coordination state to maintain between agents
- Context efficiency: Single agent means single context window
- Sufficient capability: Skills provide domain knowledge; tools provide actions
When Multi-Agent Might Be Needed
| Scenario | Single Agent Solution | When Multi-Agent Helps |
|---|---|---|
| Different domains | Add skills for each domain | Domains require conflicting behaviors |
| Parallel work | Sequential execution | True parallelism on independent subtasks |
| Review/QA | Self-review prompts | Formal separation of concerns |
Future Multi-Agent Patterns
If multi-agent is implemented in the future:
Pattern 1: Specialist Delegation
Viber (Orchestrator)
├── Developer Agent (coding skill)
├── Reviewer Agent (review skill)
└── Designer Agent (design skill) Pattern 2: Pipeline
Planner → Executor → Verifier → Reporter Implementation Considerations
- Stateless coordination: All state in Viber Board, not daemon
- Context passing: How to share context between agents efficiently
- Cost: Multiple agents = multiple LLM calls
- Complexity: Is it worth the added complexity?
Recommendation
For most use cases, stick with a single agent configured with:
- Clear system prompt defining the role
- Appropriate skills for domain knowledge
- Required tools for actions
- Good working mode (Always Ask / Agent Decides / Always Execute)
Multi-agent should only be considered when there’s a clear benefit that can’t be achieved with skills and tools.