子 Agent 的工作方式
前台
在你的当前会话中内联运行。父 Agent 会暂停,并等待子 Agent 完成后再继续。你可以在工具调用出现时逐个批准或拒绝。
后台
在父 Agent 继续工作的同时并行运行。子 Agent 完成后,父 Agent 会自动收到通知。未经批准的工具调用会被自动拒绝。
你无法直接看到子 Agent 的原始输出。子 Agent 完成后,父 Agent 会读取结果,并为你总结关键发现和执行的操作。
子 Agent 成本
对于按提示计费的套餐,每个子 Agent 都会像用户消息一样消耗额外积分。消耗的积分数量取决于子 Agent 使用的模型,因此,生成多个子 Agent 的任务 (或将它们 嵌套) 会消耗更多积分。
子 Agent 使用哪个模型?
默认子 Agent 模型不是一个固定的模型名称——它会在 spawn 时通过路由器解析,Admin 也可以对其进行覆盖 (见下文) 。在默认的 子 Agent router 设置下,它会解析为 SWE-1.6 (根据你的套餐层级,可能是速度更快或更慢的 SWE-1.6 变体) 。
CLI 目前不会在子 Agent 面板中标明正在运行的子 Agent 使用的是哪个模型。
影响模型
run_subagent 工具接收的是 Profile,不是模型。你有两种控制方式:
- 用自然语言指定 Profile。 请求一个 explore 子 Agent (“在 explore 子 Agent 中研究 auth 的工作方式”) 会让任务继续使用成本较低的默认子 Agent 模型。请求代码修改则会使用
subagent_general,它会在你选定的模型上运行。 - 在自定义子 Agent Profile 中固定模型。
AGENT.md中的model:是让具备 write-capable 能力的子 Agent 运行在不同于父 Agent 的模型上的唯一方式。在子 Agent 中运行的 skill 也可以在其 frontmatter 中设置model:,以覆盖该 Profile 的模型。
企业控制
subagent_explore 以及未固定 model: 的自定义子 Agent 所使用的模型——但不会更改 subagent_general,后者始终遵循父 Agent 的模型。

子 Agent Profile
Agent 会根据任务自动选择合适的 Profile。探索型子 Agent 非常适合用于研究和理解,而通用子 Agent 则可以进行修改。关于每个 Profile 如何选择其模型,请参阅 子 Agent 使用哪个模型?——这两个 Profile 并非运行在同一个模型上。
工具权限
- 前台子 Agent 的行为与主 Agent 类似——你会像往常一样收到提示,批准或拒绝工具调用。
- 后台子 Agent 会继承你在当前会话中已授予的工具权限。任何未预先批准的工具都会被自动拒绝。后台子 Agent 无法提示你授予新权限。
子 Agent 监控
子 Agent 指示器
子 Agent 面板
前台 / 后台切换
- 将前台子 Agent 切换到后台: 在前台子 Agent 运行时,按 Ctrl+B。子 Agent 会继续在后台运行,父 Agent 则恢复执行。
- 将后台子 Agent 切换到前台: 打开子 Agent 面板,在正在运行的后台子 Agent 上按 f。子 Agent 的输出将以内联方式显示。
当你将子 Agent 移到后台时,父 Agent 的工具调用已经返回,因此父 Agent 会继续独立执行。子 Agent 的结果不会再反馈到父 Agent 当前的处理流程中,但它完成时你会收到通知。
取消子 Agent
- 通过子 Agent 面板: 打开面板,然后在正在运行的子 Agent 上按 x。
- 前台子 Agent: 按 Ctrl+C 或 Esc,取消当前正在运行的前台子 Agent。
恢复子 Agent
- 后台子 Agent因某个必需工具被拒绝而失败——可在前台恢复它,以授予所需权限。
- 某个子 Agent已完成,但你希望它根据其发现继续执行额外的后续工作。
- 某个子 Agent被过早取消,而你希望它继续执行。
嵌套深度
run_subagent 和 read_subagent) 。
不过,自定义子 Agent 的 Profile 可以通过在其 frontmatter 中设置 max-nesting 字段来启用嵌套生成。该值会覆盖默认的最大深度;只要树结构不超过这个限制,子 Agent 就可以生成子级。
例如,max-nesting: 3 允许出现如下链式结构:
自定义子 Agent
subagent_explore 和 subagent_general Profile 外,你还可以定义自己的自定义子 Agent Profile。自定义子 Agent 可让你创建专用工作单元,并为其设置各自的系统提示、工具限制、模型覆盖和权限,以适配工作流程中的特定任务。这也是获得具有写入能力且不会在你的 (可能成本较高的) 主模型上运行的子 Agent 的方式:为它指定一个 model: 以及所需的工具。
创建自定义子 Agent
agents/ 下的具名目录中放置 AGENT.md 文件来定义。目录名称将作为该 Profile 的标识符。
- 项目级
- 全局
AGENT.md 格式
AGENT.md 文件使用与技能相同的 YAML frontmatter,随后是子 Agent 的系统提示:
Frontmatter 字段
自定义子 Agent 的使用方式
subagent_explore、subagent_general) ,则会跳过该 Profile 并显示警告。
从其他工具导入
Claude Code 的 Agent 文件在
frontmatter 中使用 tools,而不是 allowed-tools。这两种格式都会被自动支持。
