返回笔记首页

第 16 集:核心总结与收获

主题配置

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 工作流

plain
模糊需求
    ↓
需求深化(AI 辅助 + 人工确认)
    ↓
spec.md(结构化规格文档)
    ↓
.cursorrules(AI 执行约束)
    ↓
Cursor Agent / Claude Code(代码生成)
    ↓
单元测试(AI 生成 + 自动执行)
    ↓
AI Code Review(安全扫描 + 质量检查)
    ↓
规范化提交(Conventional Commits)
    ↓
PR + 人工 Review(聚焦业务逻辑和架构)
    ↓
合并上线

5. 下一步:从这里开始

今天就可以做的事

  1. 为你当前项目写一份 .cursorrules,哪怕只有50行,先建立起来
  2. 下一个要做的功能,先写一份 spec.md,再开始写代码
  3. 安装 Cursor,体验一次 Agent 模式的完整任务

这周可以做的事

  1. 把 Husky + commitlint + lint-staged 加到项目里
  2. 为一个已有的 Service 用 AI 补充单元测试
  3. 在提下一个 PR 前,用 git diff | claude "review..." 跑一遍自检
这个月可以做的事
  1. 建立 project-standards/ 目录,把规范文档化
  2. 把 AI Review 集成进 CI/CD
  3. 尝试用 spec 驱动一个从零开始的完整功能模块

6. 最后说一句

这门课覆盖的工具和流程,两年后可能有些细节会变。Cursor 会有新版本,Claude 会有更强的模型,工具链会继续演进。

但 Spec Coding 的核心思路不会变:

在写代码之前,把要做什么、怎么做、边界在哪里,表达清楚

这个思路,放在 AI 时代叫 Spec Coding,放在没有 AI 的年代叫需求分析和技术设计。

好的软件工程,从来都是从清晰的表达开始的。

AI 放大了清晰表达的价值——你表达得越清晰,AI 帮你做的事情越多、越准。

Spec Coding,就是在 AI 时代把软件工程做对的方式