Codex Subagents 并行协作 关键路径

Codex Subagents 并行协作

不是“多开几个窗口”就会更快,而是先把一个大任务拆成几件能并行推进的小事: 主线程守住关键路径,subagents 去摸上下文、补测试、做回归验证与只读 review, 最后把结果压成可直接消费的交付物。

3 类
适合拆出的任务
4 项
上下文四件套
1:1
一 agent 一职责
Sidecar
让主线程不变等待线程
新增子页 · 并行委派

一句话先讲透:Subagents 的价值不是更多分身,而是更好的分工

真正拉开效率差距的,往往不是单个 agent 写得多快,而是你有没有把复杂任务拆成“主线程 + sidecar”的结构。 关键判断、架构决策、下一步阻塞问题仍然留在主线程; 只读摸底、范围明确的小 patch、并行验证这类工作才适合分给 subagents。

这页最值得记住的 3 句

  • • 先拆任务,再开分身。
  • • 一个 subagent 只做一件事。
  • • 要结果,不要作文。

适合谁看

适合已经在用 Codex、Claude Code 或其他 coding agent 的人,尤其是正在处理多文件修改、测试补全、回归验证与复杂需求澄清的人。

Codex Subagents 并行协作中性封面图

先拆任务,再开分身

先判断什么能并行,什么必须留在主线程,不要一上来就把关键判断外包出去。

适合拆出去
  • 读多写少的上下文摸底:例如梳理旧逻辑、查相邻模块、比对调用链。
  • 范围明确的小 patch:例如只补一组错误处理、只修一类权限重复判断、只补三条测试。
  • 与主线程并行的验证任务:例如回归检查、只读 review、补充测试、变更影响扫描。
不适合拆出去
  • 会阻塞下一步的关键判断:比如数据库 schema、接口边界、核心抽象是否成立。
  • 需要最终拍板的技术选择:是否保旧接口、是否接受风险、是否缩 scope。
  • 仍然模糊的大目标:像“把登录系统都搞定”这种话,更像模糊委派,不是 delegation。

核心判断: 如果你马上就要根据这个问题决定下一步,那它通常属于主线程; 如果它可以在你继续推进主线时同步补齐材料,它就更像 sidecar 工作。

一 agent 一职责,边界越窄越稳

Subagent 最需要的不是宏大目标,而是明确的文件边界、约束条件与交付格式。

不推荐的写法

“你去把登录系统都搞定。”

这不是 delegation,而是把范围、判断和责任一次性丢给 agent,最后你只会得到一大块难以验收的改动结果。

更稳的写法

  • • 你只负责 auth controller 的错误处理。
  • • 你只检查 billing 模块里有没有重复权限校验。
  • • 你只补 POST /projects 的三条测试。
Subagent 委派模板(可直接改)

目标:
- 只完成 [具体子任务]

可读 / 可改:
- 相关文件:[文件或目录]
- 禁改范围:[文件或目录]

约束:
- 不要增加 scope
- 如果遇到会阻塞下一步的关键判断,立即返回主线程
- 你不是一个人在代码库里,不要覆盖别人可能正在修改的内容

交付:
1. 改了哪些文件
2. 为什么这样改
3. 跑了什么验证
4. 还剩什么风险

给足上下文,但别喂成一锅粥

Subagent 不是读得越多越准,而是越知道自己只该看哪一块越准。

01

任务目标

要它解决什么问题,产出是什么,不要只给一个宽泛方向。

02

相关文件

只给与当前子任务直接相关的模块、配置、测试或参考实现。

03

约束条件

哪些文件能改、哪些不能改、哪些接口必须兼容、哪些规则不能越界。

04

验收标准

需要跑什么测试、什么结果算完成、还要标出哪些剩余风险。

常见误区: 一紧张就把半个仓库背景全塞进去,看似“给足上下文”,结果反而让 subagent 不知道重点在哪里。真正高价值的是“相关”而不是“更多”。

主线程守关键路径,subagents 去做 sidecar

并行的价值,是让你主线写完时,侧面的材料也已经补齐,而不是让主线程变成等待线程。

主线程

关键路径

继续推进主流程实现,保留关键判断、接口选择和最终范围控制。

Subagent A

上下文摸底

梳理旧代码、相邻模块、调用链或历史行为,给主线程补“看清楚再改”的材料。

Subagent B / C

测试与验证

补测试、做只读 review、扫回归点,让主线完成时同步拿到质量保障。

主线程 + sidecar 的一个常见分工

主线程:先改主流程 / 核心逻辑
Subagent A:摸清旧代码与相邻模块
Subagent B:补当前变更需要的测试
Subagent C:做只读 review 或回归检查

目标不是“把思考全部外包”,
而是让主线程不被摸底、补测、回归这些侧面工作反复打断。

要结果,不要作文

Subagent 回来的最好不是长报告,而是可以直接被主线程消费的交付物。

建议固定回收格式

  • • 改了哪些文件
  • • 为什么这样改
  • • 跑了什么测试或验证
  • • 还剩什么风险没有处理

为什么要这么做

如果回收结果只是一篇长报告,却没有 diff、没有结论、没有下一步,你只是把执行成本换成了新的阅读成本。

结果回收模板(可直接贴给 subagent)

请按下面格式交付,不要写成长报告:
- 文件:改了哪些文件 / 没改哪些但检查过
- 原因:为什么这样改
- 验证:跑了什么测试 / review / 回归检查
- 风险:还剩什么没处理,需要主线程做什么判断

最后的一句自检

区别会不会用 subagents 的人,不在于开了几个窗口,而在于有没有把大任务改写成几件可以并行的小事。

如果你想让 Codex 干得更快, 先问自己一句:这件事,能不能拆给两个分身同时做?

真正的并行,不是把关键判断全部外包出去,而是把摸底、补测、验证这些辅助性工作拆出去, 让主线程继续推进最贵、最难、最依赖你判断的那一段关键路径。

可直接点击的相关入口

参考资料

这页聚焦复杂编码任务中的并行委派规则,并保留最小必要来源,便于继续查看原始讨论。