现在学会的这些方法,已经可以帮助我们开发和迭代项目了。但随着项目变大,哪怕一个任务对应一个 Agent,也容易出现上下文过长的问题。有什么办法解决,并让日常任务完成得更快呢?

当然有,使用 Subagent 就可以了!

什么是 Subagent

我在《Harness 笔记》中对 Subagent 有很详细的介绍,如果你对其具体的工程和逻辑感兴趣,可以前往查看该文章:https://doc.niallspace.com/harness/posts/07-subagent,简单来说就是可以让 Agent 把一个大任务拆成若干个小任务,分别交给更多 Agent 来完成,这样不同任务的上下文就可以拆得更小,不容易出现上下文爆炸或 AI 注意力下降的问题。

不过,Codex 的 Subagent 与文章中介绍的 Claude Code 的 Subagent 在一些细节上有所不同,可以概括为以下几点:

  1. 在 GPT 5.6 出现之前,Codex 中的 Agent 都不会主动召唤 Subagent,即使到了现在,不开启 Ultra 推理强度的情况下,也只会在个别任务中召唤几个特定的 Subagent;

  2. Codex 的 Subagent 没有层级限制,这就意味着 Subagent 可以继续召唤 Subagent,而不是像 Claude Code 一样限制 Subagent 不能继续下发任务;

  3. Codex 没有 Claude Code 或是 Kimi Code 的 swarm 模式,主动开启这个模式后,可以让 Subagent 并行完成相同的工作,例如你可以给它 1000 篇英文文章,让它翻译成中文,它可以同时召唤 20 多个 Subagent,每个 Agent 翻译一篇,完成一篇后就补充一个 Subagent,继续直到完成这 1000 篇文章的翻译,Codex 并不直接支持这个功能,因为 Codex 的 Subagent 本就可以并行。

总而言之,使用 Codex 的 Subagent 时,需要我们在提示词中明确要求创建,否则 Codex 不会主动帮我们创建。

Subagent 应用

如上文所说,我们需要主动在任务中说明使用 Subagent,除非开启昂贵的 Ultra 推理强度。因此,可以在提示词中明确 Subagent 的分工,以及它们如何运行和配合。例如,一个开发任务可以这样写:

开发一个简洁的 Todo 工具,支持任务的新增、编辑、删除、完成状态切换和本地持久化。请先拆解开发任务,并召唤多个 Subagent 并行工作:分别负责产品与交互设计、前端 UI 实现、数据与状态逻辑、测试与代码审查;各 Subagent 完成后汇总结果,由主 Agent 负责整合代码、解决冲突并完成最终可运行版本。

在实际执行中,我们会看到 Codex 中 Subagent 的工作状态,点击后可以查看具体执行过程,如下图。

查看 Subagent 的执行情况

下一步

Subagent 最大的特色就是在 Codex 中支持并行以及上下文隔离。

因此,我们可以利用这个优势,在隔离的上下文环境中进行测试、验收、检查等工作,或者像上文说的翻译任务一样并行执行任务,极大地提高效率。

例如,在下一章,我们将利用一个全新的模式搭配 Subagent 进行提示词优化和反推的工程落地。