前言
本文概括
Claude Code 使用经验目录
记录我使用 Claude Code 做研发提效时,如何从固定角色提示词演进到 SubAgent 主从协作。
重点整理固定角色提示词、SubAgent 协作、CLAUDE.md/AGENTS.md 约束、固定开发工作流、主子工作流分层。
这不是一篇工具白皮书,更像是一次被真实开发问题倒逼出来的个人复盘。
- Claude Code 使用经验(一):从角色提示词到 SubAgent 协作 点击我查看(当前位置)
- Claude Code 使用经验(二):验证闭环、状态同步与 Worktree 隔离 点击我查看
为什么要从提示词聊起
刚开始用 AI 编程工具时,我关注的其实很简单:它能不能帮我把代码写快一点。
但真正把 Claude Code 放进日常开发后,很快会发现一个更关键的问题:AI 不只是要会写代码,还要能在复杂任务里稳定协作。
一次性生成代码并不难,难的是:
- 需求被拆开后,谁负责理解,谁负责实现,谁负责验证
- 多个任务并行时,状态怎么同步
- 对话变长以后,规则和历史决策怎么不丢
- AI 说“完成了”以后,怎么判断它是真的完成
所以我的使用路径,大概经历了这样几个阶段:
1 | flowchart LR |
本文先讲前半段:从“用提示词模拟团队”,到“用 SubAgent 建立真正的协作链路”。
固定角色提示词:先把 AI 当成一个虚拟开发团队
最早的做法,是给 AI 固定几个角色,比如产品经理、前端工程师、后端工程师。
这套方式的核心不是让 AI “演得像”,而是让同一个需求能从不同视角被拆开。
产品角色提示词示例
1 | 你是一名产品经理,负责把用户需求转化为结构化研发输入。 |
前端角色提示词示例
1 | 你是一名前端工程师,基于产品需求输出前端实现方案。 |
后端角色提示词示例
1 | 你是一名后端工程师,基于产品需求和前端依赖输出后端实现方案。 |
这套方式在早期很有用。它至少让我不再直接对 AI 说“帮我写个功能”,而是先让需求、页面、接口这些东西被拆开。
1 | flowchart TD |
这个阶段解决了什么
固定角色提示词解决的是“AI 如何参与研发流程”的入门问题。
它的收益很直接:
- 模糊需求更容易被拆成结构化内容
- 产品、前端、后端不再混在一段回答里
- 开发前会自然多一步分析
- 对个人开发者来说,可以模拟一个小型研发团队
这个阶段的问题
但它的上限也很明显。
第一,角色之间没有真实协作。产品角色说完以后,前端角色并不会自动知道哪些结论已经落地,信息还是要靠人搬运。
第二,状态不可追踪。AI 输出了很多建议,但很难判断哪些已经实现、哪些只是方案、哪些还没验证。
第三,容易产生幻觉。尤其是文档没有更新时,后续角色可能会基于旧信息继续推进。
所以固定角色提示词适合入门,但不适合长期支撑复杂研发任务。
阶段结论:角色拆分可以让 AI 更像一个团队,但它还不是一个真正的协作系统。
SubAgent:从静态角色变成主从协作
后来我开始使用 SubAgent 模式。这个阶段最大的变化是:不再让多个角色各说各话,而是由主 Agent 统一接收目标、拆任务、分发、回收结果。
它更像一个“负责人 + 执行者”的结构。
1 | flowchart TD |
一个常见分工可以这样写:
1 | 主 Agent: |
这一步比固定角色提示词更实用,因为任务开始有了“调度者”。
SubAgent 解决的问题
SubAgent 模式主要解决了三件事:
- 不同任务可以围绕同一个目标推进
- 主 Agent 可以统一管理进度和依赖
- 子任务可以交给更聚焦的执行者处理
对复杂任务来说,这比让一个 AI 从头做到尾稳定很多。
尤其是跨前端、后端、测试、文档的任务,如果全部放在一个对话里,很容易上下文膨胀。拆给 SubAgent 后,局部任务的上下文会小很多,执行也更专注。
SubAgent 暴露的新问题
不过 SubAgent 并不会自动带来秩序。
我遇到过几个典型问题:
- 主 Agent 一边调度一边写代码,最后又变回“大而全单 Agent”
- SubAgent 接到任务后顺手扩张范围,改了不该改的文件
- 任务完成后没有标准化回传,主 Agent 不知道风险在哪里
- 长对话触发压缩后,前面约定的规则被弱化
这时问题的本质已经不是“有没有协作”,而是“协作有没有治理”。
阶段结论:SubAgent 解决了协作链路问题,但没有自动解决职责边界和规则稳定问题。
用 CLAUDE.md / AGENTS.md 固化协作规则
在 SubAgent 使用一段时间后,我开始把关键规则写进 CLAUDE.md 或 AGENTS.md。
原因很简单:不要把长期规则只放在聊天记录里。
聊天记录会变长,会压缩,会被遗忘;但项目规范文件可以被反复读取,也更适合作为团队共识。
主 Agent 规范示例
1 | # 主 Agent 规范 |
SubAgent 规范示例
1 | # SubAgent 规范 |
这些规范看起来有点啰嗦,但实际价值很高。
它们不是为了限制 AI,而是为了防止 AI 在长任务里“漂移”。
规则文件解决的问题
把规则文件化以后,变化很明显:
- 主 Agent 更不容易沉入局部实现
- SubAgent 更清楚自己不能乱扩范围
- 每次任务开始前都有统一约束
- 长对话压缩后,也能通过文件重新找回规则
但规则文件只能解决“谁该做什么”,还不能解决“应该按什么顺序做”。
这就需要固定开发工作流。
阶段结论:AI 协作不能只靠临时提示词,关键规则必须文件化,才能从个人习惯变成可复用资产。
固定开发工作流:让任务少漏步骤
在角色边界稳定后,我开始给 Claude Code 任务固定一套开发工作流。
一个通用版本如下:
1 | 1. 需求理解 |
对应到执行过程,可以画成这样:
1 | flowchart LR |
工作流模板示例
1 | # 开发工作流 |
固定流程带来的收益
固定工作流最大的意义,是减少“看起来做了很多,但其实漏了关键步骤”的情况。
比如以前很容易出现:
- 代码写了,但没有跑验证
- 文档改了,但任务状态没更新
- SubAgent 说完成了,但没有说明风险
- 主 Agent 汇总时,只看到了产出,没有看到验证结果
工作流固定后,这些问题更容易暴露出来。
阶段结论:AI 提效不只靠模型能力,也靠稳定流程。流程越清楚,返工越少。
主子工作流分层:不要让所有 Agent 做同一套事
固定工作流跑久了以后,又会遇到一个新问题:如果主 Agent 和 SubAgent 都走同一套流程,反而会变重。
主 Agent 应该做管理,SubAgent 应该做执行。两者需要不同粒度的工作流。
主 Agent 工作流
1 | 1. 接收任务目标 |
SubAgent 工作流
1 | 1. 接收明确子任务 |
两者的关系可以理解为:
1 | flowchart TD |
分层之后的变化
主子工作流分层后,协作会更接近真实研发团队:
- 主 Agent 不再长期陷入局部代码细节
- SubAgent 不需要背全部全局上下文
- 每个子任务的输入、输出、验证边界更清楚
- 主 Agent 汇总时更容易判断当前状态
这一步非常关键。因为很多 AI 协作失败,不是因为 AI 不会写代码,而是因为所有角色都在做所有事。
阶段结论:主 Agent 和 SubAgent 不只是职责不同,工作流也应该不同。只有分层,协作才不会重新退化成单 Agent 模式。
本篇小结
从固定角色提示词到 SubAgent 协作,我最大的感受是:AI 提效不是简单地“写一个更好的 prompt”。
更稳定的路径应该是:
- 用固定角色提示词解决入门阶段的视角拆分问题
- 用 SubAgent 建立真实的主从协作链路
- 用 CLAUDE.md / AGENTS.md 固化规则,减少长对话漂移
- 用固定开发工作流降低漏步骤和返工概率
- 用主子工作流分层控制上下文压力和职责边界
如果只停留在提示词层面,AI 很容易变成一个“很会输出内容的助手”。但当角色、规则和流程都逐步稳定后,它才更像一个可以参与研发协作的工程伙伴。
下一篇会继续整理后半段:当 SubAgent 可以并行执行后,为什么还需要 Worktree 隔离、验证闭环、状态同步,以及为什么人仍然必须保留最终判断权。


