多 Agent 协作:边界、Ownership 与停手条件
当你用 Cursor/Codex 并行多个子任务时,如何用 brief 限定每个 Agent 的写入范围、禁止动作和完成条件,避免互相覆盖 diff 或无限扩 scope。

你将学到什么
你将学到多 Agent 并行的最小治理:每个子代理一份 brief(Role、Goal、Ownership 目录、Forbidden、Stop)。学完能判断何时该并行(只读探索 + 独立模块)何时必须串行(同一文件的写锁),以及如何用 agent_memory 下的 progress 文件做跨会话接力而不重复扫仓库。父代理应在合并前统一跑 lint 与测试,失败时只打回责任包,避免三个 Agent 同时「修测试」再次冲突。brief 里 Goal 只写可验证交付物,例如「返回 5 条 issues 路径」而不是「优化代码质量」。父代理合并 diff 前先 git status,拒绝无关文件进入 PR。
适合谁
推荐给用 AI 编程助手做中型需求(3 个以上模块、要审查+实现分离)的开发者。你已经遇到过两个 Agent 改同一文件导致 merge 地狱。
不适合谁
不适合单文件改一行的小修;并行调度成本高于收益,直接一个 Agent 完成即可。 若你团队已有成熟流程,可把本课当对照表查漏补缺,不必推翻现有系统。
跟做步骤
- 1拆工作包:例如 A 只读扫描 `src/lib/news`、B 只写 `src/data/news/published.json`、C 跑 `npm test`。Ownership 互斥目录写进 brief。 探索 Agent 输出固定为 Markdown 问题清单,不提交代码变更。
- 2Forbidden 默认包含:不 revert 无关改动、不 force push、不擅自 spawn 子代理、不修改 `.env`。 实现 Agent 提交前自测相关 npm test 子集,失败则停止并写阻塞原因。
- 3Stop 条件写清:「返回问题列表 + 文件路径」或「测试全绿 + 变更文件清单」,避免 Agent 继续「顺便优化」。 Forbidden 列表写入 brief 顶部,比 Goal 更显眼,减少误触。
- 4父 Agent 合并结果前跑 verification brief:lint/tsc/关键 e2e,失败则只打回责任包而非全员重跑。 brief 里 Goal 只写可验证交付物,例如「返回 5 条 issues 路径」而不是「优化代码质量」。父代理合并 diff 前先 git status,拒绝无关文件进入 PR。 父代理记录合并顺序:先测试后文档,避免文档描述与代码不一致。
常见踩坑
Ownership 重叠:两个 Agent 都被允许改同一 store 文件,合并必冲突,必须精确到文件或函数级。无 Stop 条件时探索 Agent 会开始改代码——探索角色应 readonly。不要把「顺便优化命名」写进 Goal,范围蔓延是并行失败主因。验证 Agent 只读运行测试并回报日志,不要再次改业务代码除非 Ownership 写明。 并行任务不超过三个写锁目录,读任务可多一些;合并冲突时以 Ownership 名单为准,无名单则父代理人工裁决。
本课小结
带走一句口诀:「并行只读或互斥写,合并前验证」。多 Agent 不是人越多越好,而是边界清楚时更快。 下一课可继续本系列实战,把模板保存为团队默认文档。