跳转至

Subagents 子智能体

官方参考:Codex Subagents

1. 一句话理解

子智能体是主智能体临时派出去执行专项任务的隔离工作线程

它适合复杂任务、并行任务和专业分工。

更口语一点说:

  • 你当前正在对话的是主智能体
  • 主智能体可以按你的要求创建一个或多个子智能体
  • 每个子智能体专注处理一个子任务。
  • 子智能体完成后,把结论汇报回主智能体。
  • 主智能体再把多个结果整理成最终答案或后续行动。

2. 它和“新开一个会话”的区别

对比项 子智能体 新开一个会话
发起方式 主智能体按任务需要创建 用户手动新开聊天或线程
目标 服务当前主任务 开启一个独立任务
上下文 相对隔离,只围绕子任务展开 独立上下文,通常不自动回传
结果流向 汇报给主智能体,由主智能体汇总 留在新会话里
适合场景 并行探索、专项审查、分工验证 完全不同的话题或长期分支

3. 主智能体和子智能体的关系

主智能体

主智能体负责:

  • 理解用户的总体目标。
  • 拆分任务。
  • 决定是否需要子智能体。
  • 汇总子智能体结果。
  • 继续执行最终修改、解释或决策。

子智能体

子智能体负责:

  • 专注处理一个明确子任务。
  • 在自己的上下文中读取资料、分析代码或执行检查。
  • 把发现、结论、建议返回给主智能体。

子智能体适合做“局部深入”,主智能体适合做“全局编排”。

4. 为什么需要子智能体

子智能体主要解决三个问题:

4.1 隔离上下文

复杂任务会消耗大量上下文。把某些探索任务交给子智能体,可以避免主会话被大量中间信息塞满。

例如:

  • 子智能体读取大量日志后只返回根因摘要。
  • 子智能体遍历多个模块后只返回相关文件列表。
  • 子智能体审查一批改动后只返回关键问题。

4.2 并行处理

多个子智能体可以分别处理不同方向,再由主智能体汇总。

例如:

  • 一个看安全问题。
  • 一个看性能问题。
  • 一个看测试覆盖。
  • 一个看文档和使用说明。

4.3 专项角色

子智能体可以带有更明确的职责,例如:

  • 代码审查者。
  • 测试生成者。
  • 文档整理者。
  • 迁移方案分析者。
  • UI 验证者。

这种方式能让任务更像团队协作,而不是一个智能体在所有事情之间来回切换。

5. 适合使用子智能体的场景

适合:

  • 大型代码库探索。
  • 多角度代码审查。
  • 多模块问题定位。
  • 多步骤功能设计。
  • 需要并行验证的任务。
  • 需要不同专业视角的任务。

示例:

帮我审查当前分支。请创建 3 个子智能体:
1. 一个只看安全问题
2. 一个只看测试缺口
3. 一个只看性能和并发问题

等它们都完成后,汇总成一份中文 review 报告。

再比如:

请用子智能体并行分析这个项目:
1. 一个负责梳理目录结构
2. 一个负责找启动入口
3. 一个负责找核心业务流程
4. 一个负责总结测试和构建命令

最后由主智能体整理成项目上手文档。

6. 权限和成本

官方要点:

  • 子智能体会消耗额外 token,因为每个子智能体都有自己的模型工作和工具调用。
  • 子智能体继承当前 sandbox policy。
  • 自定义 agent 可以配置更细的角色和权限边界。
  • Codex 不应随意自动开子智能体;你可以明确要求它使用子智能体。

使用时要注意:

  • 子智能体越多,成本越高。
  • 子智能体越多,汇总质量越依赖主智能体的编排能力。
  • 对敏感仓库或危险操作,仍然要依赖 sandbox、审批和明确边界。

7. 自定义 Agent

Codex 支持自定义 agent,用于给特定子智能体固定角色和指令。

常见位置:

~/.codex/agents/       # 个人 agent
.codex/agents/         # 项目 agent

一个简单的 reviewer agent 示例:

name = "reviewer"
description = "PR reviewer focused on correctness, security, and missing tests."
developer_instructions = """
Review code like an owner.
Prioritize correctness, security, behavior regressions, and missing test coverage.
"""

可以把它理解为:把“你希望某类子智能体怎么工作”沉淀成固定配置。

8 和 Skills、MCP 的关系

子智能体、Skills、MCP 经常一起使用,但职责不同:

能力 主要作用
Subagent 拆分任务、隔离上下文、并行处理
Skill 提供可复用流程、领域知识和操作规范
MCP 连接外部工具、数据源和系统

组合示例:

主智能体负责整体需求。
子智能体 A 使用 code-review Skill 审查代码。
子智能体 B 通过 MCP 查询线上错误日志。
子智能体 C 使用 docs Skill 整理变更说明。
最后主智能体汇总结果并给出修改方案。

9. 实用提示词模板

代码审查

请创建多个子智能体并行审查当前改动:
- reviewer-security:只关注安全和权限问题
- reviewer-tests:只关注测试缺口和回归风险
- reviewer-maintainability:只关注可维护性和复杂度

每个子智能体只返回关键发现,最后由主智能体汇总为中文 review。

项目理解

请用子智能体并行理解这个项目:
- 一个分析目录结构和模块边界
- 一个分析启动入口和配置加载
- 一个分析核心业务流程
- 一个分析测试、构建和部署命令

最后输出一份新人上手文档。

问题排查

请派出子智能体并行排查这个问题:
- 一个检查最近改动
- 一个检查日志和报错
- 一个检查配置和环境差异
- 一个检查相关测试

最后汇总最可能根因和建议修复步骤。