177 lines
6.6 KiB
Markdown
177 lines
6.6 KiB
Markdown
# SDD 规格驱动落地:文档管理策略
|
||
|
||
## 研讨会背景与目的
|
||
|
||
本次分享是 AI 编程相关话题的延续,主要聚焦 **SDD(Spec-Driven Development,规格驱动开发)** 的文档管理策略。
|
||
|
||
### 研讨会机制
|
||
|
||
- **目的**:让参会者能够参与达成社区共识,分享各公司在 AI 编程实践中的经验
|
||
- **形式**:咨询师分享观察到的公司实现方案、架构设计、系统设计等内容
|
||
- **价值**:对个人和团队帮助都非常大,通过集体讨论形成共识
|
||
|
||
> 特别感谢卡尼克老哥在研讨会期间贡献了大量分享思想,受益颇多。
|
||
|
||
---
|
||
|
||
## AI 编程发展历程回顾
|
||
|
||
### 时间线概览
|
||
|
||
| 时间 | 分享内容 | 核心概念 |
|
||
|------|----------|----------|
|
||
| 2025年6月 | 早期 AI 编程实践 | DPER5 方法论 |
|
||
| 后续 | MCP 等工具整合 | MCP、Scales |
|
||
| 5月9日 | Plan 和 Build 模式 | 新因子(吸引子)概念 |
|
||
| 本次 | SDD 文档管理策略 | 规格驱动落地 |
|
||
|
||
---
|
||
|
||
## DPER5 方法论
|
||
|
||
### 核心思想
|
||
|
||
DPER5 将软件工程中使用 AI 进行开发的过程分为 **5 个弱阶段(Weak Stages)**:
|
||
|
||
```
|
||
Discover → Plan → Execute → Review → Refine
|
||
↓ ↓ ↓ ↓ ↓
|
||
发现 规划 执行 评审 优化
|
||
```
|
||
|
||
### 阶段特性
|
||
|
||
- 不同阶段 AI 会按照不同的模式运行
|
||
- 例如在 **Design** 模式或 **Discover** 模式下,AI **不会修改代码**
|
||
- 这种分阶段约束是驯服 AI 的简单有效方法
|
||
|
||
### 实践应用
|
||
|
||
- 在早期阶段(2025年),演讲者已经在公司内部领先应用
|
||
- 采用 `Design → Plan → Execute` 的流程驱动开发
|
||
- 该方法使用了较长时间,有效规范了 AI 辅助开发流程
|
||
|
||
---
|
||
|
||
## MCP(Model Context Protocol)工具生态
|
||
|
||
### 工具整合
|
||
|
||
后续随着 MCP 以及相关工具套件的出现,形成了完整的 AI 编程工具生态:
|
||
|
||
- **MCP(Model Context Protocol)**:模型上下文协议
|
||
- **Scales**:扩展工具
|
||
- **SDD**:规格驱动开发方法论
|
||
|
||
这些工具被整合到一份 PPT 手册中,作为团队 AI 编程的指南或手册参考。
|
||
|
||
---
|
||
|
||
## SDD(规格驱动开发)
|
||
|
||
### SDD 的核心模式
|
||
|
||
SDD 提供了多种工作模式,适用于不同的开发场景:
|
||
|
||
| 模式 | 适用场景 | AI 行为特征 |
|
||
|------|----------|-------------|
|
||
| **Design** | 需求分析、架构设计 | 不修改代码,仅提供设计建议 |
|
||
| **Discover** | 探索发现、方案调研 | 不修改代码,专注于信息收集 |
|
||
| **Plan** | 规划分解、任务拆解 | 生成实现计划 |
|
||
| **Build** | 代码实现、具体开发 | 执行代码编写和修改 |
|
||
|
||
### 新因子(吸引子)概念
|
||
|
||
由 countic 大佬在 5月9日的分享中引入:
|
||
|
||
**物理学的概念解释**:
|
||
|
||
- 在混沌系统中,存在两种震荡反馈的系统
|
||
- 这种系统最终会收敛到一个稳定状态
|
||
- 这个收敛点被称为 **吸引子(Attractor)**
|
||
|
||
**在 AI 编程中的应用**:
|
||
|
||
- 通过引入新因子,可以引导 AI 的输出趋向于预期的稳定状态
|
||
- 帮助控制 AI 在复杂任务中的发散性
|
||
- 实现更可控的 AI 驱动开发流程
|
||
|
||
---
|
||
|
||
## SDD 文档管理策略
|
||
|
||
> 本次分享的核心主题,聚焦于规格驱动开发的文档管理方法
|
||
|
||
### 文档在 SDD 中的作用
|
||
|
||
1. **规格定义**:明确需求和设计规范,作为开发的基准
|
||
2. **上下文传递**:在不同阶段之间传递上下文信息
|
||
3. **版本控制**:记录规格的变更历史
|
||
4. **团队协作**:统一团队对需求的理解和实现方式
|
||
|
||
### 文档管理最佳实践
|
||
|
||
(基于 SDD 方法论,文档管理应遵循以下原则)
|
||
|
||
- **规格优先**:在开发前先完成规格文档的编写
|
||
- **增量迭代**:规格文档随项目进展逐步完善
|
||
- **双向追溯**:规格与实现之间保持可追溯性
|
||
- **工具集成**:将文档管理与 AI 编程工具链整合
|
||
|
||
---
|
||
|
||
## 工具链整合方案
|
||
|
||
### 推荐的 AI 编程工具栈
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────┐
|
||
│ 规格层 (Spec) │
|
||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
||
│ │ Design │ │ Discover │ │ Plan │ │
|
||
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
||
├─────────────────────────────────────────────────────┤
|
||
│ 工具层 (Tools) │
|
||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
||
│ │ MCP │ │ Scales │ │ SDD │ │
|
||
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
||
├─────────────────────────────────────────────────────┤
|
||
│ 执行层 (Execution) │
|
||
│ ┌─────────────┐ ┌─────────────┐ │
|
||
│ │ Build │ │ Review │ │
|
||
│ └─────────────┘ └─────────────┘ │
|
||
└─────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### MCP 的核心功能
|
||
|
||
- 提供标准化的上下文协议
|
||
- 实现 AI 与外部工具的无缝集成
|
||
- 支持多工具协同工作
|
||
|
||
---
|
||
|
||
## 社区贡献者致谢
|
||
|
||
| 贡献者 | 贡献内容 |
|
||
|--------|----------|
|
||
| 卡尼克 | 大量分享思想,研讨会核心参与者 |
|
||
| countic | 引入新因子(吸引子)概念,分享 Plan/Build 模式 |
|
||
| 少个分号 | SDD 方法论整理,工具链整合,文档管理策略分享 |
|
||
|
||
---
|
||
|
||
## 后续话题预告
|
||
|
||
本次分享的议程安排:
|
||
|
||
1. **SDD 文档管理策略**(当前内容)
|
||
2. **AIGC 模板相关话题**(由卡尼克老哥分享)
|
||
|
||
---
|
||
|
||
## 参考资源
|
||
|
||
- 本次分享的 PPT 资料(可作为团队 AI 编程手册/指南)
|
||
- 搜索关键词:`AI编程`、`MCP`、`SDD`、`DPER5`、`规格驱动开发`
|
||
- 相关标签:`人工智能`、`规格驱动开发`、`AI编程` |