本文作者:爱汇
原文链接:https://mp.weixin.qq.com/s/CRH4WWtrA_3APBBFD1zMiQ
前言:你是不是也被“Vibe Coding”逼疯过?
“我叫小张,一个天天跟 AI 结对编程的程序员。就在上周,我差点被AI逼疯了。” 你是否也经历过这样的场景:AI:“没问题,看我的!”(一顿操作猛如虎,生成一堆代码)这种靠感觉、靠默契、反复试错,在跟 AI 的不断拉扯中勉强推进的开发模式,就是现在最火的词—— “Vibe Coding”(感觉式编程) 。 说实话,它在小项目里跑跑还行,但凡项目变复杂、团队一扩大,各种弊端就全暴露了:
你:“不对不对,这里应该用JWT认证,不是Session啊喂!”
AI:“好的,已修改。”(又是一顿操作)
你:“等一下!密码加密我要用Argon2,不是你默认的MD5!说过多少次了!”
AI:“…”
- 需求理解全靠猜:AI 常常“会错意”,做出来的东西跟想的完全是两码事。
- 技术选型像开盲盒:AI 可能随手就选个你完全不熟的技术栈,后续维护火葬场。
- 代码质量堪忧:生成的代码能跑,但结构乱七八糟,别说交接了,自己看都费劲。
- 协作基本为零:除了你和AI,没人知道这功能是怎么“感觉”出来的,新同事来了只能干瞪眼。
一、Spec-Kit是啥?从“代码为王”到“规范为王”
先说清楚,Spec-Kit不是一个新的AI编程工具,它是一套工作流和方法论。 它的作用,就是通过一套命令行工具和模板,把你那个有点“虎”的 AI 编程助手(无论是Claude Code, GitHub Copilot,还是Gemini),“调教”成一个既懂需求、又懂架构的“靠谱工程师”。 它的核心理念——规格驱动开发(Spec-Driven Development, SDD) ,直接把传统开发流程给颠覆了:- 传统开发:
规格(爱看不看的文档) →代码(一顿瞎写) →代码成为唯一真理 - Spec-Kit开发:
规格(可被执行的指令) →计划(AI自动生成) →任务(AI自动拆解) →代码(AI按图施工) →规格成为唯一真理
- Vibe Coding:没图纸,凭感觉边盖边想,盖出来的可能是个“歪歪扭扭的茅草屋”。
- Spec Coding:先有详细的建筑图纸(规格),再按图施工(实现),盖出来的才是“坚固可靠的摩天大楼”。
二、Spec-Kit的“六步流水线”,亲测好用!
Spec-Kit把复杂的软件开发,变成了一套清晰、可控的“流水线”。下面,我就用开发一个简单的“待办事项(Todo List)”应用,带你走一遍完整流程。第一步:准备工作 (安装与初始化)
第一件事儿,咱们先把环境搭好。你需要安装 Spec-Kit 的命令行工具。
如果没有安装uv,可以在 PowerShell 中使用命令安装:
装好之后,创建一个新项目并初始化它:
Claude Code+GLM4.6)和脚本类型(比如sh)。
搞定之后,你的项目里会多出.claude/和.specify/这些文件夹,这里面就藏着 Spec-Kit 的所有“魔法”。
第二步:立规矩 ( /constitution ) - 给项目立个“宪法”
这是可选但我墙裂推荐的一步。项目开始前,先给它定好基本原则和约束。
在你的AI编程助手中输入(例子中使用 Claude Code,注意工程路径中不要有中文!!):
constitution.md文件,里面可能写着:
- 技术栈偏好:优先用 React Hooks,别用 Class Components。
- 代码风格:按 Airbnb JavaScript Style Guide来。
- 测试要求:核心功能必须有单元测试。
- 用户体验原则:交互必须流畅,响应时间低于100ms。
第三步:提需求 ( /specify ) - 你只要说“要什么”
现在,用大白话描述你的需求。记住,只谈功能,别谈技术。
- 在
specs/目录下创建一个新版本,比如001-todo-app-core-features。 - 生成一份详细的
spec.md(需求规格文档),里面有用户故事、验收标准、边界条件等等。 - 自动给你创建一个新的Git分支,比如
feat/001-todo-app-core-features。
第四步:清疑点 ( /clarify ) - 消除那些模棱两可的地方
这一步也是可选的。如果你的需求描述得比较模糊(比如“好玩儿的动画”),可以运行这个命令,让AI主动问你问题,把细节弄清楚。
Q1:“好玩儿的庆祝动画”具体是啥风格?是放烟花还是撒花?你只要回答这些问题,AI 就会自动更新
Q2:待办事项有字数限制吗?
Q3:要不要支持任务优先级?
spec.md,让需求变得嘎嘎清晰。
第五步:出方案 ( /plan ) - AI变身架构师
需求清楚了,让 AI 来做技术方案。
plan.md: 技术栈决策(比如用React 18, Zustand做状态管理, Framer Motion做动画)。data-model.md: 数据结构定义(比如Todo长啥样)。contracts/: API 接口或组件接口定义。research.md: 为啥这么选型,做了哪些调研。
第六步:拆任务 ( /tasks ) - 把大象装进冰箱
方案定了,接下来就是把它拆解成能干的活儿。
plan.md拆成一份详细的tasks.md文件,就像一个靠谱的项目经理,把工作安排得明明白白:
第七步:写代码 ( /implement ) - AI终于可以“施工”了
万事俱备,只欠“执行”。现在,让 AI 开始写代码吧!
tasks.md的任务列表,一个一个地完成编码、写测试,每搞定一个,就会在任务清单上打个勾[x]。
你可以选YOLO模式让它一口气干完,也可以在每个任务后检查确认一下。
稍微等一会儿,一个结构清晰、文档齐全、完全符合你所有规范的“待办事项”应用就诞生了!
三、Spec-Kit的核心价值是啥?
用了 Spec-Kit,你拿到的可远不止是代码:- 高质量、可预测的输出通过前置的规范和计划,AI 的“自由发挥”被管住了,产出更符合你的预期。
- 自动化文档生成整个开发过程(需求、方案、任务)都被记了下来,形成了跟代码同步的“活文档”,再也不怕文档过期了。
- 团队协作效率飙升标准化的流程和文档,让团队沟通成本大大降低,项目维护和交接都变得超级简单。
- 沉淀团队的最佳实践可以把团队的架构约定、代码规范都写进
/constitution,让宝贵的经验传承下去,变成可复用的资产。 - 真正的“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 等等。你可以在初始化的时候随便选。