openclaw-easy-tutorial-zh-cn

案例:产品 + 开发 + 测试 — 多角色完成一个小项目

这一节是一个动手案例:用 OpenClaw 的多 Agent子 Agent,搭出「产品」「开发」「测试」三个角色,围绕一个小型软件需求,从需求整理实现思路再到测试要点分工协作,最后你或主助手综合三边的输出。用到的同样是 3.1、3.2 的能力,不编造新功能。


你想达成的效果

假设你有一个小需求或一个小功能点子,希望快速得到:

在 OpenClaw 里可以这样实现:建三个独立 Agent(product、coding、qa),各自有独立工作区和人设;你在主会话里描述需求,然后派三个子 Agent 分别用「产品」「开发」「测试」的身份产出,等三份结果都回来后再一起看、或让主助手帮你汇总成一份「小项目清单」。这就是本案例的「多角色完成一个小项目」形态。


前置:你已经会的内容

若还没做过 3.1,先按 3.1 建好 productcodingqa 三个 Agent,再往下做。


第一步:建三个 Agent 并定好人设

在终端执行:

openclaw agents add product
openclaw agents add coding
openclaw agents add qa

每个 Agent 会有一个独立工作区,例如 ~/.openclaw/workspace-product~/.openclaw/workspace-coding~/.openclaw/workspace-qa。接下来给各自的工作区写好人设,让它们真的像「产品」「开发」「测试」在说话。

产品(product)
编辑 ~/.openclaw/workspace-product/SOUL.md,例如:

- 身份:扮演产品角色,侧重需求澄清、用户故事与验收标准。
- 语气:条理清晰,用「作为…我希望…以便…」等形式写用户故事;验收标准可测、无歧义。
- 边界:只做需求与范围梳理,不代替实际项目管理;涉及优先级与排期时提醒用户自行决策。

AGENTS.md 里可以约定:先给 1~3 条用户故事,再列每条对应的验收标准;涉及接口或数据时写清输入输出预期。

开发(coding)
编辑 ~/.openclaw/workspace-coding/SOUL.md,例如:

- 身份:扮演开发角色,侧重技术方案、实现思路与代码级建议。
- 语气:简洁技术向,必要时给出伪代码或示例代码;标明技术栈与依赖假设。
- 边界:只做方案与示例,不代替完整工程实现;涉及部署、运维时提醒用户结合自身环境。

AGENTS.md 里可以约定:先简述实现思路,再给关键步骤或代码片段;如需读写文件、调用 API,写清前提条件。

测试(qa)
编辑 ~/.openclaw/workspace-qa/SOUL.md,例如:

- 身份:扮演测试角色,侧重测试点、边界与回归影响。
- 语气:用检查清单或条目列出;区分功能、边界、异常、回归等维度。
- 边界:只做测试思路与要点,不代替实际测试执行;涉及自动化时提醒用户按项目选型。

AGENTS.md 里可以约定:先列功能/正向测试点,再列边界与异常,最后提一句回归或影响范围。

这样,productcodingqa 三个 Agent 就各自有了清晰角色;后面派子 Agent 时用这三个 agentId,就会用这三套人设回复。


第二步:允许主会话派子 Agent 给 product、coding、qa

你要在主会话里(例如和 main 聊天时)能派子 Agent 给这三个角色,需要在配置里放开 subagents.allowAgents

编辑 ~/.openclaw/openclaw.json,在 main 对应的那一项里加上(若你是用 main 当「项目协调人」、和它对话的那一个):

{
  "agents": {
    "list": [
      {
        "id": "main",
        "workspace": "~/.openclaw/workspace",
        "subagents": { "allowAgents": ["product", "coding", "qa"] }
      },
      { "id": "product", "workspace": "~/.openclaw/workspace-product" },
      { "id": "coding", "workspace": "~/.openclaw/workspace-coding" },
      { "id": "qa", "workspace": "~/.openclaw/workspace-qa" }
    ]
  }
}

若你的 agents.list 里已有 main、product、coding、qa,只需在 main 上加上 subagents.allowAgents: [“product”, “coding”, “qa”]。保存后执行 openclaw gateway restart


第三步:用「产品 + 开发 + 测试」跑完一个小需求

有两种用法,可二选一或混用。

方式 A:你直接派三个子 Agent(适合 Control UI 或支持斜杠命令的渠道)

在你和 main 的对话里,先发一段需求描述,然后发三条斜杠命令,分别让「产品」「开发」「测试」从各自角度产出,例如:

/subagents spawn product 把下面需求整理成 1~3 条用户故事和验收标准:(粘贴或简述需求)
/subagents spawn coding 针对同一需求,给出实现思路和关键代码或伪代码:(同一段需求)
/subagents spawn qa 针对同一需求,列出测试点、边界与异常、回归注意点:(同一段需求)

三条都会非阻塞执行;等三条都跑完,你会先后收到三条 announce 汇报(产品输出、开发输出、测试输出)。你可以在同一对话里再问 main:「请根据上面产品、开发、测试的回复,帮我整理成一份小项目清单(需求 + 实现要点 + 测试要点)」,由 main 综合三边的结论。

方式 B:让主助手帮你派(口述即可)

你也可以直接对主助手说,例如:

「我们做一个小项目推演:我有一个需求(简述)。请你先派产品 Agent 整理成用户故事和验收标准,再派开发 Agent 给实现思路和关键代码,再派测试 Agent 给测试点和回归注意点;等三边都回复后,你再帮我综合成一份简要的项目清单。」

主助手若具备 sessions_spawn 能力且 allowAgents 里包含 product、coding、qa,就会在对话里调用三次 sessions_spawn,等三次子 Agent 的 announce 都回来后再综合回复。这样你不需要自己打三条斜杠命令,也能完成「产品 + 开发 + 测试」多角色小项目推演。


第四步:根据三份结果做小结

至此,一次「产品 + 开发 + 测试」多角色完成一个小项目的推演就完成了。重复使用时,只需换需求描述,再同样派 product、coding、qa 即可;你也可以只派其中一两个角色(例如只派产品和开发),按需组合。


本节要点


常见问题

Q:主助手没有自动派 product/coding/qa,而是自己答了?
确认 main(或你对话所在 Agent)的配置里 subagents.allowAgents 已包含 product、coding、qa,且已重启 Gateway;再确认你对主助手下的指令里明确说了「派产品 Agent」「派开发 Agent」「派测试 Agent」或「用 sessions_spawn 让 product/coding/qa 分别回答」。若主助手没有 sessions_spawn 权限或没被提示用子 Agent,它可能直接自己答。

Q:三个角色的回复风格不够区分?
把人设写细一点:在各自工作区的 SOUL.md 里强调身份、产出形式(用户故事 vs 代码 vs 测试清单);在 AGENTS.md 里写「先用户故事再验收标准」「先实现思路再代码」「先功能点再边界再回归」等规则。任务描述也可以写清楚:「把下面需求整理成用户故事和验收标准」「针对同一需求给实现思路和关键代码」「针对同一需求列测试点和回归注意点」,并贴同一段需求,便于模型紧扣角色回答。

Q:可以只派其中两个角色吗?
可以。例如只派 product 和 coding,不做测试推演;或先派 product 产出需求,再根据需求派 coding 和 qa。按你的实际需要组合即可。

Q:coding 能直接在我项目里写代码吗?
本案例里,coding 只是在对话里给实现思路和代码示例;若你要它在真实项目目录里读写文件,需要让该 Agent 具备文件类工具权限,并在其工作区或任务描述里指明路径(参见 2.4 工具与 Skills)。多角色协作本身不要求 coding 必须动你本机文件,先跑通「需求 → 实现要点 → 测试要点」的推演流程即可。


延伸阅读

← 返回目录