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

子代理驱动开发是一种软件开发实践,强调在多任务计划中为每个任务分派新的子代理,并在每个任务后进行规范和质量的两阶段审查,以确保代码的高质量和快速迭代。

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

子代理驱动开发

为每个任务分派新的子代理,并在每个任务后进行两阶段审查。

核心原则: 每个任务一个新子代理 + 两阶段审查(规范然后质量) + 基于差异的验证 = 高质量,快速迭代

快速参考

阶段 行动者 行动 退出条件
1 控制器 读取计划,提取任务,捕获BASE_SHA,创建任务列表 所有任务用BASE_SHA跟踪
2 子代理 实施(templates/implementer.md) 提交存在 + 测试通过 + 报告包括HEAD_SHA
3 子代理 规范审查(templates/spec-reviewer.md) 审查者检查diff(BASE…HEAD)并返回✅或文件:行问题
4 子代理 质量审查(templates/code-quality-reviewer.md) 审查者批准diff或返回严重性标记的问题
5 控制器 更新状态,标记完成,循环到第2步 所有任务完成
6 子代理 最终审查整个实施 批准
7 控制器 使用finishing-a-development-branch 分支完成

任务合同

每个任务必须满足这些约束:

范围:

  • 一个任务 = 一次提交(或紧密的提交堆栈)
  • 没有即兴重构;没有格式化混乱
  • 没有不相关的文件更改

验证:

  • 所有测试通过(运行完整套件或受影响的子集)
  • Lint/typecheck通过(如果适用)
  • 命令实际执行(不是假设)

报告必须包括:

  • BASE_SHA(来自控制器)
  • HEAD_SHA(提交后)
  • 运行的命令(确切的,可复制粘贴的)
  • 测试输出摘要(通过/失败 + 计数)
  • 更改的文件(列表)
  • 范围确认(“没有不相关的更改”)

状态跟踪

控制器维护每个任务的记录:

{
  task_id: string,
  base_sha: string,      # 实现者开始前捕获
  head_sha: string,      # 实现者报告提交后
  status: pending|in_progress|spec_review|quality_review|complete,
  spec_review_cycles: number,
  quality_review_cycles: number
}

每个阶段转换后更新状态。

流程

设置(一次)

  1. 一次性读取计划文件
  2. 提取所有任务的全文和上下文
  3. 捕获当前HEAD作为第一个任务的BASE_SHA
  4. 创建所有任务的任务列表(状态:待处理)

每个任务循环

  1. 记录BASE_SHA为此任务(当前HEAD)
  2. 分派实施者带有完整任务文本+上下文+BASE_SHA
  3. **如果有问题:**完全回答,重新分派带有答案
  4. **实施者完成:**实施,测试,提交,报告HEAD_SHA
  5. **更新状态:**记录HEAD_SHA,设置状态为spec_review
  6. 分派规范审查者带有任务要求+diff(BASE_SHA…HEAD_SHA)
  7. **如果规范问题:**实施者修复 → 规范审查者重新审查 → 增加周期计数 → 重复直到✅
  8. **更新状态:**设置状态为quality_review
  9. 分派代码质量审查者带有BASE_SHA,HEAD_SHA
  10. **如果质量问题:**实施者修复 → 质量审查者重新审查 → 增加周期计数 → 重复直到✅
  11. **更新状态:**设置状态为完成,下一个任务的BASE_SHA = 当前HEAD_SHA

完成

  1. 为整个实施分派最终代码审查者(第一个BASE_SHA到最后HEAD_SHA)
  2. 使用finishing-a-development-branch技能

提示模板

  • templates/implementer.md — 实施子代理
  • templates/spec-reviewer.md — 规范合规性验证(基于差异)
  • templates/code-quality-reviewer.md — 代码质量评估(基于差异)

查看references/example-workflow.md了解带有SHA跟踪的完整演练。

红旗

永不:

  • 跳过审查(规范合规性或代码质量)
  • 继续未修复的问题
  • 在同一工作树中分派并行实施者(冲突)
  • 让子代理读取计划文件(提供全文)
  • 跳过BASE_SHA/HEAD_SHA跟踪
  • 让审查者评估“仓库”而不是具体的diff
  • 接受没有所需字段的报告(SHA,命令,测试输出)

并行澄清:“并行会话”(不同的分支/工作树)通过执行计划是可以的。“并行实施者”触摸同一工作树是禁止的。

**如果子代理提问:**在他们继续之前清晰完整地回答。

**如果审查者发现问题:**实施者修复 → 审查者重新审查特定diff → 重复直到批准。

**如果实施者发现需要重构:**停止,向控制器报告,请求计划修正。不要强行推进。

依赖

**需要:**编写计划(创建计划)

**子代理使用:**测试驱动开发,请求代码审查(模板)

**完成与:**完成开发分支

**替代:**执行计划(用于并行会话/分支,不是并行实施者)

**环境说明:**此技能假定可用:git(用于SHA跟踪),任务列表工具(TodoWrite或等效),以及分派子代理的能力。根据你的环境调整工具名称。