什么是子代理?
子代理是 Claude Code 可以将任务委派给的专门助手。可以把它们想象成专注的帮手:每个子代理都在自己独立的对话上下文窗口中运行,完成工作后,将摘要返回给主线程。 中间步骤——所有的文件读取、搜索和工具调用——都保持隔离,永远不会使您的主对话变得杂乱。
为什么子代理很重要
每次您与 Claude Code 对话时,都在向主上下文窗口添加内容。每一次工具调用、每一次文件读取、每一个搜索结果都会存储在那里。这个空间是有限的,一旦填满,Claude 就会开始丢失对话早期部分的信息。
子代理通过启动一个独立的上下文窗口来解决这个问题。子代理的初始上下文包括:
- 自定义系统提示,来自您的配置文件,定义了子代理的角色和行为
- 任务描述,由父代理根据您的请求编写
然后子代理独立工作。它读取文件、运行搜索、编辑代码——无论需要做什么。完成后,只有摘要会返回到您的主对话中。Claude Code 会将子代理对话的其余部分保存在一个单独的记录文件中。
这意味着您的主上下文保持干净。您得到的是答案,而不会被寻找答案过程中的所有噪音所干扰。代价是您的主对话看不到子代理是如何得出结论的。
一个实际示例
假设您正在探索一个不熟悉的代码库,想知道哪个服务处理退款。如果没有子代理,Claude 可能需要读取 15 个文件,运行多次搜索,并追踪多个函数调用。所有这些都会填满您的上下文窗口,即使您只需要一个事实。
有了子代理,体验就干净得多。您提出问题,Explore 子代理启动,在自己的上下文中完成所有这些挖掘工作,然后返回一个聚焦的答案。
您的主上下文窗口只记录问题和摘要——而不是沿途读取的那 15 个文件。
内置子代理
Claude Code 附带了几个可以立即使用的内置子代理:
- 通用子代理——用于需要探索和操作的多步骤任务
- Explore——用于快速搜索和浏览代码库
- Plan——在计划模式下使用,用于在呈现计划之前对代码库进行研究和分析
自定义子代理
除了内置选项之外,您还可以创建具有自定义系统提示和工具访问权限的自己的子代理。这让您能够定义适合自己工作流程的专门代理——代码审查员、测试编写者、文档生成器,或您需要的任何其他代理。
关键要点
子代理为您带来三大主要好处:
- 它们将工作拆分为专注的部分,让每个子代理专注于特定任务
- 它们通过隔离所有中间工作,保持您的主上下文窗口干净
- 它们以简洁摘要的形式,只带回您需要的信息
无论您使用的是内置子代理还是创建自己的子代理,它们都是在更长的 Claude Code 会话中获得更多收益的实用方法。主上下文中的噪音越少,您就能工作得越久、越有效。