A month ago I published "After OpenCode, OpenClaw Feels Brain-Dead" and said OpenClaw had no sub-agents, no parallel task execution, and was stuck with one session forever. I was wrong about the first two. I stand by the third.
What I Got Wrong
"It is NOT a multi-agent system (no sub-agent orchestration, no parallel task execution)"And in the comparison table:
Sub-agents: ❌ No parallel agentsThis was factually incorrect. OpenClaw has had sub-agents since at least v2026.2, and the parallel execution system is actually well-designed. Here's what's been sitting in my config this entire time:
Json
{
"agents": {
"defaults": {
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
}
}
The Architecture I Missed
Text
┌─────────────────────────────────────────────────┐
│ Gateway Process │
│ │
│ ┌──────────────────┐ ┌──────────────────────┐ │
│ │ Main Lane │ │ Sub-agent Lane │ │
│ │ concurrency: 4 │ │ concurrency: 8 │ │
│ │ │ │ │ │
│ │ session:main ─► │ │ subagent:uuid-1 ─► │ │
│ │ session:work ─► │ │ subagent:uuid-2 ─► │ │
│ │ session:proj ─► │ │ subagent:uuid-3 ─► │ │
│ │ (queued...) │ │ ...up to 8 parallel │ │
│ └──────────────────┘ └──────────────────────────┘ │
└─────────────────────────────────────────────────┘
Quick clarification: "main lane = 4" caps concurrently executing main-agent tasks, not the number of sessions you can have. You can keep dozens of sessions sitting around; only 4 actively run at once.The sessions_spawn tool is the key:
Text
/subagents spawn default "Research the top 5 MCP servers" --model qwen3.5-plus
- Runs in its own isolated session
- Gets its own context and token budget
- Announces results back to the parent when done
- Can be killed, inspected, or steered mid-flight
Text
Main Agent
└─► Orchestrator Sub-agent (depth 1)
├─► Worker A (depth 2)
├─► Worker B (depth 2)
└─► Worker C (depth 2)
So Why Didn't I Find It?
1. The TUI Hides Everything
2. The Docs Are Fragmented
3. The Default Config Doesn't Advertise
Receipts: I Actually Ran It
Review note: Screenshot pending before final publish. Expected final asset: /images/blog/openclaw-parallel-retraction/openclaw-subagents-2026-04-26.png.
Text
✓ webchat:g-agent-main-c-20260406-011348
Subagent: research-aider
Subagent: research-opencode
Subagent: research-claude-code
Subagent: research-continue
> Subagent: research-cursor ← clickable, switchable
webchat:g-agent-main-main
openclaw-tui
OpenClaw has parallelism. It really spawns. The orchestrator pattern works. But the default sub-agent runtime is brittle enough that you won't feel the parallelism unless you tune timeouts and tool permissions. Which, again, no normal user will discover.The original review said "no parallel execution." That was wrong. But the spirit of the complaint — I never felt parallelism in normal use — turns out to be partially correct, for a different reason than I originally thought.
What I Still Got Right
Bash
alias cmain='openclaw tui --session main --thinking high'
alias cwork='openclaw tui --session work --thinking high'
alias cproj='openclaw tui --session project --thinking high'
The Broader Lesson
Updated Comparison
| OpenClaw | OpenCode | |
|---|---|---|
| Multi-session | ⚠️ Via CLI flags/aliases | ✅ Built-in UI |
| Sub-agents | ✅ sessions_spawn (up to 8) | ✅ Parallel explore/librarian |
| Orchestrator pattern | ✅ maxSpawnDepth: 2 | ✅ Via OMOC system prompt |
| Sub-agent reliability | ⚠️ Default timeout/tools too tight (4/5 timed out in my test) | ✅ Inherits parent's MCP/tools, completion stable |
| Discoverability | ❌ Hidden in docs + config | ✅ First-class in UI + prompt |
| Autonomy | ⚠️ Cautious, asks before acting | ✅ Aggressive, acts then reports |
Errata
"no sub-agent orchestration, no parallel task execution"→ OpenClaw has sessions_spawn, a dedicated sub-agent queue lane with configurable concurrency, and nested orchestrator support."Sub-agents: ❌ No parallel agents"→ Should be ✅ with the caveat that it's tool-level, not UI-level.- Half-correct: "I never felt parallelism in normal use" → The capacity is real (verified with the 5-subagent test above), but default sub-agent timeouts/tools make long-running parallel tasks unreliable enough that you won't notice them working. The feeling was right; the diagnosis was wrong.
一个月前我发了篇《用惯了 OpenCode,OpenClaw 真降智》,说 OpenClaw 没有子 Agent、没有并行任务执行、永远只有一个对话。前两条我说错了。第三条我坚持。
我说错了什么
"不是多 Agent 系统(没有子 Agent 编排,没有并行任务执行)"对比表里:
子 Agent:❌ 没有并行 Agent这是事实性错误。OpenClaw 至少从 v2026.2 就有子 Agent 了,而且并行执行系统设计得其实不错。下面这段一直在我的配置文件里:
Json
{
"agents": {
"defaults": {
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
}
}
我漏掉的架构
Text
┌─────────────────────────────────────────────────┐
│ Gateway 进程 │
│ │
│ ┌──────────────────┐ ┌──────────────────────┐ │
│ │ 主车道 │ │ 子 Agent 车道 │ │
│ │ 并发数: 4 │ │ 并发数: 8 │ │
│ │ │ │ │ │
│ │ session:main ─► │ │ subagent:uuid-1 ─► │ │
│ │ session:work ─► │ │ subagent:uuid-2 ─► │ │
│ │ session:proj ─► │ │ subagent:uuid-3 ─► │ │
│ │ (排队中...) │ │ ...最多 8 个并行 │ │
│ └──────────────────┘ └──────────────────────────┘ │
└─────────────────────────────────────────────────┘
顺手澄清一下:"主车道 = 4" 限的是同时执行的主 Agent 任务数,不是你能开几个 Session。Session 数量没有上限,但同时在跑的最多 4 个。核心工具是 sessions_spawn:
Text
/subagents spawn default "调研排名前 5 的 MCP 服务器" --model qwen3.5-plus
- 在自己的隔离 Session 里运行
- 有独立的上下文和 Token 预算
- 完成后向父级汇报结果
- 运行中可以被终止、查看或引导
Text
主 Agent
└─► 编排子 Agent(深度 1)
├─► 工人 A(深度 2)
├─► 工人 B(深度 2)
└─► 工人 C(深度 2)
那我当初为什么没发现?
1. TUI 把一切藏起来了
2. 文档太碎片化
3. 默认配置不做宣传
真凭实据:我亲自跑了一次
Review note: 截图待补后再正式发布。最终资产应放在 /images/blog/openclaw-parallel-retraction/openclaw-subagents-2026-04-26.png。
Text
✓ webchat:g-agent-main-c-20260406-011348
Subagent: research-aider
Subagent: research-opencode
Subagent: research-claude-code
Subagent: research-continue
> Subagent: research-cursor ← 可点击切换
webchat:g-agent-main-main
openclaw-tui
OpenClaw 有并行。子 Agent 真的能 spawn。编排模式真能跑。但默认子 Agent 运行时脆到,除非你调超时和工具权限,否则你感觉不到并行。而这个,普通用户照样不会发现。原文说「没有并行执行」是错的。但抱怨的精神内核——我在正常使用里从来没感觉到并行——结果部分正确,只是原因和我当初以为的不一样。
我说对了什么
Bash
alias cmain='openclaw tui --session main --thinking high'
alias cwork='openclaw tui --session work --thinking high'
alias cproj='openclaw tui --session project --thinking high'
更大的教训
更新后的对比
| OpenClaw | OpenCode | |
|---|---|---|
| 多 Session | ⚠️ 需要 CLI 参数/别名 | ✅ 内置 UI |
| 子 Agent | ✅ sessions_spawn(最多 8) | ✅ 并行 explore/librarian |
| 编排模式 | ✅ maxSpawnDepth: 2 | ✅ 通过 OMOC 系统 Prompt |
| 子 Agent 可靠性 | ⚠️ 默认超时/工具太紧(实测 5 个里 4 个超时) | ✅ 继承父级 MCP/工具,完成率稳定 |
| 可发现性 | ❌ 藏在文档+配置里 | ✅ UI + Prompt 一等公民 |
| 自主性 | ⚠️ 谨慎,行动前先问 | ✅ 激进,先干后报告 |
勘误
"没有子 Agent 编排,没有并行任务执行"→ OpenClaw 有 sessions_spawn,有专用子 Agent 队列车道(可配置并发数),有嵌套编排支持。"子 Agent:❌ 没有并行 Agent"→ 应该是 ✅,但附注:是工具级的,不是 UI 级的。- 半对:"我在正常使用里从来没感觉到并行" → 容量是真的(前面 5 子 Agent 实测验证过),但默认超时/工具配置让长任务并行不可靠到——你感觉不到它在工作。我的感觉是对的,归因是错的。