我靠Spec-Kit,把AI调教成了靠谱工程师!告别Vibe Coding(保姆级教程)

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

“我叫小张,一个天天跟AI结对编程的程序员。就在上周,我差点被AI逼疯了。”

你是否也经历过这样的场景:

:“嘿,AI老兄,帮我写个用户登录功能。”

AI:“没问题,看我的!”(一顿操作猛如虎,生成一堆代码)

:“不对不对,这里应该用JWT认证,不是Session啊喂!”

AI:“好的,已修改。”(又是一顿操作)

:“等一下!密码加密我要用Argon2,不是你默认的MD5!说过多少次了!”

AI:“…”

这种靠感觉、靠默契、反复试错,在跟AI的不断拉扯中勉强推进的开发模式,就是现在最火的词——“Vibe Coding”(感觉式编程)

说实话,它在小项目里跑跑还行,但凡项目变复杂、团队一扩大,各种弊端就全暴露了:

  • 需求理解全靠猜:AI常常“会错意”,做出来的东西跟想的完全是两码事。
  • 技术选型像开盲盒:AI可能随手就选个你完全不熟的技术栈,后续维护火葬场。
  • 代码质量堪忧:生成的代码能跑,但结构乱七八糟,别说交接了,自己看都费劲。
  • 协作基本为零:除了你和AI,没人知道这功能是怎么“感觉”出来的,新同事来了只能干瞪眼。

结果呢?我们把大把时间都浪费在了跟AI的反复沟通和修改上,而不是真正地创造价值。

我就在想,到底有没有一种方法,既能用上AI的超能力,又能保证软件开发的工程质量和确定性?

你别说,还真让我找到了。答案就是Spec Coding(规范式编程),以及GitHub上那个最新开源的现象级项目——Spec-Kit

https://github.com/github/spec-kit

上线才几个月,狂揽34k+ Star,我研究了一下,发现Spec-Kit这东西,正在掀起一场AI编程的范式革命。

一、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

如果没有安装uv,可以在PowerShell 中使用命令安装:

irm https://astral.sh/uv/install.ps1 | iex
uv --version #查看uv版本号

装好之后,创建一个新项目并初始化它:

# 创建一个叫my-todo-app的项目并初始化
specify init my-todo-app
cd my-todo-app

初始化的时候,它会让你选一个AI助手(比如Claude Code)和脚本类型(比如sh)。

搞定之后,你的项目里会多出.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

第四步:清疑点 (/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: 为啥这么选型,做了哪些调研。

第六步:拆任务 (/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`组件。
- ...

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

万事俱备,只欠“执行”。现在,让AI开始写代码吧!

/speckit.implement

AI会严格按照tasks.md的任务列表,一个一个地完成编码、写测试,每搞定一个,就会在任务清单上打个勾[x]

你可以选YOLO模式让它一口气干完,也可以在每个任务后检查确认一下。

稍微等一会儿,一个结构清晰、文档齐全、完全符合你所有规范的“待办事项”应用就诞生了!

三、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


觉得有收获?点个收藏,交个朋友。

👉 关注公众号「AI汇创新」,带你读懂AI圈的那些事儿。

👉 访问我们官网 https://www.aiconvg.xin ,一起探索AI的无限可能。


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部