子代理驱动开发 subagent-driven-development

子代理驱动开发是一种软件开发实践,通过为每个任务分派新的子代理,并在每个任务后进行规范合规性和代码质量的两阶段审查,以提高开发质量并加快迭代速度。

DevOps 0 次安装 0 次浏览 更新于 3/4/2026

子代理驱动开发

通过为每个任务分派新的子代理来执行计划,在每个任务后进行两阶段审查:首先是规范合规性审查,然后是代码质量审查。

核心原则: 每个任务一个新子代理 + 两阶段审查(先规范后质量)= 高质量,快速迭代

何时使用

digraph when_to_use {
    "有执行计划吗?" [shape=diamond];
    "任务大多独立吗?" [shape=diamond];
    "留在当前会话吗?" [shape=diamond];
    "子代理驱动开发" [shape=box];
    "执行计划" [shape=box];
    "手动执行或先进行头脑风暴" [shape=box];

    "有执行计划吗?" -> "任务大多独立吗?" [label="是"];
    "有执行计划吗?" -> "手动执行或先进行头脑风暴" [label="否"];
    "任务大多独立吗?" -> "留在当前会话吗?" [label="是"];
    "任务大多独立吗?" -> "手动执行或先进行头脑风暴" [label="否 - 紧密耦合"];
    "留在当前会话吗?" -> "子代理驱动开发" [label="是"];
    "留在当前会话吗?" -> "执行计划" [label="否 - 平行会话"];
}

与执行计划(平行会话)相比:

  • 同一会话(无上下文切换)
  • 每个任务一个新子代理(无上下文污染)
  • 每个任务后进行两阶段审查:规范合规性首先,然后代码质量
  • 更快的迭代(任务之间无需人工介入)

流程

digraph process {
    rankdir=TB;

    subgraph cluster_per_task {
        label="每个任务";
        "分派执行者子代理(./implementer-prompt.md)" [shape=box];
        "执行者子代理有问题吗?" [shape=diamond];
        "回答问题,提供上下文" [shape=box];
        "执行者子代理实现,测试,提交,自我审查" [shape=box];
        "分派规范审查者子代理(./spec-reviewer-prompt.md)" [shape=box];
        "规范审查者子代理确认代码符合规范吗?" [shape=diamond];
        "执行者子代理修复规范差异" [shape=box];
        "分派代码质量审查者子代理(./code-quality-reviewer-prompt.md)" [shape=box];
        "代码质量审查者子代理批准吗?" [shape=diamond];
        "执行者子代理修复质量问题" [shape=box];
        "在TodoWrite中标记任务完成" [shape=box];
    }

    "阅读计划,提取所有任务的全文,记录上下文,创建TodoWrite" [shape=box];
    "还有更多任务吗?" [shape=diamond];
    "分派最终代码审查者子代理进行整个实现" [shape=box];
    "使用超能力:完成开发分支" [shape=box style=filled fillcolor=lightgreen];

    "阅读计划,提取所有任务的全文,记录上下文,创建TodoWrite" -> "分派执行者子代理(./implementer-prompt.md)";
    "分派执行者子代理(./implementer-prompt.md)" -> "执行者子代理有问题吗?";
    "执行者子代理有问题吗?" -> "回答问题,提供上下文" [label="是"];
    "回答问题,提供上下文" -> "分派执行者子代理(./implementer-prompt.md)";
    "执行者子代理有问题吗?" -> "执行者子代理实现,测试,提交,自我审查" [label="否"];
    "执行者子代理实现,测试,提交,自我审查" -> "分派规范审查者子代理(./spec-reviewer-prompt.md)";
    "分派规范审查者子代理(./spec-reviewer-prompt.md)" -> "规范审查者子代理确认代码符合规范吗?";
    "规范审查者子代理确认代码符合规范吗?" -> "执行者子代理修复规范差异" [label="否"];
    "执行者子代理修复规范差异" -> "分派规范审查者子代理(./spec-reviewer-prompt.md)" [label="重新审查"];
    "规范审查者子代理确认代码符合规范吗?" -> "分派代码质量审查者子代理(./code-quality-reviewer-prompt.md)" [label="是"];
    "分派代码质量审查者子代理(./code-quality-reviewer-prompt.md)" -> "代码质量审查者子代理批准吗?";
    "代码质量审查者子代理批准吗?" -> "执行者子代理修复质量问题" [label="否"];
    "执行者子代理修复质量问题" -> "分派代码质量审查者子代理(./code-quality-reviewer-prompt.md)" [label="重新审查"];
    "代码质量审查者子代理批准吗?" -> "在TodoWrite中标记任务完成" [label="是"];
    "在TodoWrite中标记任务完成" -> "还有更多任务吗?";
    "还有更多任务吗?" -> "分派执行者子代理(./implementer-prompt.md)" [label="是"];
    "还有更多任务吗?" -> "分派最终代码审查者子代理进行整个实现" [label="否"];
    "分派最终代码审查者子代理进行整个实现" -> "使用超能力:完成开发分支";
}

提示模板

  • ./implementer-prompt.md - 分派执行者子代理
  • ./spec-reviewer-prompt.md - 分派规范合规性审查子代理
  • ./code-quality-reviewer-prompt.md - 分派代码质量审查子代理

示例工作流程

你:我正在使用子代理驱动开发来执行这个计划。

[一次性读取计划文件:docs/plans/feature-plan.md]
[提取所有5个任务的全文和上下文]
[创建TodoWrite,包含所有任务]

任务1:钩子安装脚本

[获取任务1的文本和上下文(已提取)]
[分派实现子代理,带有完整的任务文本+上下文]

执行者:"在我开始之前 - 钩子应该安装在用户还是系统级别?"

你:"用户级别(~/.config/superpowers/hooks/)"

执行者:"明白了。现在正在实现..."
[稍后]执行者:
  - 实现了install-hook命令
  - 添加了测试,5/5通过
  - 自我审查:发现我错过了--force标志,添加了它
  - 提交

[分派规范合规性审查者]
规范审查者:✅ 规范合规 - 所有要求都满足,没有多余的

[获取git SHAs,分派代码质量审查者]
代码审查者:优点:测试覆盖良好,清晰。问题:无。批准。

[标记任务1完成]

任务2:恢复模式

[获取任务2的文本和上下文(已提取)]
[分派实现子代理,带有完整的任务文本+上下文]

执行者:[没有问题,继续进行]
执行者:
  - 添加了验证/修复模式
  - 8/8测试通过
  - 自我审查:一切正常
  - 提交

[分派规范合规性审查者]
规范审查者:❌ 问题:
  - 缺少:进度报告(规范说"每100个项目报告一次")
  - 多余:添加了--json标志(没有要求)

[执行者修复问题]
执行者:移除了--json标志,添加了进度报告

[规范审查者再次审查]
规范审查者:✅ 现在规范合规了

[分派代码质量审查者]
代码审查者:优点:扎实。问题(重要):魔术数字(100)

[执行者修复]
执行者:提取了PROGRESS_INTERVAL常量

[代码审查者再次审查]
代码审查者:✅ 批准

[标记任务2完成]

...

[所有任务完成后]
[分派最终代码审查者]
最终审查者:所有要求都满足,准备合并

完成!

优势

与手动执行相比:

  • 子代理自然遵循TDD
  • 每个任务都有新的上下文(无混淆)
  • 平行安全(子代理不互相干扰)
  • 子代理可以提问(工作前和工作期间)

与执行计划相比:

  • 同一会话(无需交接)
  • 持续进展(无需等待)
  • 自动检查点

效率提升:

  • 无需文件阅读开销(控制器提供全文)
  • 控制器精确提供所需的上下文
  • 子代理提前获得完整信息
  • 工作开始前提出问题(而不是之后)

质量门槛:

  • 自我审查在交接前捕捉问题
  • 两阶段审查:规范合规性,然后代码质量
  • 审查循环确保修复实际有效
  • 规范合规性防止过度/不足建设
  • 代码质量确保实现良好构建

成本:

  • 更多次子代理调用(执行者+每个任务2个审查者)
  • 控制器需要做更多准备工作(提前提取所有任务)
  • 审查循环增加迭代次数
  • 但早期捕捉问题(比后期调试更便宜)

红旗

永不:

  • 跳过审查(规范合规性或代码质量)
  • 继续存在未修复的问题
  • 同时分派多个实现子代理(冲突)
  • 让子代理读取计划文件(提供全文而不是)
  • 跳过场景设置上下文(子代理需要理解任务的适应位置)
  • 忽略子代理的问题(在让他们继续之前回答)
  • 接受"差不多"的规范合规性(规范审查者发现问题 = 未完成)
  • 跳过审查循环(审查者发现问题 = 执行者修复 = 再次审查)
  • 让执行者自我审查代替实际审查(两者都需要)
  • 在规范合规性✅之前开始代码质量审查(错误的顺序)
  • 在任一审查有未解决问题时移动到下一个任务

如果子代理提问:

  • 清晰完整地回答
  • 如有需要,提供额外的上下文
  • 不要急于让他们开始实施

如果审查者发现问题:

  • 执行者(同一个子代理)修复它们
  • 审查者再次审查
  • 重复直到批准
  • 不要跳过重新审查

如果子代理任务失败:

  • 分派修复子代理,带有具体指示
  • 不要尝试手动修复(上下文污染)

集成

所需工作流程技能:

  • superpowers:writing-plans - 创建此技能执行的计划
  • superpowers:requesting-code-review - 审查者子代理的代码审查模板
  • superpowers:finishing-a-development-branch - 完成所有任务后的开发

子代理应该使用:

  • superpowers:test-driven-development - 子代理遵循每个任务的TDD

替代工作流程:

  • superpowers:executing-plans - 使用平行会话而不是同一会话执行