subagent-driven-development
为每个任务派遣子代理,两阶段审查(合规性 + 代码质量)。
评分明细
适用场景
subagent-driven-development 快速入门
让 AI 把”写代码”拆成”派遣子代理 + 两阶段审查”,把单兵作战升级成有质检的流水线。
这是什么?解决什么问题?
subagent-driven-development(子代理驱动开发)是 Obra 团队(superpowers 套件)中专门负责”任务调度”的工作流 Skill。它解决的是当下用 AI 写代码时最常见的三个痛点:第一,主对话里上下文塞得越来越满,跑了几轮后模型开始”健忘”,忘记前面的设计;第二,长任务一气呵成,最后翻车才发现某一步早就跑偏;第三,产出代码没人审,合规性和代码质量都要靠运气。
这个 Skill 的核心思路是:把”一个长任务”拆成若干个”独立、可派发、可验收”的小任务,然后用子代理(Subagent)逐个派遣出去执行,每个子任务完成后还要经过两阶段审查——一是”它是不是按要求做的”(spec compliance / 合规性),二是”它写得好不好”(code quality / 代码质量)。两个审查都通过才算完成,中间出现偏差可以立刻打回返工,而不必等到整条流水线结束才发现。
它归属于 obra/superpowers 这个包含十余个工程方法论 Skill 的合集,定位是”工程方法”类,可与 brainstorming、writing-plans、test-driven-development 等 Skill 串联使用。Obra 本身在 GitHub 上的 superpowers 仓库 40k+ Stars、MIT 协议,是 Claude Code 生态里常被工程团队引用的”AI 软件工程流程”参考实现。
准备工作
在开始之前,请确认你已经具备以下条件:
- Claude Code 或兼容的 Agent 客户端:本 Skill 设计上以 Claude Code 为主要宿主,其他兼容 Agent(如 Cursor 的某些 Agent 模式)也能消费。
- Node.js 18+ 与 Git:用于在本地克隆 superpowers 仓库并跟踪版本。
- 一个测试用项目:建议先拿一个 5-10 个文件的小型 Node.js / Python 项目练手,不要直接上生产代码。
- 能访问 GitHub:克隆 obra/superpowers 仓库需要
https://github.com/obra/superpowers。 - 心态准备:第一次用会感觉”啰嗦”,但这是它强制两阶段审查的代价,熟悉后效率会显著高于”一把梭”。
3 步快速上手
第 1 步:安装 Skill
把 superpowers 仓库克隆到本地,然后在 Claude Code 中通过文件路径把 Skill “挂上”。
git clone https://github.com/obra/superpowers.git ~/superpowers
进入仓库后,找到 skills/subagent-driven-development/ 目录,里面就是 Skill 的全部内容(SKILL.md 是主入口)。
如果你使用 Claude Code,可以在 ~/.claude/skills/ 下创建软链接,让 Agent 自动发现:
mkdir -p ~/.claude/skills
ln -s ~/superpowers/skills/subagent-driven-development ~/.claude/skills/subagent-driven-development
其他 Agent(比如 Cursor)请参考其官方文档,把 SKILL.md 路径加入 Skills 扫描目录即可。
第 2 步:验证安装
打开 Claude Code,新开一个对话,直接问它:
列出你已经加载的 Skill,看看有没有 subagent-driven-development。
正常情况下,Agent 会回读 SKILL.md 的 frontmatter 并告诉你它已就绪。你也可以打开 ~/superpowers/skills/subagent-driven-development/SKILL.md,确认文件存在且没有损坏(应包含 YAML frontmatter + Markdown 正文)。
第 3 步:用 Skill 跑第一个任务
进入你准备好的测试项目,启动 Claude Code 后输入:
请使用 subagent-driven-development 流程,在 src/ 下新增一个
utils/slugify.js,把任意字符串转换为 URL 友好的 slug。要求有单元测试,不要破坏现有测试。
Agent 会按 SKILL.md 的指令:
- 把”写 slugify + 写测试”拆成 2 个子任务并派遣子代理;
- 第一个子代理完成后,触发合规性审查(检查是否真的在
src/utils/slugify.js写了导出函数、是否真的加了测试); - 接着触发代码质量审查(命名、边界条件、复杂度、是否复用现有工具);
- 任意审查未通过,打回对应子任务重做;
- 全部通过后,把变更汇总展示给你,等你做最终人工检查点。
常见踩坑
- 把”大任务”原样丢给 Skill:例如”帮我重构整个项目”,这超出了单次可派发范围。正确做法是先用
writing-plansSkill 拆成 2-5 分钟粒度的小任务,再让 subagent-driven-development 调度。 - 关闭两阶段审查:为了”快”,手动跳过合规性或质量审查。短期看省时间,长期看就是给系统埋雷,产物不可信。
- 子代理之间不隔离上下文:在 Claude Code 里一定要用 Task 工具(它会自动新开会话),而不是在主对话里手动模拟”假装是子代理”。子代理的真正价值是上下文隔离。
- 没有验收标准:派子代理时只说”写一下”,没给”输入什么、输出什么、跑哪个测试”。这种任务几乎必返工,两阶段审查会卡在第一步。
- 把审查交给子代理自己:两阶段审查最好由主代理执行,而不是子代理自审。否则容易出现”既当运动员又当裁判”的问题。
- 忘记人工检查点:即使两阶段审查都过了,在合并前还是要看一眼 diff,特别是涉及
package.json、requirements.txt这类元数据变更时。
初级用法
- 一对一派遣:主任务明确能拆为 1 个子任务,直接派 1 个子代理 + 两阶段审查。适合”加 1 个工具函数 + 1 个测试”这种小颗粒度。
- 顺序派遣:任务 A 必须先完成(因为 B 依赖 A 的接口),按顺序派 2 个子代理,中间插入合规性审查。
- 批量同质任务:用 1 个子代理模板,反复派发(每个子代理独立会话),适合”批量重命名 50 个文件”这类操作。
高级玩法
- 与
writing-plans串联:先用 writing-plans 把工作拆成可验收的小计划,再让 subagent-driven-development 按计划逐项派遣,实现”先规划后执行”。 - 审查代理专业化:把两阶段审查分别交给两个子代理——一个专注 spec compliance,一个专注 code quality,避免主代理注意力分散。
- 失败快速失败(Fail-Fast):在 SKILL.md 之外,自定义规则:若任一子代理三轮内未通过审查,直接终止整条流水线并报警,避免无限返工。
小技巧
- 派遣子代理时,把”验收标准”放在 prompt 第一行,而不是最后一行。子代理对开头的指令关注度最高。
- 审查阶段要求审查代理输出 diff 而非自然语言总结,可以减少”看起来 OK 实际有 bug”的情况。
- 在子代理 prompt 里加上”如果遇到不清楚的接口,先返回澄清问题,不要猜测”,可以显著降低返工率。
- 配合 git 使用时,每个子代理任务结束后先 commit 一次,审查通过再合并,实现”原子提交 + 审查”。
- 不要在子代理里再嵌套派遣子代理,会迅速把上下文耗光,只做一层派遣 + 两阶段审查即可。
参考链接
- obra/superpowers 仓库:https://github.com/obra/superpowers
- subagent-driven-development 源码目录:https://github.com/obra/superpowers/tree/main/skills/subagent-driven-development
- Claude Code 官方 Skills 文档:https://docs.claude.com/en/docs/claude-code/skills
- 配套 Skill
writing-plans:https://github.com/obra/superpowers/tree/main/skills/writing-plans - 配套 Skill
test-driven-development:https://github.com/obra/superpowers/tree/main/skills/test-driven-development
本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。如有错误或过时信息,请通过 contact@magicnetworld.com 反馈。
subagent-driven-development Skill 多维度简评
来源:obra/superpowers 类别:工程方法 / 子代理分发 核心创新:用”上下文隔离”换稳定性
一、核心定位与价值
这是 superpowers 工作流的第 4 步——解决长对话 AI 编程的最大痛点:上下文污染。
二、痛点:长对话 AI 编程的 5 个问题
传统单 Agent 工作流里:
- ❌ 上下文膨胀 → 注意力漂移
- ❌ 前后自相矛盾
- ❌ 小错误被累积放大
- ❌ 早期决策被遗忘
- ❌ 返工率高
三、解决方案:子代理隔离
核心思路:把大计划拆成小任务,然后**每个任务启动一个”干净的子代理”**来执行。
核心原则:每个任务一个新的子代理 + 两阶段审查(spec 合规性先,代码质量后)= 高质量、快速迭代
好处:
- ✅ 每个子代理上下文都是干净的
- ✅ 每个任务完成后 commit
- ✅ 每个任务都可独立 review
- ✅ 失败容易回滚
四、何时使用
Skill 内部包含一个决策树:
有实现计划?
├─ 是 → 任务大部分独立?
│ ├─ 是 → 在当前会话中执行?
│ │ ├─ 是 → subagent-driven-development
│ │ └─ 否 → executing-plans(并行会话)
│ └─ 否(紧耦合)→ 手动执行或先 brainstorm
└─ 否 → 手动执行或先 brainstorm
持续执行原则:不要在任务之间暂停与人类伙伴确认。无间断执行所有任务。仅在遇到无法解决的 BLOCKED 状态、真正阻碍进展的模糊性、或所有任务完成时才停止。
五、每个任务的 3 步流程
┌─────────────────────────────────┐
│ 1. 派发实现子代理 │
│ - 独立上下文 │
│ - 只接收任务文本和必要上下文 │
└─────────────────────────────────┘
↓
┌─────────────────────────────────┐
│ 2. Spec 合规审查 │
│ - 逐行对照 spec │
│ - 检查缺失/多余/误解 │
│ - 不通过 → 修复 → 重新审查 │
└─────────────────────────────────┘
↓
┌─────────────────────────────────┐
│ 3. 代码质量审查 │
│ - 逻辑正确性 │
│ - 风格一致性 │
│ - 命名质量 │
│ - 测试覆盖 │
│ - 不通过 → 修复 → 重新审查 │
└─────────────────────────────────┘
↓
Commit
六、4 大实战场景
场景 1:大型功能开发
提示词:
用 subagent-driven-development 实现用户管理系统的 8 个子功能:
- 注册
- 登录
- 找回密码
- 修改密码
- 用户列表
- 用户详情
- 用户编辑
- 用户删除
每个功能一个子代理,2 阶段审查。
自动执行:
- 派发 8 个子代理(并行)
- 每个子代理完成自己的功能
- 每个子代理完成后自动进入审查
- 全部通过后整体验收
场景 2:多文件重构
提示词:
重构我的认证模块:
- src/lib/auth.ts
- src/lib/jwt.ts
- src/middleware/auth.ts
- src/app/api/auth/login/route.ts
每个文件一个子代理,确保不破坏现有功能。
场景 3:批量修复 Bug
提示词:
我的项目里有 20 个 TODO 要清理:
- 列出所有 TODO
- 每个 TODO 一个子代理
- 评估是否真的需要修、怎么修
- 给出修复方案
场景 4:测试覆盖提升
提示词:
我的项目测试覆盖率只有 30%:
- 找出所有未测试的关键函数
- 每个函数一个子代理
- 写测试用例
- 提升覆盖率到 80%+
七、并行 vs 串行
串行执行(默认)
Task 1 → 等完成 → Task 2 → 等完成 → Task 3 → ...
适合:任务有依赖关系的场景。
并行执行(dispatching-parallel-agents)
Task 1 ─┐
Task 2 ─┤ 同时进行
Task 3 ─┤
Task 4 ─┘
适合:独立任务,无依赖。
# Claude Code
"用 dispatching-parallel-agents 并行处理这 4 个独立任务"
八、两阶段审查详解
第一阶段:Spec 合规审查
审查什么:
- ✅ 实现是否符合 spec/plan?
- ✅ 是否漏掉了某个需求?
- ✅ 是否做了 spec 外的事?
- ✅ 是否误解了某个需求?
第二阶段:代码质量审查
审查什么:
- ✅ 逻辑正确性
- ✅ 边界条件处理
- ✅ 错误处理
- ✅ 代码风格一致
- ✅ 命名质量
- ✅ 测试覆盖
- ✅ 文档完整性
九、安装
# superpowers 套装
/plugin install superpowers@claude-plugins-official
# 单独使用
npx skills add obra/superpowers --skill subagent-driven-development
十、常见 Q&A
Q: 必须用 Opus 4.6+ 吗? A: 效果最佳,但 Sonnet 也能用。
Q: 子代理能嵌套吗? A: 可以,但要小心复杂度。
Q: 失败任务怎么处理? A: 独立 commit,独立修复,不影响其他任务。
Q: token 消耗? A: 相对单代理会多一些,但稳定性大幅提升。
Q: 适合小项目吗? A: 适合复杂项目。小项目用单代理即可。
十一、总结
subagent-driven-development Skill 是 AI 编程稳定性的关键创新。
核心价值:
- 上下文隔离解决长对话漂移
- 2 阶段审查保证质量
- 小步提交保证可回滚
适用人群:
- ✅ 复杂功能开发
- ✅ 长会话任务
- ✅ 团队规范化
本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测。
参考资料
- obra/superpowers 官方仓库 — GitHub 官方仓库
- subagent-driven-development SKILL.md 源码 — 官方 Skill 定义
- b-lab.team: Superpowers 深度解析 — 方法论分析
- Superpowers for Claude Code: Complete Guide — 完整指南
- skilld.dev: subagent-driven-development — Skill 详情
快速安装
git clone https://github.com/obra/superpowers.git ~/superpowers mkdir -p ~/.claude/skills
ln -s ~/superpowers/skills/subagent-driven-development ~/.claude/skills/subagent-driven-development