Anthropic 官方课程第 9 课,2 分 48 秒。子代理是你可以把任务派出去的专职助手——每一个都在自己的对话上下文窗口里跑,用的是你自定义的系统提示。
它最主要的好处是省上下文。你和 Claude Code 对话时,每一次工具调用和它的结果都会存进主上下文窗口;而 Claude 用子代理时,会另开一个窗口。
子代理接收两个输入:一是你配置文件里的自定义系统提示,二是父代理写的一段任务描述——内容取决于你提的要求。接着它自己干活:读文件、改文件、用工具,这些都不会出现在主对话里,回来的只有一份摘要,整段子代理对话随后被彻底丢弃。
举个例子。你在一个不熟的代码库里,想搞清楚是哪个服务在处理退款。不用子代理,Claude 可能会读 15 个文件、跑好几次搜索、再顺着一串函数调用追下去,这些全都会塞满你的上下文窗口——哪怕你要的只是一个事实。用子代理,你直接拿到答案,省掉中间那一趟。
代价视频里也讲了:主窗口就此看不见子代理是怎么得出结论的,也不知道它一路上发现了什么。
内置的有几个可以直接用:general-purpose 通用子代理,用于既要探索又要动手的多步骤任务;explore 子代理,用于快速搜索代码库;plan 子代理,用在计划模式下做调研、在给出计划前分析你的代码库。
你也可以建自己的。子代理是带 YAML 前置元数据的 Markdown 文件,最省事的办法是让 Claude 帮你生成:跑 /agents,选「创建新代理」,一步步选作用范围、用途、可以访问的工具,甚至给它挑个颜色。Claude 会生成名字、描述和提示词,也会一并写清什么时候该调它。
课程页还点了两处可以再自定义的地方:持久记忆让子代理在多次对话之间保留记忆,同一个项目上长期用很有用;加 skills 键、按名字列出技能可以预加载——注意这里和主对话不同,整份技能会整个加载进上下文。
视频来自 Anthropic 官方频道 @claude《What are subagents?》,Claude Code 101 第 9 课,中文字幕是我做的。