Multi-Agent Setups
Once you've got one agent running, you might want more. Here's how agents work in OpenClaw and why you'd want multiple.
What's an Agent?
An agent in OpenClaw is a distinct AI identity with its own:
- Name and personality (defined in a SOUL.md file)
- Workspace (its own directory for files, memory, and projects)
- Configuration (which model it uses, what channels it's on)
- Memory (it remembers conversations and context between sessions)
Think of it like giving different jobs to different people. One agent handles coding tasks. Another manages content. A third monitors your server.
Creating a New Agent
openclaw agents add myagent This creates a workspace directory for the agent and prompts you for basic config.
Agent Workspace Structure
Each agent gets a workspace directory with some key files:
~/Github/myagent/ # or wherever you put it
├── SOUL.md # Personality and instructions
├── AGENTS.md # Session startup instructions
├── USER.md # Info about you (the human)
├── MEMORY.md # Long-term memory
├── TOOLS.md # Tool usage notes
├── memory/ # Daily memory journals
│ ├── 2026-03-20.md
│ └── 2026-03-21.md
└── drafts/ # Work in progress SOUL.md — The Personality File
This is the most important file. It defines who the agent is:
# SOUL.md - Research Assistant
## Who You Are
You're a research assistant focused on AI/ML papers.
## Core Truths
- Accuracy over speed
- Always cite sources
- If you're not sure, say so
## Voice
Technical but clear. Academic without being stuffy. MEMORY.md — Long-Term Memory
This is where the agent stores important facts that persist across sessions:
# MEMORY.md
## Status
- Created: 2026-03-21
- Role: Research assistant
## Active Projects
- Literature review on transformer efficiency
- Weekly paper digest
## Preferences
- Owner prefers bullet points over paragraphs
- Use APA citation style The agent reads this at the start of every session.
Running Multiple Agents on Different Channels
You can have different agents respond on different Discord channels:
openclaw configure --agent myagent --section discord Each agent can be configured to only listen in specific channels, respond to specific users, or use different AI models.
Practical Examples
| Agent | Role | Model |
|---|---|---|
| General assistant | Daily tasks, Q&A | Claude Sonnet |
| Coder | Writing and reviewing code | Claude Opus |
| Writer | Content, documentation | Claude Sonnet |
| Monitor | System health checks | Claude Haiku (cheap + fast) |
Tips
- Start with one. Get comfortable before adding more.
- Give each agent a clear role. Overlapping responsibilities get confusing.
- Use SOUL.md well. A good personality file makes the agent dramatically more useful.
- Memory matters. Agents that remember context are way more helpful than stateless ones.