你以为 Claude Code 只能一个 agent 干活?今天嵌套 subagent 把这件事彻底翻了
写过 Claude Code 的人,用的都是一个会话、一个 agent 的工作流——会话越来越长,上下文越来越贵,最后模型开始忘记开头说过的事。今天 Anthropic 悄悄给 Claude Code 加了一层嵌套能力:agent 可以 spawn 其他 agent,depth 上限 5 级,每层有独立 context。
这个能力不是靠什么特殊命令开启的,只需要在 skill 的 frontmatter 里写一行 fork: true,这个 skill 就会在一个新的 subagent 上下文中运行。换句话说:你可以让一个 agent 去调用另一个 agent,而那个 agent 再调用下一个 agent,context 互不污染。
depth 5 的上限是硬限制,防止你写个 skill 把自己套进去出不来。但这个上限已经足够应付绝大多数复杂场景了。
isolation 是怎么实现的? fork:true 启动的 subagent 拿到的是一个全新 context,和父 agent 的上下文完全隔离。你不需要手动清空什么,框架自己处理。子 agent 的输出会写回父 agent 的 transcript,所以等你 resume 这个会话的时候,可以看到每个 subagent 分别做了什么、说了什么、输出了什么,不会因为它们在独立环境运行就丢失记录。
什么场景用得着? 典型的例子:一个 agent 要处理一个巨大的 monorepo,它可以把扫描安全漏洞的任务分给一个 subagent,把测性能的任务分给另一个 subagent,把检查测试覆盖率的任务分给第三个——三个任务并行跑在三个隔离 context 里,每个都只装得下它自己那部分代码,谁也不挤谁。跑完之后结果全部写回 transcript,父 agent 再汇总。
再比如:你在写一个 skill,希望它做代码审查的时候自己就能调用另一个做安全审计的 skill。只需要在 skill 定义里加 fork: true,主 agent 调用它的时候就会 spawn 一个新的 context 专门跑这个 skill 的任务,原来的会话上下文不受影响。
context 管理才是真正的收益。 很多人以为 AI 编程的瓶颈是模型不够强,实际上瓶颈往往是上下文长度不够用。代码库一大,system prompt + 代码 + 对话历史一塞进去,context window 就快见底了,结果模型开始失忆。嵌套 subagents 把这个问题的解法从换更大的模型变成了把大任务拆成多个小任务,每个跑在独立的 context 里。
怎么配置? 在你想让主 agent 调用的那个 skill 的 .md 文件顶部 frontmatter 里加一行:
---
fork: true
---
然后这个 skill 被调用的时候,Claude Code 会自动把它放在一个新的 subagent 上下文中运行。不需要改任何提示词,不需要额外配置,框架自动处理 context 隔离和结果汇总。
depth 上限 5 级意味着你可以做到 5 层嵌套——主 agent → 子 agent → 孙 agent → 曾孙 agent → 来孙 agent,足够应付绝大多数任务分解场景了。
如果你在团队里跑 Claude Code 做规模化 coding 任务,嵌套 subagents 可能是今年最值得配的一个配置。它把上下文不够用这个问题从基础设施层解决掉了,而不是靠压缩 system prompt 或者升级模型来硬撑。
下一步:找一个你现在正在用的 skill,把 frontmatter 里的 fork: true 加上,看看它跑起来和之前有什么不同。
评论区
登录后可评论。