2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

AI 编程工程化:Subagent——给你的 AI 员工打造协作助手

发布日期:2026-05-15 17:45:22 浏览次数: 1759
作者:自由程序猿

微信搜一搜,关注“自由程序猿”

推荐语

当AI独自处理复杂任务时,常常会“遗忘”早期设定,导致逻辑混乱。而Subagent系统则通过分工协作,让多个AI助手各司其职,确保项目井然有序。

核心内容:
1. 从单AI处理复杂任务失败的经历,引出Subagent的必要性
2. 详解Subagent作为“专属助手”的定义、分工与协作机制
3. 对比Subagent与多开对话窗口在协调与并行能力上的本质优势

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

这篇讲 SubAgent,AI 协作体系里我觉得最有想象空间的一块。


从一次懵懂的经历说起

几个月前有个需求:给某平台的前后端加一套完整的权限系统。

前端要做路由守卫、动态菜单渲染、按钮级别的权限控制。后端要设计 RBAC 数据模型、写权限中间件、给每个接口补上鉴权逻辑。

任务不小,当时还不懂 Subagent,但觉得 Claude Code 能搞定,就直接上了。

开始挺顺的。AI 一路改,我一路看。

但改到后半程,上下文越来越长,AI 开始出问题。

它「忘了」前面设计好的权限数据结构,后端中间件和前端路由守卫的权限字段开始对不上。同一个接口的鉴权逻辑,前面写了一版,后面又另写了一遍,两版行为不一样。改前端 Vue 组件时,还会悄悄动后端的路由配置。

到最后我 commit 的时候,打开 diff 看了半天——前后端改动交织在一起,逻辑互相影响,根本没法 review。

后来我才想明白:

问题不是 AI 能力不够,是一个 AI 扛不住这么大的任务。

上下文窗口满了,早期的决定被「忘掉」,后面的操作开始跟前面打架。任务越大,越容易翻车。

Subagent 就是为这种情况设计的。

一个 AI 扛大任务 vs 多个 Subagent 分工协作

什么是 Subagent

说白了,Subagent 就是从主 AI 拆出去的「专属助手」。

每个 Subagent 有自己独立的上下文窗口、自己的系统提示、自己的工具权限,甚至可以跑不同的 AI 模型。

主 AI 遇到适合某个 Subagent 的任务,就委派给它。Subagent 独立完成,把结果返回来,整个过程不会污染主会话的上下文。

这个系列一直用「新员工」来比喻 AI:

Rule 是规章制度,Command 是操作手册,Skill 是专项技能,Hook 是安检闸机。

Subagent,就是你的团队成员。

你是项目负责人(主 Agent),遇到前端任务,交给前端 Subagent;遇到安全审查,交给安全 Subagent;遇到要搜索代码,交给专门探索代码库的 Subagent。

每个 Subagent 专注自己的领域,各干各的。

subagent-team

Subagent 和新开对话窗口有什么区别

很多人第一反应:这不就是多开几个 Claude Code 窗口吗?

表面上看确实像,但有几个本质区别。

协调成本

新开窗口:你自己要充当「中间人」——把主对话的背景信息复制过去,再把结果粘贴回来。任务一多,来回倒腾很累。

Subagent:主 Agent 自动完成任务委派、上下文传递、结果接收,整个过程不需要你手动干预。

并行能力

新开窗口:同时管几个窗口,靠你自己记住每个窗口在做什么,协调起来容易乱。

Subagent:主 Agent 可以同时派出多个 Subagent 并行跑,结果统一汇总,你只需要看主对话的最终结果。

上下文控制

新开窗口:新会话完全空白,你得手动把相关背景交代清楚。

Subagent:主 Agent 会把必要的上下文打包传过去,Subagent 拿到的是「够用的信息」,不会带着主对话的全部历史。

用一个比喻:新开对话窗口是你自己同时接两个电话,两边的信息靠你自己来回传话;Subagent 是你有一个团队,把任务交代下去,他们做完直接给你汇报。


Claude Code 内置了哪几个「团队成员」

不用自己配,Claude Code 已经内置了几个常用的 Subagent,会根据场景自动调用:

Explore — 代码探索员

  • 用途:搜索和理解代码库
  • 模型:Haiku(速度快、成本低)
  • 权限:只读,不能写文件

你让 AI 理解某个模块的结构,或者全局搜索某个函数在哪里被调用,它会把这个任务交给 Explore Subagent 去干。

结果返回到主 AI,但搜索过程中产生的大量中间上下文留在 Explore 那边,不会撑满你的主会话。

Plan — 规划师

  • 用途:进入 Plan 模式后收集上下文、制定方案
  • 模型:继承主会话
  • 权限:只读

你用 /plan 让 AI 先做规划再动手,背后就是 Plan Subagent 在帮你读代码、分析依赖、整理思路。

General-purpose — 全能手

  • 用途:复杂的多步骤任务(既要读又要改)
  • 模型:继承主会话
  • 权限:全部工具

需要探索 + 修改组合的任务,比如「读懂这个模块,然后帮我重构」,交给 General-purpose。


什么任务值得做成 Subagent

不是所有任务都适合拆成 Subagent。有四个判断维度:

重复频繁:这个任务每天、每个项目都会遇到?比如代码审查、文档生成、安全检查。

上下文重:完成这个任务需要读大量文件,会快速消耗主会话的上下文容量?

流程固定:这个任务有明确的执行步骤,每次做法都差不多?

可以并行:这个任务不依赖其他任务的输出,可以同时开工?

满足两个以上,就值得做成 Subagent。


6 个适合用 Subagent 的场景

① 前后端同时开发

最直观的并行场景。

一个功能要同时改后端 API 和前端组件,通常的做法是先做后端,再做前端,来回等待。

用两个 Subagent 并行跑:一个专门写后端接口,一个专门写前端组件。各自独立,同时推进。

并行的前提:两个任务之间没有依赖,不会同时修改同一个文件。

② 探索大型代码库

接手一个不熟悉的项目,想先搞清楚结构,再开始改代码。

直接在主会话里让 AI 翻文件,翻的过程会加载大量内容,把上下文撑满。然后你还没开始改代码,上下文就快没了。

让 Explore Subagent 去做这件事,它在自己的上下文里把整个代码库梳理一遍,把关键信息汇总给你,主会话上下文一点都没动。

③ 安全审查 / 专项检查

代码写完了,让一个专门做安全审查的 Subagent 跑一遍。

它不需要知道你整个项目的背景,只需要专注「找问题」这件事。系统提示里把 OWASP 检查清单、JWT 校验要点、敏感日志检测全写进去,它就是一个比你更懂安全的专家。

这个和前面讲过的 Skill 有点像,但有个关键区别——Skill 是给主 AI 的额外指令,Subagent 是完全独立的上下文。审查过程里加载的所有内容,不会影响你后续的开发操作。

④ 工作成果验证

代码改完了,让一个专门做验证的 Subagent 检查一遍:接口返回是否符合预期、页面渲染是否正确、单元测试是否通过。

主 Agent 改完代码,自动触发验证 Subagent,发现问题反馈给主 Agent 修复。整个验证流程不消耗主会话的上下文,也不需要你手动检查。

这种「改完就验」的闭环,是 Subagent 最能发挥价值的地方之一。

⑤ 多假设并行排查 Bug

碰到一个棘手的 Bug,不确定根本原因在哪。

开好几个 Subagent,每个去验证一个假设:一个查网络层,一个看认证逻辑,一个分析数据库查询,一个看缓存配置。

并行跑,比一个 AI 挨个假设验证快得多。各自独立,结论也更可信。

⑥ 后台异步任务

有些事不急,但你也不想停下来等。

把文档生成、单元测试生成、代码库分析这类任务丢给后台 Subagent,按 Ctrl+B 让它在后台跑。你继续做你的事,需要的时候用 /tasks 查一下进度,结果好了再过来看。


怎么使用 Subagent

知道了 Subagent 能做什么,先讲怎么用,再讲怎么创建。

自动触发

最省心的用法——你正常和 Claude 对话,它自己判断要不要调 Subagent。

比如你说「帮我把这个模块的函数调用关系梳理一下」,Claude 会自动调起内置的 Explore Subagent 去做探索,你不需要额外操作。

触发不触发,取决于 Subagent 的 description。Claude 会把你的请求和所有 Subagent 的 description 做匹配,觉得合适就委派过去。

手动指定

想确保用到某个特定的 Subagent,直接说名字:

用 security-reviewer 帮我检查一下 src/api/ 目录下的接口安全性

或者更自然的表达:

让代码简化助手处理一下我刚改完的这几个文件

关键操作建议手动指定,不要依赖 Claude 自己判断。

后台运行

不想等、又不想停下来的任务,加一句「在后台跑」:

在后台帮我生成这个模块的单元测试

Claude 会启动一个后台 Subagent,你继续做你的事。

用 /tasks 查看所有后台任务的状态,有结果了再过来看。也可以按 Ctrl+B 直接把当前任务推到后台。

并行执行

想同时跑多个任务,一次性交代清楚:

同时做两件事:
1. 用 backend-dev 写 /api/permission 的 CRUD 接口
2. 用 frontend-dev 写对应的前端组件和 API 调用层
两个任务可以并行,不互相依赖

Claude 会同时派出两个 Subagent,各自独立运行,你等最终汇报就行。


怎么创建自己的 Subagent

方式一:用 /agents 菜单

在 Claude Code 里输 /agents,打开交互式界面。

选择「创建新 Agent」,可以自己写系统提示,也可以让 Claude 根据你的描述帮你生成。选好工具权限、AI 模型、保存位置,就创建好了。

不需要重启,立即生效。

create-new-agents

方式二:直接写文件

Subagent 是一个 Markdown 文件,放在指定目录里:

目录
作用域
~/.claude/agents/
个人全局,所有项目可用
.claude/agents/
项目级,可提交 git,团队共享

文件格式:

---
name: security-reviewer
description: 安全审查专家。当用户说「帮我做安全 review」「检查代码安全性」,或代码改完需要安全审查时触发。
tools: Read, Grep, Glob
model: sonnet
color: blue
---


你是一位经验丰富的安全工程师,专注于 Web 应用安全审查。

执行安全审查时,依次检查以下几点:

1. 
认证与授权:JWT 是否校验 expiration,权限控制是否到位
2. 输入校验:是否存在 SQL 注入、XSS、路径遍历等风险
3. 敏感信息:密钥、密码是否可能泄漏到日志或响应体
4. 接口防护:关键接口是否有频率限制
5. 依赖安全:第三方包是否有已知漏洞

对每个问题,给出:位置、风险等级(高/中/低)、修复建议。

两个字段是必填的:name(Subagent 名称)、description(Claude 据此判断什么时候调用它)、以及正文里的系统提示。

description 写好是关键。

这段描述决定了 Claude 在什么情况下会主动调用这个 Subagent。写清楚触发条件——「当用户说 XX」「当遇到 XX 情况时」——比只写功能描述有用得多。

自动调用还是手动指定?

Claude 会根据 description 自动判断什么时候调用 Subagent,但不是所有场景都适合完全交给它自己判断。

  • 自动调用:适合探索、搜索这类辅助型任务,description 写清楚触发条件,让 Claude 自己决定就行。
  • 手动指定:涉及代码修改、安全审查这类关键操作,建议直接告诉 Claude「用 XX Subagent 做这件事」——更可控,不容易出错。

关键流程手动指定,非关键流程交给自动触发,是比较稳的用法。

几个常用配置

让 Subagent 用更便宜的模型

简单的搜索、探索任务不需要最强的模型:

---
name: code-explorer
description: 搜索和分析代码库结构、函数调用关系、依赖关系
tools: Read, Grep, Glob
model: haiku
color: red
---


你是代码库探索助手。快速搜索和分析代码结构,给出清晰的摘要。

用 Haiku 跑探索任务,速度更快,费用也更低。

限制 Subagent 的权限

只读的审查 Subagent 不应该有写文件的权限:

---
name: code-reviewer
description: 代码审查,只读,不修改文件
tools: Read, Grep, Glob, Bash
disallowedTools: Write, Edit
model: sonnet
color: green
---

写清楚「不要做什么」

系统提示里不只要写 Subagent 该做什么,也要把边界说清楚。否则 AI 容易「好心办坏事」——功能跑起来了,但顺手改了一堆不该改的地方。

比如这个代码简化助手,专门在功能实现完成后做一遍清理:

---
name: code-simplifier
description: 简化和清理代码,移除冗余,提高可读性
tools: Read, Write, Edit, Grep
model: sonnet
color: purple
---


你是一个代码简化专家。你的任务是在功能实现完成后,对代码进行简化和优化。

## 工作原则

保持功能不变的前提下:
移除重复的代码逻辑
简化复杂的条件判断
提取可复用的函数
使用更简洁的语法
保持命名清晰

## 不要做的事

不要改变代码的功能
不要引入新的依赖
不要过度抽象
不要改变代码风格(和项目保持一致)

## 工作流程

1. 
读取最近修改的文件
2. 分析可以简化的地方
3. 执行简化
4. 说明做了哪些改动

有权限写文件,但系统提示里明确约束了它只做简化、不改功能、不改风格。权限和约束要配合——能力边界靠 tools 控制,行为边界靠系统提示约束。

让 Subagent 记住跨会话的知识

加上 memory 字段,Subagent 可以在会话之间积累项目知识:

---
name: arch-advisor
description: 架构顾问,了解项目历史决策,在重要架构问题上给出建议
model: sonnet
memory: project
---


你是项目架构顾问。每次完成分析后,把关键架构决策、踩过的坑、注意事项记录到记忆中。
下次被调用时,先回顾记忆,给出更贴合项目实际的建议。

注意事项

Subagent 不能再派发 Subagent。

套娃不支持。主 Agent 可以调用 Subagent,但 Subagent 不能再调用另一个 Subagent。任务只能拆一层。

并行的前提:任务之间不能有依赖,不能同时改同一个文件。

两个 Subagent 同时改同一个文件,结果会互相覆盖。并行之前想清楚边界——文件边界、模块边界都要分清楚。如果任务之间有依赖关系,就得顺序执行,不能强行并行。

description 写太宽泛,Subagent 会乱触发。

Claude 靠 description 判断什么时候用这个 Subagent。写「帮我做任何代码任务」这种,会导致几乎所有任务都被委派过去,适得其反。写清楚具体的触发条件。

个人 Subagent 和团队 Subagent 分开放。

个人习惯型的放 ~/.claude/agents/,团队共用的(比如项目专属的安全审查 Subagent)放 .claude/agents/ 并提交 git,团队共享。

Subagent 和 Skill 可以配合用。

创建 Subagent 时,可以在 frontmatter 里用 skills 字段把现成的 Skill 预加载进去,Subagent 一启动就具备了那个 Skill 的能力。两者可以叠加,不是非此即彼。


去哪找现成 Subagent

Claude Code 官方文档

https://docs.anthropic.com/en/docs/claude-code/subagents

官方示例里有几个写得很好的 Subagent 模板(安全审查、API 开发、代码审查),可以直接拿来改。

GitHub

  • https://github.com/hesreallyhim/awesome-claude-code
  • https://github.com/VoltAgent/awesome-claude-code-subagents
  • https://github.com/wshobson/agents

社区贡献,有专门的 Subagent 分类,持续更新,质量较好,量大。

你自己的 Skill

如果你已经有一个写得不错的 Skill,给它加上 YAML frontmatter 里的 namedescription 和 tools,它就能升级成一个 Subagent——独立上下文、可以分配模型、可以限制工具。


总结

Rule 让 AI 知道规矩,Command 封装操作流程,Skill 给 AI 装专业能力,Hook 在操作前后做自动检查。

Subagent 让 AI 学会分工:复杂的任务,不再是一个 AI 死扛。

探索代码有探索员,安全审查有安全专家,前后端可以同步推进——每个 Subagent 专注自己的事,主 Agent 只管汇总结果。

一个人扛,上限是一个人。拆给团队,上限是整个团队。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅