Skip to main content
本文作者:爱汇
原文链接:https://mp.weixin.qq.com/s/CRH4WWtrA_3APBBFD1zMiQ

前言:你是不是也被“Vibe Coding”逼疯过?

“我叫小张,一个天天跟 AI 结对编程的程序员。就在上周,我差点被AI逼疯了。” 你是否也经历过这样的场景:
AI:“没问题,看我的!”(一顿操作猛如虎,生成一堆代码)
:“不对不对,这里应该用JWT认证,不是Session啊喂!”
AI:“好的,已修改。”(又是一顿操作)
:“等一下!密码加密我要用Argon2,不是你默认的MD5!说过多少次了!”
AI:“…”
这种靠感觉、靠默契、反复试错,在跟 AI 的不断拉扯中勉强推进的开发模式,就是现在最火的词—— “Vibe Coding”(感觉式编程) 说实话,它在小项目里跑跑还行,但凡项目变复杂、团队一扩大,各种弊端就全暴露了:
  • 需求理解全靠猜:AI 常常“会错意”,做出来的东西跟想的完全是两码事。
  • 技术选型像开盲盒:AI 可能随手就选个你完全不熟的技术栈,后续维护火葬场。
  • 代码质量堪忧:生成的代码能跑,但结构乱七八糟,别说交接了,自己看都费劲。
  • 协作基本为零:除了你和AI,没人知道这功能是怎么“感觉”出来的,新同事来了只能干瞪眼。
结果呢?我们把大把时间都浪费在了跟 AI 的反复沟通和修改上,而不是真正地创造价值。 我就在想,到底有没有一种方法,既能用上 AI 的超能力,又能保证软件开发的工程质量和确定性? 你别说,还真让我找到了。答案就是Spec Coding(规范式编程) ,以及GitHub上那个最新开源的现象级项目——Spec-Kit。 上线才几个月,狂揽34k+ Star,我研究了一下,发现 Spec-Kit 这东西,正在掀起一场 AI 编程的范式革命。 Description

一、Spec-Kit是啥?从“代码为王”到“规范为王”

先说清楚,Spec-Kit不是一个新的AI编程工具,它是一套工作流和方法论 它的作用,就是通过一套命令行工具和模板,把你那个有点“虎”的 AI 编程助手(无论是Claude Code, GitHub Copilot,还是Gemini),“调教”成一个既懂需求、又懂架构的“靠谱工程师”。 它的核心理念——规格驱动开发(Spec-Driven Development, SDD) ,直接把传统开发流程给颠覆了:
  • 传统开发规格 (爱看不看的文档) → 代码 (一顿瞎写) → 代码成为唯一真理
  • Spec-Kit开发规格 (可被执行的指令) → 计划 (AI自动生成) → 任务 (AI自动拆解) → 代码 (AI按图施工) → 规格成为唯一真理
在 Spec-Kit 的世界里,“规格”不再是写完就扔的静态文档,而是可以被执行、被验证、驱动整个开发流程的“源代码”。一句话:代码为规格服务,而不是规格为代码服务。 这就像盖房子:
  • Vibe Coding:没图纸,凭感觉边盖边想,盖出来的可能是个“歪歪扭扭的茅草屋”。
  • Spec Coding:先有详细的建筑图纸(规格),再按图施工(实现),盖出来的才是“坚固可靠的摩天大楼”。

二、Spec-Kit的“六步流水线”,亲测好用!

Spec-Kit把复杂的软件开发,变成了一套清晰、可控的“流水线”。下面,我就用开发一个简单的“待办事项(Todo List)”应用,带你走一遍完整流程。

第一步:准备工作 (安装与初始化)

第一件事儿,咱们先把环境搭好。你需要安装 Spec-Kit 的命令行工具。
# 推荐用uv (一个快到飞起的Python包管理工具)
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
Description 如果没有安装uv,可以在 PowerShell 中使用命令安装:
irm https://astral.sh/uv/install.ps1 | iex
uv --version #查看uv版本号
Description Description 装好之后,创建一个新项目并初始化它:
# 创建一个叫my-todo-app的项目并初始化
specify init my-todo-app
cd my-todo-app
初始化的时候,它会让你选一个 AI 助手(我们使用的是:Claude Code+GLM4.6)和脚本类型(比如sh)。 Description Description 搞定之后,你的项目里会多出.claude/.specify/这些文件夹,这里面就藏着 Spec-Kit 的所有“魔法”。

第二步:立规矩 ( /constitution ) - 给项目立个“宪法”

这是可选但我墙裂推荐的一步。项目开始前,先给它定好基本原则和约束。 在你的AI编程助手中输入(例子中使用 Claude Code,注意工程路径中不要有中文!!):
/speckit.constitution 这是一个基于React的待办事项应用,要注重简洁和用户体验。
AI会马上为你生成一份constitution.md文件,里面可能写着:
  • 技术栈偏好:优先用 React Hooks,别用 Class Components。
  • 代码风格:按 Airbnb JavaScript Style Guide来。
  • 测试要求:核心功能必须有单元测试。
  • 用户体验原则:交互必须流畅,响应时间低于100ms。
这份“宪法”就是天条,后面所有的开发工作都得按这个来。

第三步:提需求 ( /specify ) - 你只要说“要什么”

现在,用大白话描述你的需求。记住,只谈功能,别谈技术
/speckit.specify 我要做一个待-办事项应用。
核心功能:
- 用户可以添加新的待办事项。
- 用户可以标记待办事项为“已完成”。
- 用户可以删除待办事项。
- 完成任务时,要有一个好玩儿的庆祝动画。
Spec-Kit会立马开干:
  1. specs/目录下创建一个新版本,比如001-todo-app-core-features
  2. 生成一份详细的spec.md(需求规格文档),里面有用户故事、验收标准、边界条件等等。
  3. 自动给你创建一个新的Git分支,比如feat/001-todo-app-core-features
Description

第四步:清疑点 ( /clarify ) - 消除那些模棱两可的地方

这一步也是可选的。如果你的需求描述得比较模糊(比如“好玩儿的动画”),可以运行这个命令,让AI主动问你问题,把细节弄清楚。
/speckit.clarify
AI可能会反问你:
Q1:“好玩儿的庆祝动画”具体是啥风格?是放烟花还是撒花?
Q2:待办事项有字数限制吗?
Q3:要不要支持任务优先级?
你只要回答这些问题,AI 就会自动更新spec.md,让需求变得嘎嘎清晰。

第五步:出方案 ( /plan ) - AI变身架构师

需求清楚了,让 AI 来做技术方案。
/speckit.plan
AI 会根据“宪法”和“需求”,生成一套完整的技术方案文档,可能会有:
  • plan.md: 技术栈决策(比如用React 18, Zustand做状态管理, Framer Motion做动画)。
  • data-model.md: 数据结构定义(比如Todo长啥样)。
  • contracts/: API 接口或组件接口定义。
  • research.md: 为啥这么选型,做了哪些调研。
Description

第六步:拆任务 ( /tasks ) - 把大象装进冰箱

方案定了,接下来就是把它拆解成能干的活儿。
/speckit.tasks
AI会把plan.md拆成一份详细的tasks.md文件,就像一个靠谱的项目经理,把工作安排得明明白白:
Phase 1: 项目设置 (3个任务)
- [ ] T001: 初始化React + Vite项目。
- [ ] T002: 安装Zustand和Framer Motion依赖。
- [ ] T003: 配置ESLint和Prettier。

## Phase 2: 核心组件开发 (4个任务)
- [ ] T004: 开发`TodoItem`组件。
- [ ] T005: 开发`AddTodoForm`组件。
- ...
Description Description

第七步:写代码 ( /implement ) - AI终于可以“施工”了

万事俱备,只欠“执行”。现在,让 AI 开始写代码吧!
/speckit.implement
AI会严格按照tasks.md的任务列表,一个一个地完成编码、写测试,每搞定一个,就会在任务清单上打个勾[x] 你可以选YOLO模式让它一口气干完,也可以在每个任务后检查确认一下。 稍微等一会儿,一个结构清晰、文档齐全、完全符合你所有规范的“待办事项”应用就诞生了! Description Description Description

三、Spec-Kit的核心价值是啥?

用了 Spec-Kit,你拿到的可远不止是代码:
  1. 高质量、可预测的输出通过前置的规范和计划,AI 的“自由发挥”被管住了,产出更符合你的预期。
  2. 自动化文档生成整个开发过程(需求、方案、任务)都被记了下来,形成了跟代码同步的“活文档”,再也不怕文档过期了。
  3. 团队协作效率飙升标准化的流程和文档,让团队沟通成本大大降低,项目维护和交接都变得超级简单。
  4. 沉淀团队的最佳实践可以把团队的架构约定、代码规范都写进/constitution,让宝贵的经验传承下去,变成可复用的资产。
  5. 真正的“AI工程师” 它让你和 AI 的关系,从“一个指令一个动作的打字员”,变成了能够理解意图、参与设计的“工程师”伙伴。

四、常见问题(FAQ)

Q1: Spec-Kit 会不会很复杂,反而增加我的工作量? A: 说实话,上手需要一点点学习成本。 但对于中大型项目,它通过减少返工、降低沟通成本,长期来看绝对是大大提升效率。当然,如果你就是做个小 demo,那直接用 AI 助手也完全没问题。 Q2: 我能在我的老项目里用Spec-Kit吗? A: 完全可以!在你的项目根目录运行specify init .就行。它不会动你现有的代码,你可以先从一个小功能开始试试水。 Q3: 需求变了咋办? A: 太简单了!你只要回到第三步/specify,描述你的新需求或变更。Spec-Kit 会为你创建一个新的版本和分支,然后你再走一遍/plan/tasks/implement流程。所有历史版本都会保留,迭代过程清清楚楚。 Q4: Spec-Kit 支持哪些AI工具? A: 几乎所有主流的 AI 编程工具它都支持,包括 GitHub Copilot, Claude Code, Gemini, Cursor, 还有国内的通义千问、Roo Code 等等。你可以在初始化的时候随便选。

结语:是时候拥抱AI时代的软件工程新范式了

说白了,Spec-Kit 的出现,标志着 AI 编程正在从“手工作坊”式的 Vibe Coding,走向“工业化生产”式的 Spec Coding。 它把软件工程“先想清楚再动手”这句古老智慧,跟 AI 的强大生产力完美地结合在了一起。 如果你也厌倦了跟 AI 的反复拉扯,渴望一种更从容、更具确定性的开发方式,那么,真的该试试 Spec-Kit了。 Vibe Coding 已死,Spec Coding 当立! 👉 GitHub地址https://github.com/github/spec-kit

*更多教程与案例

更多 GLM 编程的 #入门指南、#实战教程 与 #创新应用案例,请访问 GLM Coding 开发者社区