Spec编程你了解吗? 还在用Vibe Coding吗?

“spec编程”(也叫 Spec Coding 或 Spec-Driven Development,简称 SDD)是2025年后在AI编程领域特别火的一个概念。
简单来说,它指的是:
“先写清楚规范(Specification),再让AI根据规范去生成代码” 的编程方式。
它和传统的“直接写代码”以及早期的“Vibe Coding”(氛围编程、随手扔Prompt让AI写)形成了鲜明对比。
核心对比(目前最常见的几种AI编程范式)
| 方式 | 核心特点 | 适合场景 | 主要问题 | 大概出现时间 |
|---|---|---|---|---|
| 传统手写代码 | 程序员自己写全部逻辑 | 所有场景 | 慢、重复劳动多 | – |
| Vibe Coding | 很模糊的描述 → AI直接生成 | 快速原型、个人玩具项目 | 代码质量不稳定、难维护、返工多 | 2023–2024 |
| Spec编程 / SDD | 先写详细规范 → AI按规范实现 | 中大型项目、团队协作、企业级 | 写规范要花时间,但长期收益高 | 2025年起爆火 |
| 纯Agent全自动 | 几乎不写规范,全靠AI自己想 | 极简单任务 | 经常跑偏、上下文丢失严重 | 2025–2026 |
Spec编程最核心的几句话总结
Spec才是主角,代码只是Spec的“实现副产品”
先定义清楚“做什么、做到什么程度才算对、有哪些限制、验收标准是什么”
再交给AI(Cursor、Windsurf、Kiro、Claude、Spec-Kit等工具)去生成代码
好的Spec ≈ 给AI的一份“可执行的合约”
常见的Spec包含哪些内容(不同团队做法略有差异)
- 需求说明(Requirements)
- 功能列表 + 验收标准(Acceptance Criteria)
- 技术约束(技术栈、架构风格、编码规范)
- 边界case、异常处理
- 非功能性要求(性能、安全、日志、可观测性等)
- 任务拆解(Tasks)
- 有时还会包含设计稿、API契约、数据模型等
为什么2025–2026年突然这么火?
- Vibe Coding玩久了,大家发现中大型项目基本崩
- AI写代码很快,但“写错方向”也很快
- 团队协作时,没有Spec → 每个人Prompt都不一样 → 代码风格/逻辑严重分裂
- Spec可以版本控制、Review、作为“单一事实来源”
- GitHub的Spec-Kit、Amazon Kiro的SPEC模式、OpenSpec等工具把这个流程标准化了
一句话最通俗的理解:
以前是“你告诉AI怎么做”,现在变成了“你告诉AI你要什么结果,AI自己想怎么做”——但前提是你把‘要什么结果’写得非常清楚。