title: Agents description: Understanding the multi-agent system
Agent System
Cuttlefish uses specialized agents for different tasks, each optimized for its role through category-based model routing.
Core Agents
Orchestrator
Receives requests, creates task plans, and coordinates other agents.
- Category:
deep - Model: Claude Sonnet 4.6 (recommended)
- Role: Strategic planning and task decomposition
Coder
Writes code, executes commands, and modifies files in the sandbox.
- Category:
deep - Model: Claude Sonnet 4.6 (recommended)
- Role: Implementation and execution
Critic
Reviews code, runs tests, and approves or rejects changes.
- Category:
unspecified-high - Model: Configurable (Claude Sonnet 4.6 or Opus 4.6)
- Role: Quality assurance and validation
Workflow
The system implements a Planner → Coder → Critic loop:
1. User sends request
↓
2. Orchestrator analyzes and creates plan
↓
3. Coder implements changes in sandbox
↓
4. Critic reviews code and runs tests
↓
5. If approved: commit and push
If rejected: loop back to step 3
Future Agents (v1.1+)
- Planner: Creates strategic implementation plans (
ultrabraincategory) - Explorer: Searches codebases and finds patterns (
quickcategory) - Librarian: Finds documentation and retrieves external resources (
quickcategory) - DevOps: Handles builds, deployments, and infrastructure (
unspecified-highcategory)
Category-Based Model Routing
Each agent category maps to an optimal model:
[categories]
deep = "claude-sonnet-4-6"
quick = "claude-haiku-4-5"
ultrabrain = "claude-opus-4-6"
unspecified-high = "claude-sonnet-4-6"
This allows you to:
- Use fast models for quick tasks (save costs)
- Use powerful models for complex reasoning
- Optimize each agent independently
- Switch models without changing agent code
Sandbox Isolation
Each agent runs in an isolated Docker container:
- No cross-contamination: Projects don't interfere with each other
- Resource limits: CPU, memory, and disk quotas per container
- Network access: Can install packages and clone repositories
- Automatic cleanup: Stale containers are removed automatically