几乎每个用 AI 构建东西的人都会重复一个模式:一开始你跟它说话,代码出现了,能跑,简直是魔法。但到了第五或第六个功能附近,魔法就破灭了——你让它做一个小改动,另一个东西就崩了;你第三次跟它解释登录是怎么回事「因为它忘了」;第二天打开项目时,你已经想不起来一半的文件为什么存在。根本问题不是 AI 笨:而是它没有意图的记忆,每次填空时都猜得不一样。Spec-Driven Development(规格驱动开发)把 vibe coding 的顺序反了过来:在 AI 写下一行代码之前,你先编写规格——用你自己的话说明应用应该做什么——而这份文档就成了唯一的真相来源,智能体从它生成计划 → 任务 → 代码,中间穿插着你的检查点。在这份指南里你会看到那个把它作为命令安装进你自己智能体的工具(GitHub Spec Kit,免费且开源)、真实的 4 阶段流程、精确的命令,以及一个用来启动任何 spec-first 项目的主提示词,全程不用你变成程序员。
一开始 vibe coding 很神奇。你跟 AI 说话,出现一个界面,能跑,你鼓掌。但会到达一个点——几乎总是在第五或第六个功能左右——魔法破灭了。你要求一个小改动,结果一个你没碰过的东西崩了。你第三次跟它解释登录该怎么工作 「因为它忘了」。你第二天打开项目,连自己都不知道一半的文件为什么存在。那就是那个时刻:当对话不再足以作为真相来源,而你需要比一个记忆像金鱼一样的聊天更坚实的东西。
Spec-Driven Development(规格驱动开发,即 SDD)正是诞生于此。这个想法简单到几乎冒犯人:在 AI 写下一行代码之前,你先写下应用应该做什么——清晰、有条理,并保存在一个文件里。那份文档,即 spec,成为唯一的真相来源。智能体则从它出发,生成一个计划 → 一份任务清单 → 代码。就按这个顺序。中间穿插着你的检查点。
问题不是 AI 笨。而是AI 没有意图的记忆。在每条消息里它都为 那条消息 做出最佳决定,却没有一幅关于你在构建什么、为什么构建的完整图景。你脑子里有那幅图景——但脑子不是智能体能读取的文档。所以 AI 靠猜来填空,而且每次猜得都不一样。有一次购物车保存了税,另一次却没有。有一次用户可以编辑自己的资料,另一次这个功能在一次重构中消失了。没有人撒谎:只是从来就没有存在过一份说明什么才是正确的合同。
如果你不解决这个问题会怎样?不是世界末日——是一场缓慢的事故。你最终得到一个 几乎 能跑的应用,无法向另一个人(或者下周的 AI)解释清楚,每次修补都有它自己弄坏别的东西的概率。而这些概率不会宽容你:在这同一系列的一篇博客里我们讲过 27% 的数学 ——一个每一步都有 85% 命中率的智能体,只有 27% 的概率完成一个八步的流程(0.85⁸),因为命中率是相乘的,不是相加的。盲目构建同样地把脆弱的步骤串在一起。规格正是打破这条脆弱链条的东西:它给 AI 一个固定的点,让它对照着验证每一步,而不是让每一步都依赖上一步的运气。
在 vibe coding 里流程是:说话 → 代码 →(有时候)写文档。在 SDD 里它被完全反了过来:编写规格 → 计划 → 生成任务 → 代码。文档不再是最后被遗忘的残余,而成了 起点。而且这不是官僚流程:每一个阶段都是智能体从上一个阶段几乎自动生成的产物,中间有一个你的检查点让你在继续前批准。你指挥;AI 执行。
你不必手动发明这套流程。GitHub Spec Kit 是一个 open source 工具包——出自 GitHub,免费,MIT 许可——它把 SDD 作为一系列命令安装进你的 AI 智能体里。你用自然语言编写规格;它给你结构、检查点和命令,好让 AI 把它变成应用。它是增长最快的 AI 工具之一:GitHub 上 122,000 颗星,其最新稳定版本 v0.13.0 于 2026 年 7 月 17 日 发布。它集成了 30 多个智能体——Claude Code、GitHub Copilot、Cursor、Gemini CLI 以及你用的那个。
GitHub 官方的 Spec-Driven Development 工具包。它在你的 AI 智能体里安装一套命令流程(constitution → specify → plan → tasks → implement),让你从一份可执行的规格出发构建,而不是即兴发挥。Model-agnostic:适用于 30 多个智能体。
Spec Kit 用 uv 安装,那是现代的 Python 包管理器(快,不折腾)。如果你没有 uv,先装它——一行。然后持久化地安装 Spec Kit 的 CLI,并选择你的智能体来初始化你的项目。别被终端吓到:就是这几条命令,按顺序来,而且真正的工作里你不用再碰它(真正的工作在你 AI 的聊天里进行)。
# 1) 如果你没有 uv(Python 的包管理器),先装它: curl -LsSf https://astral.sh/uv/install.sh | sh # 2) 持久化地安装 Spec Kit 的 CLI(固定到稳定版本): uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.13.0 # 3) 看看你可以选哪些智能体(--integration 这个 flag 的确切取值): specify integration list # 4) 选择你的智能体来初始化你的项目(这里用 Copilot 作为例子): specify init mi-proyecto --integration copilot # 5) 检查有没有更新的版本(不改任何东西,只读取): specify self check
specify init mi-proyecto --integration copilot 里,--integration 之后的值就是你的工具。Spec Kit 带了 30 多个集成,并且会在各版本之间调整它们,所以与其去记确切的名字,不如先跑一下 specify integration list,从那份列表里选你用的那个(Copilot、Cursor、Gemini、Claude Code 等)——就像点菜前先要菜单,这样你永远不会点一道没有的菜。那条 init 命令会创建文件夹,里面的 /speckit.* 命令已经接好线并接进你的智能体;从那时起,所有工作都发生在跟 AI 说话里,而不是在终端里。一旦初始化完成,Spec Kit 给你一系列 slash commands,你在你的智能体里输入它们。它们不神奇:每一个都请求 AI 生成流程里的下一个产物。顺序很重要——这是一条级联,每一步都依托于上一步。这些是真实的命令,正如 v0.13.0 里的样子:
/speckit.implement,就是带着多几步的 vibe coding。这条级联之所以有效,是因为每个产物都约束下一个:宪法界定计划,计划界定任务,任务界定代码。如果你打破这条链,AI 又开始猜。纪律在于遵守检查点,而不在于拥有那些命令。把一切拼起来,一个项目从头到尾就是这个样子。注意在每一个边界上 你都审查并批准 才让 AI 前进。这就是诀窍:不是 AI 毫无制动地独自工作,而是它 在你控制的检查点之间 独自工作。
/speckit.constitution 并定义项目的黄金规则。检查点: 你阅读并确认那些原则是对的。写一次,永远统治。/speckit.specify 并描述要构建什么。然后 /speckit.clarify,让 AI 通过向你提问来消除含糊。检查点: 规格准确无误地说出你想要的,没有空缺。/speckit.plan 给出技术计划;/speckit.tasks 把它变成任务;/speckit.analyze 验证一切连贯。检查点: 在写下代码之前,你批准技术栈和任务。/speckit.implement 构建。AI 对照规格一个接一个地执行任务。检查点: 你用 /speckit.checklist 验证构建出来的东西满足需求。SDD 不是万事皆用。一行的改动、一个按钮的颜色、一段文字——那些你正常跟 AI 说就行了。为那些写一份规格,就像为了挂一幅画去请建筑师画图纸。好的习惯是认出 那个门槛:在一个任务触及 多于一个文件、有业务规则、或者你下周还会回来碰它 的那一刻——那时候,先写规格。从那以后,每一个大的新功能都诞生于一份规格,而不是一时冲动。
这里是你唯一需要记住的提示词。就是你交给你的 AI(Spec Kit 已初始化)的那一个,用来从第一分钟就开好头:它要求 AI 先定下宪法,然后跟你一起构建规格、缺什么就问,而且在你批准之前不写代码。复制它,填好 [方括号],在启动任何认真的项目时把它粘给你的智能体。
我们要用 Spec-Driven Development 来构建这个项目,使用 GitHub Spec Kit,它已经初始化好了。先不要写代码。跟着我走这个流程,在每一个检查点停下来,等我批准了再前进。 我的项目是:[用 3-5 句话描述你想构建什么、给谁用]。 它不该做什么 / 我的界限:[例如 不保存信用卡、要能在手机上运行、日志里不放敏感数据]。 第 1 步 — 宪法。首先,跑 /speckit.constitution 并提出这个项目不可违背的原则(安全、输入验证、一致性,以及任何适用的)。把它们展示给我,等我点头。 第 2 步 — 规格。然后跑 /speckit.specify,根据我的描述起草规格:清晰的需求和用户故事。之后跑 /speckit.clarify,把消除含糊所需的所有问题都问我——不要猜,问我。在我说规格没问题之前不要继续。 第 3 步 — 计划和任务。规格获批后,跑 /speckit.plan 并提出技术栈和架构(用大白话跟我解释你为什么选每一样)。然后 /speckit.tasks 做分解,再 /speckit.analyze 验证规格、计划和任务不互相矛盾。把这一切展示给我,等我批准。 第 4 步 — 实现。只有在我授权时,才跑 /speckit.implement 并构建。完成后,生成一份 /speckit.checklist,验证构建出来的东西满足规格。 整个过程的黄金规则:规格是唯一的真相来源。如果代码里有什么偏离了规格,规格说了算——或者你提醒我,我们一起更新它。永远不要悄无声息地改变行为。
/speckit.clarify 存在的意义正是如此:在那些假设变成代码 之前,把它们摆到明面上来。为了让你不迷路:几乎一切都发生在 跟你的 AI 说话 里。终端你只碰一次(安装并初始化)。那些 /speckit.* 你在你智能体的聊天里输入,就像任何别的消息一样。而规格你用自己的话来写——不是用代码。这就是分工:
uv、安装 specify-cli、用 specify integration list 看智能体、跑 specify init mi-proyecto --integration <你的智能体>,以及 specify self check 检查你是否是最新的。就这样——你不用再回终端了。/speckit.constitution、/speckit.specify、/speckit.plan、/speckit.tasks、/speckit.implement。你把它们当作普通消息输入。/speckit.clarify 提问的回答,以及每个检查点上的批准。你这边零代码。如果你一直跟着这个资料库,这对你不新鲜——它是下一个台阶。C-A-R 协议 教你把构建和审计分开,好不把 bug 发出去。设计系统 那份资源教你在第一个界面 之前 定下视觉规则。两者共享同一个想法:在执行之前决定合同。 SDD 把这个想法带到最纯粹的形式:规格就是合同,而且它是 整个 应用的唯一真相来源——设计、逻辑、行为。你从 「组织好你的上下文」 走向 「写好合同,让 AI 去履行它」。
Join 4,200+ builders. No credit card. Build your first app with AI in minutes.