第 5 章:自动编码 — subagent 流水线实战

⏱ 预计阅读 10 分钟 更新于 2026/5/18
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)

你将学到什么

  • 什么是 subagent(子代理)以及它怎么工作
  • /subagent-driven-development 自动执行实施计划
  • 三个 subagent 角色的分工:implementer、spec reviewer、code quality reviewer
  • 理解 review 循环:发现问题 → 修复 → 再审查

5.1 什么是 subagent

subagent 就是你(通过 Claude Code)派出去干活的"小分身"。每个 subagent 有独立的上下文,只专注于一个任务。

打个比方:

角色 比喻 做什么
你(主对话) 项目经理 分配任务、审查结果、决定下一步
implementer subagent 开发工程师 写代码、写测试、自检
spec reviewer subagent 产品经理 检查代码是否满足需求
code quality reviewer subagent 技术负责人 检查代码质量

5.2 /subagent-driven-development 工作流

命令语法

/subagent-driven-development [计划文件路径]

完整流程

flowchart TB
    START["读取计划文件
提取所有任务"] --> PICK["选择下一个任务"] PICK --> IMPL["派 implementer subagent
━━━━━━━━━━━━━
写测试 → 写代码
跑测试 → 自检 → commit"] IMPL --> SPEC{"派 spec reviewer
检查需求覆盖"} SPEC -- "不通过" --> FIX1["implementer 修复"] FIX1 --> SPEC SPEC -- "通过 ✅" --> CODE{"派 code quality reviewer
检查代码质量"} CODE -- "不通过" --> FIX2["implementer 修复"] FIX2 --> CODE CODE -- "通过 ✅" --> DONE["标记任务完成"] DONE --> MORE{还有任务?} MORE -- "是" --> PICK MORE -- "否" --> FINAL["最终审查 + 合并"] style IMPL fill:#dbeafe,stroke:#2563eb style SPEC fill:#fef3c7,stroke:#d97706 style CODE fill:#ede9fe,stroke:#7c3aed style FINAL fill:#dcfce7,stroke:#16a34a

5.3 实战:执行 NoteFlow 计划

启动 subagent 驱动开发

/subagent-driven-development docs/superpowers/plans/noteflow-p0.md

Claude 会读取计划文件,提取所有任务,创建任务列表。

Task 1 执行过程

第 1 步:implementer subagent 出发

Claude 派出一个 implementer subagent,给它完整的 Task 1 描述(从计划文件中提取)。subagent:

  1. 写测试文件 src/utils/storage.test.js
  2. 运行测试,确认红灯(函数还没实现)
  3. 写实现代码 src/utils/storage.js
  4. 运行测试,确认绿灯
  5. 自检一遍代码
  6. commit

subagent 完成后报告状态:

DONE — Task 1 完成

  • 创建了 src/utils/storage.js(3 个函数)
  • 创建了 src/utils/storage.test.js(3 个测试用例)
  • 所有测试通过
  • 已 commit: feat: add localStorage utility functions

第 2 步:spec reviewer 审查

Claude 派出 spec reviewer,对照计划检查:

✅ 通过 — Task 1 实现完整

  • saveNotes / loadNotes / getStorageUsage 三个函数均已实现
  • 测试覆盖所有函数
  • 无遗漏功能,无多余功能

第 3 步:code quality reviewer 审查

Claude 派出 code quality reviewer:

✅ 通过 — 代码质量合格

  • 函数命名清晰
  • 错误处理得当
  • 无硬编码值

第 4 步:标记完成,继续下一个任务

如果审查不通过怎么办

假设 implementer 在 Task 2(useNotes Hook)中遗漏了更新时间戳:

Spec reviewer 发现问题:

  • ❌ 缺失:更新笔记时 updatedAt 未自动更新
  • ❌ 缺失:删除笔记时缺少确认逻辑(spec 中要求)

implementer 修复:

  • 添加了 updatedAt: Date.now() 到更新函数
  • 添加了删除确认返回值

spec reviewer 复查:

  • ✅ 通过

修复后会再次审查,直到通过。不会跳过。

5.4 三个 subagent 的审查标准

spec reviewer — 对照需求检查

检查项 说明
功能完整 计划里要求的功能都实现了吗?
无多余功能 没有实现计划外的功能?
接口正确 函数的输入输出跟计划一致?
边界情况 空数据、异常输入有处理吗?

code quality reviewer — 检查代码质量

检查项 说明
命名 变量名、函数名是否清晰表达意图?
复杂度 函数是否过长?逻辑是否过于复杂?
重复 有没有重复代码可以抽取?
安全 有没有注入、XSS 等安全问题?

5.5 模型选择:什么时候用什么模型

subagent 可以用不同的 AI 模型。任务越简单,用越便宜的模型:

flowchart LR
    A["简单任务
1-2 个文件
spec 完整"] -->|"sonnet
(快+便宜)"| C[implementer] B["中等任务
多文件集成
需要判断"] -->|"sonnet"| C D["复杂任务
架构设计
需要深入理解"] -->|"opus
(强+贵)"| E[reviewer]
任务类型 推荐模型 原因
单文件实现(spec 完整) sonnet 代码明确,不需要深度推理
多文件集成 sonnet 需要理解上下文,但逻辑清晰
spec 审查 opus 需要精确对比需求,不能漏
code quality 审查 opus 需要品味和判断力

5.6 整个 NoteFlow P0 的执行时间线

Task 1: storage.js     ████████  (3 min)  ✅
Task 2: useNotes.js    ██████████████  (5 min)  ✅  (一次 review 修复)
Task 3: NoteList.jsx   ██████████  (4 min)  ✅
Task 4: NoteEditor.jsx ████████████████  (6 min)  ✅  (两次 review 修复)
Task 5: SearchBar.jsx  ████████  (3 min)  ✅
Task 6: App.jsx        ████████████████  (6 min)  ✅  (集成测试)
Task 7: 样式美化       ██████████  (4 min)  ✅

总计:~30 分钟,7 个 commit,全部测试通过

对比人工:同样功能,一个开发者可能需要 1-2 天。

动手做

  1. 确保第 4 章的计划文件已保存
  2. 运行 /subagent-driven-development docs/superpowers/plans/noteflow-p0.md
  3. 观察每个 subagent 的输出
  4. 如果审查不通过,观察修复过程
  5. 全部完成后,git log 查看自动生成的 commit 记录

本章小结

概念 说明
implementer 写代码 + 写测试 + 自检 + commit
spec reviewer 对照计划检查功能完整性
code quality reviewer 检查代码质量和安全性
review 循环 发现问题 → 修复 → 再审查,直到通过
任务独立性 每个 subagent 只看当前任务,不受其他任务干扰

核心原则: 三角色分工明确,互不干扰。implementer 负责写,两个 reviewer 负责查。发现问题时不会跳过,必须修到通过为止。