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 的规范依据
- 流程闭环 — 需求→上线全流程
- 那些年我处理过的需求 — 真实需求处理案例