1. 这门课做了什么
这门课不是教你怎么用 AI 工具的操作教程,而是在讲一种工程思维的转变:
从**"用 AI 帮我写代码",到"用 Spec 驱动 AI,稳定交付生产级代码"**。
这两件事的差距,就是 Vibe Coding 和 Spec Coding 的差距。
2. 核心金句
Spec 是 AI 的"说明书"
AI 本身没有你的项目上下文。每次对话,它从零开始。没有规格,AI 只能猜——猜你要什么样的返回格式、猜你用什么 ORM、猜错误应该怎么处理。
Spec.md 解决的是这个问题:把原来藏在你脑子里、靠每次重新交代的上下文,变成 AI 可以稳定读取的文档。
有了 spec,AI 不是在猜,而是在执行。
Spec Coding 是工程化落地的关键
Vibe Coding 可以快速出 demo,但出不了生产级的系统。生产级的系统需要:
- 一致的接口格式
- 统一的错误处理
- 安全的权限控制
- 完整的参数校验
- 可测试的代码结构
这些东西不会因为"我跟 AI 说了很多次"就自动保持一致。只有写进 spec、写进 rules,AI 才能每次都遵循。
Spec Coding 让 AI 的输出从随机分布变成可预期的稳定输出。 这才是工程化。
让 AI 一次做对,持续做对,稳定交付
这句话里有三层递进:
一次做对:靠 spec 的清晰度。任务描述越清晰,AI 第一次生成的质量越高,返工越少。
持续做对:靠 rules 的约束力。不管这是今天第一个功能还是三个月后第一百个功能,rules 保证风格和规范始终一致。
稳定交付:靠完整工作流的支撑。spec 驱动开发、AI 生成测试、自动化 Review、规范化提交——每个环节都在保障最终交付的质量。
从模糊需求到高质量代码,Spec Coding 让 AI 真正成为你的工程搭档
"工程搭档"不是"听话的工具"。工具是你操作的,搭档是你协作的。
协作的前提是共同语言——对于你和 AI 来说,这个共同语言就是 spec.md 和 .cursorrules。
有了这些,你不再需要每次都带 AI 入门,不需要解释项目背景,不需要纠正同样的错误。AI 直接按照约定工作,你去做更重要的事情。
3. 你在这门课里掌握了什么
编写高质量 spec.md
你知道 spec 的九个标准章节(概述、目标、功能需求、非功能需求、接口、数据模型、业务流程、验收标准、附录),知道每个章节写什么、怎么写到"无歧义"。
你知道好的 spec 有两个特征:
- 人能快速读懂(可读性)
- AI 能直接按规格生成代码(可执行性)
用 Spec 驱动 AI 生成代码
你知道怎么配置 .cursorrules,把项目约定(技术栈、代码风格、命名规范、安全规范)一次性写进去,让 AI 在整个项目中始终遵循。
你知道 Cursor 的三大核心功能(Chat / Inline Edit / Agent),知道什么时候用哪个,知道怎么通过 @ 引用让 AI 读到正确的上下文。
你知道怎么把一个模糊的需求,变成一条精确的 Agent 任务,让 AI 从零开始完整实现一个 NestJS 模块。
构建可维护的 AI 软件工程体系
你知道怎么建立完整的工程规范体系:
- Prettier + ESLint 保障代码风格
- Husky + commitlint 保障提交规范
- 单元测试保障代码正确性
- AI Code Review 在合并前过滤安全问题和质量问题
你知道 AI 在完整研发生命周期中的每个阶段能做什么:从需求深化、系统设计,到编码、测试、Review、部署、监控、持续优化。
你知道 Agentic Engineering 的方向是什么,以及从现在开始往那个方向走的实践路径。
4. 一张图总结 Spec Coding 工作流
模糊需求
↓
需求深化(AI 辅助 + 人工确认)
↓
spec.md(结构化规格文档)
↓
.cursorrules(AI 执行约束)
↓
Cursor Agent / Claude Code(代码生成)
↓
单元测试(AI 生成 + 自动执行)
↓
AI Code Review(安全扫描 + 质量检查)
↓
规范化提交(Conventional Commits)
↓
PR + 人工 Review(聚焦业务逻辑和架构)
↓
合并上线
5. 下一步:从这里开始
今天就可以做的事
- 为你当前项目写一份
.cursorrules,哪怕只有50行,先建立起来 - 下一个要做的功能,先写一份
spec.md,再开始写代码 - 安装 Cursor,体验一次 Agent 模式的完整任务
这周可以做的事
- 把 Husky + commitlint + lint-staged 加到项目里
- 为一个已有的 Service 用 AI 补充单元测试
- 在提下一个 PR 前,用
git diff | claude "review..."跑一遍自检
这个月可以做的事
- 建立
project-standards/目录,把规范文档化 - 把 AI Review 集成进 CI/CD
- 尝试用 spec 驱动一个从零开始的完整功能模块
6. 最后说一句
这门课覆盖的工具和流程,两年后可能有些细节会变。Cursor 会有新版本,Claude 会有更强的模型,工具链会继续演进。
但 Spec Coding 的核心思路不会变:
在写代码之前,把要做什么、怎么做、边界在哪里,表达清楚
这个思路,放在 AI 时代叫 Spec Coding,放在没有 AI 的年代叫需求分析和技术设计。
好的软件工程,从来都是从清晰的表达开始的。
AI 放大了清晰表达的价值——你表达得越清晰,AI 帮你做的事情越多、越准。