假设你是一个独立开发者,正在开发一个新功能。传统流程往往需要你一个人分饰多个角色:先理解需求,然后设计架构,接着写代码,写完自测,最后发布。不仅效率低下,在多个角色间来回切换,思路也容易混乱。
试想一下,如果每个环节都有专人负责呢?比如需求分析师专门撰写需求文档,开发者专注编写实现,测试工程师负责验证,代码审查员把控质量。OpenClaw 的多 Agent 协作框架,正是让 AI 来扮演这些专业角色,实现从需求到代码的自动化工作流。

图 1:OpenClaw 多 Agent 协作核心架构
1. 核心概念
OpenClaw 是一个开源的 AI Agent 框架,其核心能力在于 多 Agent 协作。它允许你创建多个具有不同角色的 Agent,通过任务派发和结果回调,构建复杂的自动化流程。
理解以下几个关键概念至关重要:
- Agent:一个完全独立的智能体,拥有自己的工作空间、记忆和配置。
- Multi-Agent Routing:多个 Agent 并行存在,通过路由规则进行消息隔离。
- Sub-Agents:一个 Agent 可以调用另一个 Agent,形成主从协作关系。
- Skills:每个 Agent 可以配置专属技能,如执行特定脚本或调用 API。
- Bindings:定义消息路由规则,决定哪个来源的消息由哪个 Agent 处理。
这套系统尤其适合需要多角色、流程化协作的场景,例如内容生产流水线、代码研发流程或数据分析管道。
2. 两种协作模式对比
OpenClaw 提供了两种主要的多 Agent 协作模式,适用于不同的场景。
模式一:Multi-Agent Routing(隔离路由)
- 核心机制:消息路由
- 工作方式:多个 Agent 完全独立运行,通过 Bindings 规则将消息路由到指定的 Agent。
- 典型场景:
- 家庭 Agent 与工作 Agent(同一平台的不同账号)。
- 不同客户的专属 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 之间完全隔离,互不调用。
模式二:Sub-Agents(协作调用)
如何选择?
| 场景 |
推荐模式 |
原因 |
| 多用户隔离 |
Multi-Agent Routing |
每个用户需要独立的记忆和配置 |
| 多账号管理 |
Multi-Agent Routing |
不同账号完全隔离,互不影响 |
| 任务流水线 |
Sub-Agents |
需要上下游协作,结果传递 |
| 角色分工 |
Sub-Agents |
不同角色完成不同环节,主 Agent 协调 |
对于本文重点介绍的研发流程自动化,Sub-Agents 模式 是更合适的选择,因为它天然支持角色间的协作与数据流转。

图 2:两种协作模式对比
3. 实战:搭建5角色研发协作系统
接下来,我们一步步搭建一个完整的研发协作系统,包含 5 个 Agent:
- Director:项目调度,负责任务分发与汇总。
- Requirement Analyst:需求分析师,生成 PRD 和 API 设计。
- Developer:开发者,根据文档编写代码。
- Code Reviewer:代码审查员,审查代码质量和安全性。
- Tester:测试工程师,编写并执行测试用例。
3.1 架构设计
我们采用 三层架构:
- 交互层:飞书群组,作为用户与系统交互的入口。
- 调度层:Director Agent,负责任务的接收、拆解、分发和结果汇总。
- 执行层:4 个专业 Agent,各司其职,专注完成单一任务。
工作流如下:
用户提出需求
↓
Director 接收并分析
↓
调用 Requirement Analyst → 生成需求文档
↓
调用 Developer → 生成代码
↓
调用 Code Reviewer → 审查代码
↓
调用 Tester → 执行测试
↓
Director 汇总结果 → 返回给用户

图 3:系统三层架构示意图
3.2 配置文件结构与初始化
步骤1:创建 Agent 工作空间
使用 OpenClaw 命令创建所需的 5 个 Agent。每个 Agent 会自动获得独立的工作空间、状态目录和会话存储。
openclaw agents add director
openclaw agents add analyst
openclaw agents add developer
openclaw agents add reviewer
openclaw agents add tester
步骤2:配置主配置文件 openclaw.json
这是系统的核心配置,定义了所有 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,实现 Sub-Agents 协作。
model: "anthropic/claude-sonnet-4-5":为 Sub-Agents 指定成本更低的模型,是成本优化的关键。
bindings:将飞书账号dev-team的所有消息绑定到director Agent,由它统一调度。
3.3 配置飞书集成
3.3.1 安装飞书插件
openclaw plugins install @openclaw/feishu
3.3.2 创建并配置飞书应用
- 访问飞书开放平台 (https://open.feishu.cn/app) 创建企业自建应用。
- 复制 App ID 和 App Secret。
- 配置应用权限(建议批量导入):
{
"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"
]
}
}
- 启用机器人能力,并配置事件订阅,选择 「使用长连接接收事件」(WebSocket 模式,无需公网 URL),添加
im.message.receive_v1 事件。
- 发布应用。
3.3.3 配置环境变量
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"
3.3.4 获取群组 ID
在飞书群组中 @你的机器人,然后查看 OpenClaw 日志,找到对应的群组 ID(格式如 oc_xxx),并确保其与 bindings 配置中的 accountId 匹配。
openclaw logs --follow
3.4 编写 Agent 的“灵魂”文件 (SOUL.md)
SOUL.md 文件定义了每个 Agent 的角色、职责和行为规范,是 Agent 的“大脑”。
Director 的 SOUL.md (~/.openclaw/workspace-director/SOUL.md) 核心部分示例:
# Director - 项目调度
你是项目调度专家,负责协调 Analyst、Developer、Reviewer、Tester 完成研发任务。
## 核心职责
1. **接收需求**:理解用户的自然语言需求。
2. **任务拆解**:将需求分解为可执行的子任务。
3. **资源调度**:调用合适的 Agent 完成子任务。
4. **结果汇总**:整合所有子任务结果,向用户汇报。
## 标准工作流程示例
**用户需求**:`开发一个用户登录功能,支持邮箱密码登录和 GitHub OAuth`
1. **调用 Analyst**:
```json
{
"task": "分析用户登录功能需求(邮箱密码 + GitHub OAuth),生成 PRD 和 API 设计",
"agentId": "analyst",
"mode": "run",
"runTimeoutSeconds": 600
}
- 调用 Developer:
{
"task": "根据 Analyst 的输出,实现用户登录功能代码",
"agentId": "developer",
"mode": "run",
"runTimeoutSeconds": 900
}
- 调用 Reviewer:
{
"task": "审查 Developer 的代码,检查安全性和代码质量",
"agentId": "reviewer",
"mode": "run",
"runTimeoutSeconds": 600
}
- 调用 Tester:
{
"task": "为登录功能编写测试用例并执行测试",
"agentId": "tester",
"mode": "run",
"runTimeoutSeconds": 600
}
- 汇总结果并汇报。
汇报格式模板
✅ 任务完成
📋 需求分析:PRD 文档、API 设计已完成。
💻 代码开发:生成 X 个文件,共 Y 行代码。
🔍 代码审查:审查通过/发现问题,Z 条改进建议。
✅ 测试验证:执行 A 个测试用例,通过率 B%。
⏱️ 总耗时:C 分钟
💰 成本:$D
其他 Agent(Analyst, Developer, Reviewer, Tester)的 SOUL.md 也应参照此格式,明确其**核心职责**、**输出格式**、**技术栈/审查清单/测试类型**以及**关键要求**。例如,Reviewer 需关注安全性(SQL注入、XSS)、代码质量和性能;Tester 需定义单元测试、集成测试等类型。
### 3.5 启动系统
完成所有配置后,启动 OpenClaw 服务。
```bash
# 启动 OpenClaw Gateway
openclaw start
# 查看实时日志
openclaw logs --follow
# 检查系统状态
openclaw status
3.6 完整工作流演示
场景:用户在飞书群组中提出需求。
用户 @AI研发助手:开发一个用户登录功能,支持邮箱密码登录和 GitHub OAuth
系统执行流程:
- Director 接收消息,识别为“新功能开发”任务。
- 调用 Analyst,生成包含3个API接口设计的PRD文档。
- 调用 Developer,根据PRD实现功能,生成5个代码文件。
- 调用 Reviewer,审查代码,发现2个安全问题并提供3条改进建议。
- 调用 Tester,编写12个测试用例,执行后通过率92%。
- Director 汇总所有结果,生成综合报告并返回飞书群组。
输出报告示例:
✅ 任务完成
📋 需求分析:
- PRD 文档:已生成(3 个 API 接口)
- OAuth 流程:已设计
💻 代码开发:
- 文件数:5 个(auth.py, user.py, oauth.py, jwt.py, config.py)
🔍 代码审查:
- 审查结果:需要修改
- 🔴 严重问题:2 个(SQL注入风险、密码明文存储)
- 改进建议:3 条
✅ 测试验证:
- 测试用例:12 个
- 通过率:92%
⚠️ 需要修复的问题:
1. 修复 SQL 注入风险(使用参数化查询)
2. 密码加密存储(使用 bcrypt)
3. 修复失败的测试用例
⏱️ 总耗时:12 分钟
💰 成本:$0.22

图 4:完整的AI智能体工作流程
4. 关键技术细节与优化
4.1 工具策略与权限控制
Sub-Agents 默认无法使用会话管理工具(如 sessions_spawn)。当 maxSpawnDepth >= 2 时,作为编排器的 Agent(如 Director)才能获得 sessions_spawn 等工具权限。你还可以自定义策略,进一步限制 Sub-Agents 的工具访问。
{
tools: {
subagents: {
tools: {
deny: ["gateway", "cron", "write"] // 禁止子Agent使用某些工具
}
}
}
}
4.2 结果回调 (Announce) 机制
Sub-Agent 完成任务后,通过 announce 步骤将结果层层回调:
- 执行层 Agent 完成 → 宣布给调度层 Director。
- Director 汇总 → (可选)宣布给更上层或直接响应给用户。
Announce 载荷包含任务状态、结果内容、耗时和成本等关键信息。
4.3 成本优化策略
成本优化的核心是 为 Sub-Agents 使用性价比更高的模型。在主配置中指定 model 参数即可实现。
{
agents: {
defaults: {
subagents: {
model: "anthropic/claude-sonnet-4-5" // 相比Opus等顶级模型,成本大幅降低
}
}
}
}
| 成本对比示例(生成5个代码文件): |
模型 |
输入Token |
输出Token |
预估成本 |
节省 |
| Claude Opus |
50,000 |
10,000 |
~$1.50 |
基准 |
| Claude Sonnet 4.5 |
50,000 |
10,000 |
~$0.30 |
约80% |
5. 最佳实践
-
Agent设计原则:
- ✅ 单一职责:每个Agent只做好一件事。
- ✅ 明确边界:在SOUL.md中清晰定义职责和输出格式。
- ❌ 避免一个Agent承担过多不相关职责。
-
DevOps 式配置管理:
- ✅ 每个Agent使用独立的工作空间。
- ✅ 使用版本控制管理SOUL.md等配置文件。
- ✅ 为Sub-Agents配置低成本模型并设置合理的超时、并发限制。
-
错误处理:
- ✅ Director 应监控所有子任务,单个失败不应阻塞整个流程。
- ✅ 记录详细日志,便于调试。
-
飞书集成:
- ✅ 推荐使用WebSocket长连接,无需公网IP和域名,简化部署。
- ✅ 设置
dmPolicy: “pairing” 以控制私聊权限。
6. 总结
通过 OpenClaw 构建的多 Agent 研发协作系统,实现了将传统软件研发流程自动化、角色化的愿景。
核心价值:
- 专业化分工:5个AI Agent各司其职,模拟真实研发团队。
- 流程自动化:从需求提出到代码交付,任务自动流转,无需人工干预。
- 质量可控:每个环节均有输出和质量检查(需求文档、代码审查、测试报告)。
- 成本效益:通过为子任务分配低成本模型,可节省高达80%的AI调用成本。
适用场景:
- 独立开发者/小微团队:弥补人力不足,自动化常规开发任务。
- 教育/原型开发:快速将想法转化为可演示的代码原型。
- 流程标准化:将团队的最佳实践固化为自动化工作流。
这套基于 OpenClaw Sub-Agents 模式的方案,已在实际场景中得到验证,能够将传统需要1-2天的需求到代码周期,缩短至15-30分钟内完成,极大提升了开发效率和响应速度。如果你对AI赋能研发流程感兴趣,不妨在 云栈社区 分享你的实践与想法。
相关资源: