SDD(Specification-Driven Development)个人研发工作流

源自实习期间设计的多 Agent 编排 SDD 工作流实践。 基于 Copilot CLI + Markdown 规范文档 驱动,四阶段闭环。


🎯 核心理念

Spec First, Code Later. 先写规范文档,再写代码。用 Markdown 文档作为"需求 → 设计 → 实现 → 验证"全流程的单一事实源。

需求文档 ──→ 架构设计 ──→ Task 拆解 ──→ 并行开发 ──→ 测试验证 ──→ CR 合入
  ↑            ↑              ↑              ↑             ↑            ↑
 [用户]     [架构Agent]    [架构Agent]    [开发Agent]   [测试Agent]  [CR Agent]

🏗️ 四阶段流程

阶段 角色 输入 产出 使用方式
Phase 1 架构 架构 Agent 需求文档 技术方案 + 数据流设计 copilot "请阅读需求文档,输出架构设计"
Phase 2 开发 开发 Agent × N 架构设计 + Task 拆分 实现代码 copilot "请实现 Task-X,参考架构设计"
Phase 3 测试 测试 Agent 代码 + 架构设计 单元测试 + 边界用例 copilot "请为以下代码生成测试用例"
Phase 4 审查 CR Agent 代码 + 规范 Review 意见 copilot "请审查以下代码,检查规范和约束"

🚀 快速启动一个新项目

Step 1: 写需求文档

模板/00-需求文档模板.md 写下需求。

Step 2: 用 Copilot CLI 做架构设计

copilot "请阅读需求文档,输出架构设计方案,参考 模板/01-架构设计模板.md 的格式"

Step 3: 拆解 Task

copilot "请根据架构设计文档,将实现拆解为多个独立的 Task,标注依赖关系"

Step 4: 并行开发

copilot "请实现 Task-A,架构设计见 xxx.md"
copilot "请实现 Task-B,架构设计见 xxx.md"

Step 5: 测试

copilot "请为 src/xxx.java 生成单元测试,覆盖正常路径、边界值和异常场景"

Step 6: Code Review

copilot "请审查以下代码变更,检查:1) 分层约束 2) 空指针 3) 资源关闭 4) 事务范围"

📁 目录结构

SDD工作流/
├── SDD工作流总览.md         ← 本文件
├── 模板/                    ← Prompt 模板 & 规范文档模板
│   ├── 00-需求文档模板.md
│   ├── 01-架构设计模板.md
│   ├── 02-Task拆分解耦模板.md
│   ├── 03-开发提示词模板.md
│   ├── 04-测试用例模板.md
│   └── 05-CR检查清单模板.md
└── 项目/                    ← 实际项目存放目录
    └── example/             ← 示例项目(可选)

💡 Copilot CLI 使用技巧

  • 分步对话:不要一次性让 Agent 做所有事,按 Phase 逐步推进
  • 附加上下文:每次 prompt 都带上相关文档的路径/关键内容
  • 用 Copilot CLI 的 /explain:快速理解已有代码
  • 用 Copilot CLI 的 tests:自动生成测试
  • 断点续传:Copilot CLI 会自动保存上下文,中断后可继续

🔗 关联阅读

  • cleanCode 规范 — CR Agent 的规范依据
  • 流程闭环 — 需求→上线全流程
  • 那些年我处理过的需求 — 真实需求处理案例