Definition
子代理
子代理是由主 AI 编程代理派生的并行子进程,用于同时处理复杂任务中相互独立的部分。主代理不必按顺序处理所有任务,而是将子任务委派给专门的子代理并行执行,各子代理完成后将结果汇报给父代理。
子代理的工作原理
当主代理遇到包含多个独立部分的任务时,可以派生子代理并行处理。例如,如果你要求"将认证、支付和通知模块重构为使用新的错误处理模式",主代理可以派生三个子代理——每个模块一个。每个子代理独立读取相关文件、做出修改并运行测试。主代理收集结果,并确保各修改之间的一致性。
子代理的适用场景
- +跨多个独立模块的大型重构任务
- +同时研究代码库的不同部分
- +并行运行多个分析任务(安全审计、性能检查、风格审查)
- +同时为多个独立组件生成代码
- +调查可能存在多个根本原因的复杂 Bug
子代理在子任务真正相互独立时最为有效——它们不修改同一文件,也不依赖彼此的输出。当任务存在依赖关系时,由单个代理顺序执行更为合适,以避免冲突。
Claude Code 通过 Task 工具支持子代理。主代理可以派生具有特定指令和范围权限的子代理,然后将其结果综合为一致的响应。
子代理与主代理共享上下文吗?+
子代理在创建时会从主代理接收上下文,但不共享实时上下文窗口。每个子代理使用自己的上下文独立运行,主代理接收其最终输出并进行综合。
可以同时运行多少个子代理?+
这取决于工具和可用资源。Claude Code 可以并行运行多个子代理,通常为 2-5 个,具体取决于每个任务的复杂度。实际限制由 Token 使用量和 API 速率限制决定。
子代理可以派生自己的子代理吗?+
理论上可以——这会形成代理树。但实际上,大多数任务只需一级委派即可处理得很好。深层嵌套对大多数编程任务而言会增加复杂性,却不能带来相应的收益。
什么时候应该避免使用子代理?+
当任务之间存在依赖关系、可能修改同一文件(有合并冲突风险),或任务规模较小使得顺序处理比派生和协调多个代理更快时,应避免使用子代理。
Related terms
Master Claude Code in days, not months
37 hands-on lessons from beginner to CI/CD automation. Module 1 is free.
START FREE →