📚 工程方法 全难度 📦 Obra

subagent-driven-development

为每个任务派遣子代理,两阶段审查(合规性 + 代码质量)。

8.6 /10 ★★★★☆
📅 2026-06-15 · 🕒 5 分钟阅读 · 最后更新 2026-06-15 · 来源: Obra · 分析测评
#Obra#Skills
📄 相关文章

📊 评分明细

功能完备度
8.6 核心功能齐全
🎯 易用性
8.3 安装即用
🔧 可扩展性
8.9 支持定制和 fork
🔗 生态协同
8.5 可链式调用
🛡️ 稳定性
8.9 内置验证流程

🎯 适用场景

ObraSkills

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 软件工程流程”参考实现。

准备工作

在开始之前,请确认你已经具备以下条件:

  1. Claude Code 或兼容的 Agent 客户端:本 Skill 设计上以 Claude Code 为主要宿主,其他兼容 Agent(如 Cursor 的某些 Agent 模式)也能消费。
  2. Node.js 18+ 与 Git:用于在本地克隆 superpowers 仓库并跟踪版本。
  3. 一个测试用项目:建议先拿一个 5-10 个文件的小型 Node.js / Python 项目练手,不要直接上生产代码。
  4. 能访问 GitHub:克隆 obra/superpowers 仓库需要 https://github.com/obra/superpowers
  5. 心态准备:第一次用会感觉”啰嗦”,但这是它强制两阶段审查的代价,熟悉后效率会显著高于”一把梭”。

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 的指令:

  1. 把”写 slugify + 写测试”拆成 2 个子任务并派遣子代理;
  2. 第一个子代理完成后,触发合规性审查(检查是否真的在 src/utils/slugify.js 写了导出函数、是否真的加了测试);
  3. 接着触发代码质量审查(命名、边界条件、复杂度、是否复用现有工具);
  4. 任意审查未通过,打回对应子任务重做;
  5. 全部通过后,把变更汇总展示给你,等你做最终人工检查点。

常见踩坑

  1. 把”大任务”原样丢给 Skill:例如”帮我重构整个项目”,这超出了单次可派发范围。正确做法是先用 writing-plans Skill 拆成 2-5 分钟粒度的小任务,再让 subagent-driven-development 调度。
  2. 关闭两阶段审查:为了”快”,手动跳过合规性或质量审查。短期看省时间,长期看就是给系统埋雷,产物不可信。
  3. 子代理之间不隔离上下文:在 Claude Code 里一定要用 Task 工具(它会自动新开会话),而不是在主对话里手动模拟”假装是子代理”。子代理的真正价值是上下文隔离。
  4. 没有验收标准:派子代理时只说”写一下”,没给”输入什么、输出什么、跑哪个测试”。这种任务几乎必返工,两阶段审查会卡在第一步。
  5. 把审查交给子代理自己:两阶段审查最好由主代理执行,而不是子代理自审。否则容易出现”既当运动员又当裁判”的问题。
  6. 忘记人工检查点:即使两阶段审查都过了,在合并前还是要看一眼 diff,特别是涉及 package.jsonrequirements.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 之外,自定义规则:若任一子代理三轮内未通过审查,直接终止整条流水线并报警,避免无限返工。

小技巧

  1. 派遣子代理时,把”验收标准”放在 prompt 第一行,而不是最后一行。子代理对开头的指令关注度最高。
  2. 审查阶段要求审查代理输出 diff 而非自然语言总结,可以减少”看起来 OK 实际有 bug”的情况。
  3. 在子代理 prompt 里加上”如果遇到不清楚的接口,先返回澄清问题,不要猜测”,可以显著降低返工率。
  4. 配合 git 使用时,每个子代理任务结束后先 commit 一次,审查通过再合并,实现”原子提交 + 审查”。
  5. 不要在子代理里再嵌套派遣子代理,会迅速把上下文耗光,只做一层派遣 + 两阶段审查即可。

参考链接


本文基于官方文档和公开资料整理,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 阶段审查。

自动执行

  1. 派发 8 个子代理(并行)
  2. 每个子代理完成自己的功能
  3. 每个子代理完成后自动进入审查
  4. 全部通过后整体验收

场景 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 实测。

参考资料

📦 快速安装

1 Git Clone
git clone https://github.com/obra/superpowers.git ~/superpowers
2 方式 2
mkdir -p ~/.claude/skills
ln -s ~/superpowers/skills/subagent-driven-development ~/.claude/skills/subagent-driven-development