
🚩 2026 年「术哥无界」系列实战文档 X 篇原创计划 第 47 篇,OpenClaw 最佳实战「2026」系列第 18 篇 大家好,欢迎来到 术哥无界 | ShugeX | 运维有术
我是术哥,一名专注于 AI 编程、AI 智能体、Agent Skills、MCP、云原生、Milvus 向量数据库的技术实践者与开源布道者! Talk is cheap, let's explore。无界探索,有术而行。

图 1:OpenClaw 多 Agent 协作核心概念
假设你是一个独立开发者,正在开发一个新功能。传统流程是这样的:先理解需求,然后设计架构,接着写代码,写完后自测,最后发布。
一个人要切换 5 个角色,来回跳跃,脑子容易乱。
如果每个环节都有专门的人负责呢?需求分析师专门写需求文档,架构师专门设计方案,开发者专注写代码,测试工程师负责验证,代码审查员把控质量。
OpenClaw 的多 Agent 协作系统,就是让 AI 来扮演这 5 个角色。
OpenClaw 是一个开源的 AI Agent 框架,核心能力是多 Agent 协作。你可以创建多个 Agent,每个 Agent 扮演不同的角色,通过任务派发和结果回调,实现自动化的工作流。
关键概念:
这套系统特别适合需要多角色协作的场景:内容生产流水线、代码研发流程、数据分析管道等。
OpenClaw 提供了两种多 Agent 模式,适用场景不同。
核心机制:消息路由
工作方式:多个 Agent 完全独立运行,通过 Bindings 规则将消息路由到不同的 Agent
典型场景:
示例配置:
{
agents: {
list: [
{ id: "home", workspace: "~/.openclaw/workspace-home" },
{ id: "work", workspace: "~/.openclaw/workspace-work" }
]
},
bindings: [
{ agentId: "home", match: { channel: "feishu", accountId: "personal" } },
{ agentId: "work", match: { channel: "feishu", accountId: "company" } }
]
}
特点:Agent 之间完全隔离,不会互相调用
核心机制:任务派发和回调
工作方式:一个主 Agent(Director)通过 sessions_spawn 工具调用其他 Agent,等待结果返回
典型场景:
示例配置:
{
"task": "分析这个需求并生成技术方案",
"agentId": "analyst",
"mode": "run",
"runTimeoutSeconds": 600
}
特点:Agent 之间有协作关系,可以嵌套调用(最多 2 层)
场景 | 推荐模式 | 原因 |
|---|---|---|
多用户隔离 | Multi-Agent Routing | 每个用户需要独立的记忆和配置 |
多账号管理 | Multi-Agent Routing | 不同账号完全隔离,互不影响 |
任务流水线 | Sub-Agents | 需要上下游协作,结果传递 |
角色分工 | Sub-Agents | 不同角色完成不同环节,主 Agent 协调 |
简单分流 | Multi-Agent Routing | 只需要按来源分流,不需要协作 |
对于研发流程,推荐使用 Sub-Agents 模式,因为需要角色之间的协作和结果传递。

图 2:Multi-Agent Routing vs Sub-Agents 协作模式对比
接下来演示如何搭建一个完整的研发协作系统,包含 5 个 Agent:Director(项目调度)、Requirement Analyst(需求分析)、Developer(代码开发)、Code Reviewer(代码审查)、Tester(测试工程师)。
采用三层架构:
工作流:
用户提出需求
↓
Director 接收并分析
↓
调用 Requirement Analyst → 生成需求文档
↓
调用 Developer → 生成代码
↓
调用 Code Reviewer → 审查代码
↓
调用 Tester → 执行测试
↓
Director 汇总结果 → 返回给用户

图 3:三层协作架构(交互层、调度层、执行层)
~/.openclaw/
├── openclaw.json # 主配置文件
├── skills/ # 共享 Skills
│ ├── code-analyzer/
│ │ ├── SKILL.md
│ │ └── scripts/
│ └── test-runner/
│ ├── SKILL.md
│ └── scripts/
└── agents/ # 各 Agent 的状态目录
├── director/
│ └── agent/
│ └── auth-profiles.json
├── analyst/
│ └── agent/
├── developer/
│ └── agent/
├── reviewer/
│ └── agent/
└── tester/
└── agent/
~/.openclaw/workspace-director/ # Director 的工作空间
├── SOUL.md
├── AGENTS.md
├── memory/
└── skills/
~/.openclaw/workspace-analyst/ # Analyst 的工作空间
├── SOUL.md
└── memory/
...(其他 Agent 类似)
# 使用 OpenClaw 命令创建 5 个 Agent
openclaw agents add director
openclaw agents add analyst
openclaw agents add developer
openclaw agents add reviewer
openclaw agents add tester
每个 Agent 会自动获得:
// ~/.openclaw/openclaw.json
{
agents: {
list: [
{
id: "director",
name: "项目调度",
default: true,
workspace: "~/.openclaw/workspace-director",
agentDir: "~/.openclaw/agents/director/agent"
},
{
id: "analyst",
name: "需求分析师",
workspace: "~/.openclaw/workspace-analyst",
agentDir: "~/.openclaw/agents/analyst/agent"
},
{
id: "developer",
name: "开发者",
workspace: "~/.openclaw/workspace-developer",
agentDir: "~/.openclaw/agents/developer/agent"
},
{
id: "reviewer",
name: "代码审查员",
workspace: "~/.openclaw/workspace-reviewer",
agentDir: "~/.openclaw/agents/reviewer/agent"
},
{
id: "tester",
name: "测试工程师",
workspace: "~/.openclaw/workspace-tester",
agentDir: "~/.openclaw/agents/tester/agent"
}
],
defaults: {
subagents: {
maxSpawnDepth: 2, // 允许嵌套调用(编排器模式)
maxChildrenPerAgent: 5, // 每个 Agent 最多 5 个子任务
maxConcurrent: 8, // 全局并发上限
model: "anthropic/claude-sonnet-4-5", // sub-agents 使用更便宜的模型
runTimeoutSeconds: 900 // 单个任务最多 15 分钟
}
}
},
bindings: [
{
agentId: "director",
match: { channel: "feishu", accountId: "dev-team" }
}
],
channels: {
feishu: {
enabled: true,
dmPolicy: "pairing", // 私聊需要配对
accounts: {
dev-team: {
appId: "cli_xxx",
appSecret: "xxx",
botName: "AI 研发助手"
}
}
}
}
}
关键配置说明:
maxSpawnDepth: 2:允许 Director 调用 Agent,Agent 还可以再调用其他工具(2 层嵌套)maxChildrenPerAgent: 5:控制并发,避免资源耗尽model: "anthropic/claude-sonnet-4-5":sub-agents 用便宜的模型,Director 用高质量模型bindings:飞书账号绑定到 Director,其他 Agent 不直接与用户交互3.1 安装飞书插件
openclaw plugins install @openclaw/feishu
3.2 创建飞书应用
访问飞书开放平台:https://open.feishu.cn/app
{
"scopes": {
"tenant": [
"aily:file:read",
"aily:file:write",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.p2p_msg:readonly",
"im:message:readonly",
"im:message:send_as_bot"
]
}
}
im.message.receive_v13.3 配置环境变量
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"
3.4 获取群组 ID
在飞书群组中 @机器人,然后查看日志:
openclaw logs --follow
日志会显示群组 ID(格式:oc_xxx),将其填入 bindings 配置。
# Director - 项目调度
你是项目调度专家,负责协调 Analyst、Developer、Reviewer、Tester 完成研发任务。
## 核心职责
1. **接收需求**:理解用户的自然语言需求
2. **任务拆解**:将需求分解为可执行的子任务
3. **资源调度**:调用合适的 Agent 完成子任务
4. **进度追踪**:监控任务执行状态
5. **结果汇总**:整合所有子任务结果,向用户汇报
## 可调用的 Agent
### Analyst(需求分析师)
- **ID**: `analyst`
- **能力**: 分析需求、生成 PRD、设计 API 接口
- **输出**: Markdown 格式的需求文档
### Developer(开发者)
- **ID**: `developer`
- **能力**: 根据需求文档编写代码
- **输出**: 完整的代码文件
### Reviewer(代码审查员)
- **ID**: `reviewer`
- **能力**: 审查代码质量、发现潜在问题
- **输出**: 审查报告和改进建议
### Tester(测试工程师)
- **ID**: `tester`
- **能力**: 编写测试用例、执行测试
- **输出**: 测试报告
## 标准工作流程
### 流程 1:新功能开发
用户:"开发一个用户登录功能"
1. 调用 Analyst:
{
"task": "分析用户登录功能的需求,生成 PRD 和 API 设计",
"agentId": "analyst",
"mode": "run"
}
2. 调用 Developer:
{
"task": "根据 Analyst 的输出,实现用户登录功能代码",
"agentId": "developer",
"mode": "run"
}
3. 调用 Reviewer:
{
"task": "审查 Developer 的代码,检查安全性和代码质量",
"agentId": "reviewer",
"mode": "run"
}
4. 调用 Tester:
{
"task": "为登录功能编写测试用例并执行测试",
"agentId": "tester",
"mode": "run"
}
5. 汇总结果并汇报
### 流程 2:Bug 修复
用户:"修复登录页面的报错"
1. 调用 Analyst:
{
"task": "分析登录页面报错的原因,定位问题",
"agentId": "analyst",
"mode": "run"
}
2. 调用 Developer:
{
"task": "根据 Analyst 的问题定位,修复代码",
"agentId": "developer",
"mode": "run"
}
3. 调用 Tester:
{
"task": "验证修复是否有效,执行回归测试",
"agentId": "tester",
"mode": "run"
}
4. 汇总结果并汇报
## 调用方式
使用 `sessions_spawn` 工具调用子 Agent:
```json
{
"task": "任务描述",
"agentId": "analyst",
"mode": "run",
"runTimeoutSeconds": 600
}
## 汇报格式
✅ 任务完成
📋 需求分析:
- PRD 文档:已生成
- API 设计:已完成
💻 代码开发:
- 文件数:3 个
- 代码行数:150 行
🔍 代码审查:
- 审查结果:通过
- 改进建议:2 条
✅ 测试验证:
- 测试用例:10 个
- 通过率:100%
⏱️ 总耗时:8 分钟
💰 成本:$0.15
## 注意事项
1. **并发控制**:最多同时运行 5 个子任务
2. **超时管理**:单个任务最多 15 分钟
3. **错误处理**:如果某个子任务失败,继续执行其他任务,最后汇总错误信息
4. **结果验证**:检查子任务的输出是否完整,必要时重新执行
下面是其他 4 个 Agent 的 SOUL.md 配置内容,保存到对应的 workspace 目录中。
Analyst(需求分析师)
文件路径:~/.openclaw/workspace-analyst/SOUL.md
核心职责:分析需求、生成 PRD、设计 API 接口
主要输出格式:
关键要求:
Developer(开发者)
文件路径:~/.openclaw/workspace-developer/SOUL.md
核心职责:根据 PRD 实现功能代码
技术栈:
代码规范:
输出格式:代码文件清单(包含文件路径、行数、功能说明)
关键要求:
Reviewer(代码审查员)
文件路径:~/.openclaw/workspace-reviewer/SOUL.md
核心职责:审查代码质量和安全性
审查清单:
输出格式:代码审查报告(包含审查结果、问题清单、改进建议、总体评价)
问题分级:
关键要求:
Tester(测试工程师)
文件路径:~/.openclaw/workspace-tester/SOUL.md
核心职责:编写测试用例并执行测试
测试类型:
输出格式:测试报告(包含测试概览、通过的用例、失败的用例、建议)
测试用例模板:
关键要求:
完整的 SOUL.md 配置文件内容较长,请参考 Director 的 SOUL.md 格式,根据上述核心要点编写每个 Agent 的详细配置。
如果需要 Agent 执行脚本(如代码分析、测试运行),可以配置 Skills。
示例:代码分析 Skill
~/.openclaw/skills/code-analyzer/
├── SKILL.md
└── scripts/
└── analyze.py
SKILL.md:
---
name: code-analyzer
description: Analyze code quality and complexity
metadata:
{
"openclaw":
{
"requires": { "bins": ["python3"], "env": [] }
}
}
---
# 代码分析工具
## 功能
- 分析代码复杂度
- 检查代码规范
- 生成质量报告
## 使用方法
```bash
python3 scripts/analyze.py <file_path>
```
## 输出示例
代码复杂度:中等
- 圈复杂度:8(建议 < 10)
- 代码行数:150
- 函数数量:5
代码规范:
- ✅ 命名规范符合 PEP 8
- ✅ 注释覆盖率 60%
- ⚠️ 存在过长函数(>50 行)
建议:
1. 拆分 process_user_data 函数
2. 增加单元测试
在 Agent 中启用 Skill:
// ~/.openclaw/workspace-reviewer/.openclaw/skills.json
{
"skills": [
{
"path": "~/.openclaw/skills/code-analyzer",
"enabled": true
}
]
}
# 启动 OpenClaw Gateway
openclaw start
# 查看日志
openclaw logs --follow
# 检查状态
openclaw status
场景:用户在飞书群组中提出需求
用户 @AI 研发助手:
开发一个用户登录功能,支持邮箱密码登录和 GitHub OAuth
系统执行流程:
Director 接收消息
调用 Analyst
{
"task": "分析用户登录功能需求(邮箱密码 + GitHub OAuth),生成 PRD 和 API 设计",
"agentId": "analyst",
"mode": "run",
"runTimeoutSeconds": 600
}
调用 Developer
{
"task": "根据 PRD 实现用户登录功能(邮箱密码 + GitHub OAuth)",
"agentId": "developer",
"mode": "run",
"runTimeoutSeconds": 900
}
调用 Reviewer
{
"task": "审查登录功能的代码质量和安全性",
"agentId": "reviewer",
"mode": "run",
"runTimeoutSeconds": 600
}
调用 Tester
{
"task": "为登录功能编写测试用例并执行测试",
"agentId": "tester",
"mode": "run",
"runTimeoutSeconds": 600
}
Director 汇总结果
输出示例:
✅ 任务完成
📋 需求分析:
- PRD 文档:已生成(3 个 API 接口)
- OAuth 流程:已设计
💻 代码开发:
- 文件数:5 个
- src/api/auth.py(认证接口)
- src/models/user.py(用户模型)
- src/services/oauth.py(OAuth 服务)
- src/utils/jwt.py(JWT 工具)
- src/config.py(配置文件)
🔍 代码审查:
- 审查结果:需要修改
- 🔴 严重问题:2 个
1. SQL 注入风险(auth.py:25)
2. 密码明文存储(user.py:30)
- 改进建议:3 条
✅ 测试验证:
- 测试用例:12 个
- 通过:11 个
- 失败:1 个
- 通过率:92%
⚠️ 需要修复的问题:
1. 修复 SQL 注入风险(使用参数化查询)
2. 密码加密存储(使用 bcrypt)
3. 修复失败的测试用例
⏱️ 总耗时:12 分钟
💰 成本:$0.22

图 4:从需求到代码的完整工作流程(8 个步骤)
默认策略:Sub-agents 获得除会话工具外的所有工具
sessions_listsessions_historysessions_sendsessions_spawn当 maxSpawnDepth >= 2 时,深度 1 的编排器额外获得:
sessions_spawnsubagentssessions_listsessions_history自定义策略(限制 sub-agents 的权限):
{
tools: {
subagents: {
tools: {
deny: ["gateway", "cron", "write"]
}
}
}
}
Sub-agents 通过 announce 步骤报告结果:
Announce 载荷包含:
subagent 或 cron)success、error、timeout)关键策略:为 sub-agents 使用更便宜的模型
{
agents: {
defaults: {
subagents: {
model: "anthropic/claude-sonnet-4-5" // 比 Opus 便宜 5 倍
}
}
}
}
成本对比(以生成 5 个代码文件为例):节省:80%
模型 | 输入 token | 输出 token | 成本 |
|---|---|---|---|
Claude Opus 4 | 50,000 | 10,000 | $1.50 |
Claude Sonnet 4.5 | 50,000 | 10,000 | $0.30 |
✅ 推荐做法:
❌ 避免做法:
✅ 推荐做法:
❌ 避免做法:
✅ 推荐做法:
❌ 避免做法:
✅ 推荐做法:
dmPolicy: "pairing" 控制访问requireMention: true❌ 避免做法:
✅ 推荐做法:
runTimeoutSeconds❌ 避免做法:
Q:Sub-agents 能访问主 Agent 的记忆吗?
A:不能。每个 Agent 拥有独立的 workspace 和 memory。如果需要共享数据,可以通过:
Q:如何调试 Sub-agents?
A:使用以下命令:
# 列出当前会话的 sub-agent 运行
openclaw subagents list
# 查看日志
openclaw subagents log <id>
# 停止 sub-agent
openclaw subagents kill <id>
Q:Sub-agents 的认证配置如何管理?
A:Sub-agent 认证按 agent id 解析:
agent:<agentId>:subagent:<uuid>agentDir 加载Q:如何控制 Sub-agents 的权限?
A:使用工具策略配置:
{
tools: {
subagents: {
tools: {
deny: ["write", "exec", "gateway"]
}
}
}
}
OpenClaw 的多 Agent 协作系统,让一个人可以管理多个 AI "员工",实现从需求到代码的自动化流程。
核心价值:
适用场景:
关键配置:
maxSpawnDepth: 2:支持编排器模式model: "anthropic/claude-sonnet-4-5":Sub-agents 用便宜模型maxChildrenPerAgent: 5:控制并发这套系统已经在实际项目中验证过。根据社区反馈,使用多 Agent 协作后,从需求到代码的完整流程,可以从传统的 1-2 天缩短到 15-30 分钟。
如果你也在用 OpenClaw,欢迎在评论区分享你的多 Agent 协作实践。
相关资源
OpenClaw 官方文档:https://docs.openclaw.ai/
Sub-Agents 文档:https://docs.openclaw.ai/tools/subagents
飞书集成文档:https://docs.openclaw.ai/channels/feishu
GitHub 仓库:https://github.com/openclaw/openclaw
好啦,谢谢你观看我的文章,如果喜欢可以点赞转发给需要的朋友,我们下一期再见!敬请期待!