深度理解 Subagent(子代理)——让 AI 更聪明、更高效地分工协作
在现代 AI 工作流中,我们越来越多地从“单一助手”转向多智能体协同工作的模式。这其中一个核心概念就是 Subagent(子代理),它让大型语言模型能像一个团队一样分工协作。
下面我们介绍 Subagent 的原理、三种不同平台上的实现(Claude Code、Cursor、VS Code Copilot),以及它们的异同对比。
什么是 Subagent?
Subagent(子代理)是由一个“主代理”在特定条件下自动创建出来的独立 AI 单元,专注处理特定子任务。它与主对话会话分离,有自己的上下文、系统提示、工具权限和工作流程。
核心价值在于解决两个问题:
- 上下文污染:主对话上下文容易被大量细节/中间思考信息刷屏。Subagent 保持隔离上下文,只把最终结果返回主线程。
- 任务分工:不同技能的子任务由专门子代理处理,类似把工作交给“专家”。
比喻一下,传统 Chat 就像一个多面手独自搞定所有事情,而 Subagent 架构则像一个由多个专家组成的小团队,各自分工合作。
Subagent 的技术特点(通用)
虽然不同平台具体实现不同,但 Subagent 通常具有以下技术特性:
1. 独立上下文
每个子代理维护自己的上下文,不会污染主代理的会话历史。
2. 自定义系统提示
可以为某个任务特别优化子代理的行为,例如“代码评审专家”、“深度搜索助手”等。
3. 工具权限控制
主代理可以限制 Subagent 可用的工具(读/写、搜索、终端命令等),增强安全性与准确性。
4. 并行/分布式工作
部分实现支持同时启动多个 Subagent 并行完成不同子任务,提高整体效率。
典型用例示例
- 代码库探索:快速查找与分析仓库文件结构或内容。
- 任务规划:在做整体计划前,由子代理进行代码库研究和背景调查。
- 复杂操作代办:主任务拆解成多个子步骤,每个子代理独立运行。
分平台介绍
下面详细看看你提供的三个官方实现细节与理念。
Claude Code 的 Subagents(官方)
Claude Code 提供了 Subagent 机制,允许用户定义“专门的 AI 子助手”。这些子代理:
- 独立运行于自己的上下文窗口;
- 拥有自定义的系统提示、可用工具和权限;
- 可通过描述自动在合适时机调用,或者在 prompt 中明确指定。
内置 Subagents(Claude Code)
Claude Code 官方文档列举了几个预设的内置 Subagent:
- Explore:用于代码库探索与只读搜索,使用快速模型(Haiku),不会执行写操作。
- Plan:计划阶段的辅助研究者,用于收集上下文信息。
- general-purpose:通用子代理,具有所有工具权限,可执行复杂操作。
此外还有一些辅助功能代理,比如 Bash 子代理用于运行终端命令。
自定义 Subagents
你可以通过以下两种方式创建自定义 Subagents:
- 交互式命令
/agents在 IDE/CLI 中创建; - 手动创建 Markdown + YAML 文件 配置 Subagent 参数。
这些文件定义了 Subagent 的名字、描述、模型、可用工具和系统行为。
Cursor 的 Subagents
Cursor 也支持 Subagent 概念(例如在 2.4 版本中引入),并提供文档说明其核心用途:
Subagents 用于将复杂任务拆分成可并行执行的部分,并在主会话中保留清晰上下文。
与 Claude Code 类似,Cursor 的 Subagents:
- 作为独立 AI 实例运行;
- 支持隔离上下文;
- 能自定义 prompt、模型、工具权限;
- 可以并行启动多个子代理工作。
(注意:某些社区讨论指出 Cursor 当前在某些构建/工具权限集成上还有一些问题,例如 Task 工具暂不可用)。
VS Code Experimental Subagents
Visual Studio Code 在 1.107 版本中引入了一项实验性功能 “Run agents as subagents”。虽然官方页面内容更长,这里重点整理:
- Subagents 可以在 VS Code 的 Copilot Chat 会话中启动;
- 它们运行于独立上下文环境;
- 可以绑定不同的 agent 配置来加强针对特定任务的表现;
- 当前仍被标记为实验性支持。
在 VS Code 的扩展和实验文档中也有提到 #runSubagent 用法,它允许你在 prompt 里请求子代理执行指定任务。
Subagent 之间的对比
下面是对这三种常见 Subagent 实现的对比总结:
| 方面 | Claude Code | Cursor | VS Code (Copilot) |
|---|---|---|---|
| 是否支持隔离上下文 | ✅ | ✅ | ✅ |
| 可自定义系统提示 | ✅ | ✅ | 实验性 |
| 并行启动多个 Subagent | ✅ | 支持 | 实验性/部分支持 |
| 工具访问权限控制 | ✅(细粒度) | 有但可能存在限 | 需要手动启用 |
| 自动根据任务匹配调用 | 支持 | 支持 | 主要手动触发 |
| 当前成熟度 | 高 | 中等(新功能) | 早期实验支持 |
总结
Subagent 是现代 AI 体系里一个非常重要的模式,它通过 分工协作、隔离上下文、自动调度 等手段提升长流程任务的效率与代码清晰度。Claude Code、Cursor 和 VS Code 都在支持 Subagent,但成熟度和特性有所不同:
- Claude Code 的 Subagents 更成熟、配置细粒度高;
- Cursor 的实现专注于并行子任务和更丰富的定制可能;
- VS Code 将 Subagent 以实验性支持带入编辑器体验。
参考资料
https://code.claude.com/docs/en/sub-agents#explore
https://cursor.com/docs/context/subagents
https://code.visualstudio.com/updates/v1_107#_run-agents-as-subagents-experimental