Files
chill_notes/AI工程/概念/规格驱动开发.md
2026-06-22 11:30:51 +08:00

151 lines
3.8 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 规格驱动开发SDD
> 相关:[[AI编程演进阶段]]、[[Harness工程]]、[[Rule约束]]、[[BMAD]]、[[Spec_Kit]]、[[OpenSpec]]、[[Kiro]]
## 定义
**规格驱动开发**Spec-Driven DevelopmentSDD是AI编程的第3阶段以规格文档为核心的开发方法。
**核心思想**Spec是单一事实来源SSoT所有开发活动围绕Spec展开。
## 核心特征
### 1. 规格中心化
- Spec是唯一的真相来源
- 所有代码从Spec生成
- Spec变更驱动代码变更
### 2. 结构化表达
- 需求以结构化形式表达
- 使用Markdown、YAML等格式
- 可机器解析和验证
### 3. 文件驱动
- 文件进,文件出
- 规格文件可版本化
- 规格文件可复用
## SDD框架对比
| 维度 | [[BMAD]] | [[Spec_Kit]] | [[OpenSpec]] | [[Kiro]] |
|------|----------|--------------|--------------|----------|
| 定位 | 企业级SDD操作系统 | 工程化Spec工作流 | 轻量Spec层 | IDE原生SDD |
| 理念 | Spec=治理体系+多Agent编排 | Spec=开发入口+Git生命周期 | Spec=变更单元(持续演化) | Spec=可执行源 |
| 生命周期 | 全生命周期 | 与分支绑定(短) | 长期存在(持续) | 持续驱动 |
| 粒度 | 大(系统/模块级) | 中Feature级 | 小(变更/Patch级 | 中Feature+行为) |
| 可执行 | 流程驱动 | 驱动开发流程 | 类Prompt | 可生成代码+测试 |
| 自动验证 | 无 | 无 | 弱 | 强(内建) |
| 适用场景 | 大型系统/多团队 | 新项目0→1 | 存量项目/快速迭代 | 小团队/高自动化 |
## 规格类型
### 1. 需求规格Feature Spec
```markdown
# 用户注册功能
## 用户故事
作为一个新用户,我想要注册账号,以便使用系统功能。
## 验收标准
1. 用户可以输入邮箱和密码
2. 系统发送验证邮件
3. 用户点击链接完成验证
4. 验证成功后可以登录
## 字段定义
- email: string, required, unique
- password: string, required, min:8
- verified: boolean, default:false
```
### 2. 设计规格Design Spec
```markdown
# 数据库设计
## users表
- id: bigint, primary key
- email: varchar(100), unique
- password: varchar(255)
- verified: tinyint(1), default:0
- created_at: timestamp
- updated_at: timestamp
```
### 3. API规格API Spec
```yaml
openapi: 3.0.3
paths:
/api/v1/users:
post:
summary: 创建用户
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserRequest'
```
## 规格流转
### 过程方案Plans
- 每次创建新文件
- 记录实现过程
- 不修改旧文件
- 保留决策轨迹
### 事实方案Designs
- 覆盖更新最终态
- 作为下次Plan的起点
- 必须保持最新
- Source of Truth
## 适用场景
### BMAD
- 企业级项目
- 多团队协作
- 强治理需求
- 合规要求高
### Spec Kit
- 新项目0→1
- 需要Git集成
- 中等复杂度
### OpenSpec
- 存量项目
- 快速迭代
- 轻量级需求
### Kiro
- 小团队
- 高自动化需求
- AWS项目
## 优势
- **单一真相来源**:避免信息不一致
- **可追溯**Spec变更有历史记录
- **可验证**Spec可以生成测试
- **可复用**Spec可以在项目间复用
## 挑战
- **初始成本**需要建立完整的Spec体系
- **维护成本**Spec需要持续更新
- **学习曲线**团队需要理解SDD理念
## 最佳实践
1. **从核心Spec开始**:先定义最重要的规格
2. **逐步扩展**:根据实践逐步添加规格
3. **定期Review**:定期审查和优化规格
4. **自动化验证**尽可能自动化Spec验证
## 相关概念
- [[AI编程演进阶段]]SDD是第3阶段
- [[Harness工程]]SDD是Harness的组成部分
- [[过程方案vs事实方案]]SDD的规格管理方式
- [[BMAD]]、[[Spec_Kit]]、[[OpenSpec]]、[[Kiro]]SDD框架