AI Coding工程化实践:SSD需求定义与TDD验证
1. SSD 是什么?
SSD,全称是 Spec-Driven Development,即规格驱动开发。 它的核心思想很简单:与其让AI一上来就“猜”你要什么,不如先把规矩定清楚了再动手。这就好比盖房子,你总得先给施工队一张设计图纸,而不是说“你给我盖个能住人的东西”。 所以,正确的姿势不是直接对AI说“帮我写个支付模块”,而是先把规格定义清楚: - **功能**:支付渠道配置管理 - **实体**:`pay_channel_config`, `pay_app_config` - **要求**: - 支持支付宝、微信、银联 - 参数配置必须落MySQL - 不允许使用Mock对象 - 接口返回结构保持统一 - 删除时需要校验是否被应用配置引用 - 修改配置需要记录操作日志 - 敏感字段需要加密存储
有了这份明确的规格说明书,AI在执行时才能按部就班。接下来,它才能准确地完成:数据库表设计、Entity / DTO / VO、Mapper / Service / Controller、参数校验、幂等与事务,以及单元测试 / 集成测试这一系列任务。
**SSD 提高 AI Coding 效率的原因**
AI最怕的就是需求模糊。一份清晰的规格,等于给AI画了一个明确的边界,让它能在框定的范围内精准发挥。
| 问题 | 没有 SSD | 有 SSD |
| :--- | :--- | :--- |
| 需求理解 | AI 容易凭空猜测 | 按规格精准实现 |
| 数据库设计 | 容易乱建字段和表 | 字段、约束一清二楚 |
| 接口设计 | 返回格式可能五花八门 | 请求/响应结构固定 |
| 业务规则 | 容易遗漏关键逻辑 | 校验规则明确写入 |
| 返工次数 | 多次,浪费时间 | 极少,一步到位 |
| 代码质量 | 完全取决于提示词 | 取决于规格本身的质量 |
一句话总结:**规格越清晰,AI犯错越少。**