SpecKit 太猛了,一行代码没写,就实现了一个 Web 应用程序
Spec Kit 在 AI 编程封神了。
相信大家在 AI 的加持下,基本上都是动嘴编程了。但是,你一定遇到过这样的情况:在新增某个功能的时候,由于功能比较复杂,和 AI 经常是说了下文,他忘了上文。因为 AI 再强大,它的上下文是有限的,就像人的记忆也是有限的。
于是乎,你和 AI 陷入了拉锯战,疯狂地调整你的提示词,结果还是没有实现你想要的效果,最后大骂 AI:你怎么就听不懂人话呢?
在工作当中,大家都痛恨写文档,觉得文档写了没人看、写了之后马上被推翻。
但在 AI 编程的时代,文档却变得至关重要起来。
不过,依旧有个痛点是,写文档也很痛苦,不知道从何处写起。
Spec Kit 就是写用于 AI 编程提示词文档的救星。它的理念是文档驱动开发(Documentation-driven Development, DDD)。
掌握了它,你的 AI 编程效率一定会上升一个台阶。
1. 什么是 SpecKit?
SpecKit 是一个实现了文档驱动编程理念的工具。文档驱动编程,简单来说,就是让 AI 做什么事情,先写在文档中,这样 AI 写代码的时候有所依据,就不容易胡乱发挥了。
如果将 SpecKit 接入类似于 Claude Code 这样的编程工具,在具体实现上,你就可以理解为斜杠命令,而每一个斜杠命令对应一个 markdown 文档。
SpecKit 的工作原理是什么?主要由五个关键的文档组成:
在初次看到这些文档的时候,容易产生几个困惑:
constitution.md和spec.md有什么区别?plan.md和tasks.md有什么区别?
我们用一个记账 web 应用案例带你体验 SpecKit 一手实测。
2. Speckit 基本概念
1. 安装 SpecKit
官网推荐使用 uv 进行安装:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git然后,验证安装是否成功:
specify version注意,官网给出的命令是 specify --version,实际上不需要加 --,可能官网还没来得及更新。
在此之前,你必须在你的电脑上将 specify 指令添加到环境变量。
2. 初始化项目
用你喜欢的 AI Agent 集成工具初始化项目,例如 Claude Code (简称,CC)。
specify init my-project --ai claude目前 SpecKit 支持以下的工具:
这里我使用了 CC。
初始化项目之后呢,你可以看到 CC 已经添加了如下的命令:
初始化成功之后,你会看到这样的输出:
这里在 my-project 目录下启动 CC,可以发现 CC 能够检测到 SpecKit 内置的斜杠命令:
本质是上是在 .claude/commands 目录下创建了各个斜杠命令对应的 markdown 文档:
六个最重要的 SpecKit 斜杠命令:
/speckit.constitution:制定宪法,本质上是规定项目的大原则,例如公司的编码规范、采用的测试原则等等。当然,你也可以直接跳过这个文件。/speckit.specify:描述需求,这个比较好理解。执行这个命令之后,AI 会按照这个文档的内容根据你的想法明确需求。/speckit.clarify:澄清需求。对于需求文档中描述模糊的地方,AI 会主动依据文档对你进行提问。/speckit.plan:为实现做规划。例如技术架构、项目的目录结构、数据库选型、测试的框架等。/speckit.tasks:生成可执行、有优先级的任务列表。/speckit.implement:按照上一步的 tasks.md 文件实现。
还有几个命令没有介绍到,因为不是一级重要,大家参考官网自行了解吧。
3. 实现一个记账 Web 应用
要实现的记账 Web 应用具有的功能:
- 用户登录与注册;
- 账单管理。对账单进行了分类:收入、支出、资产和总资产。
- 分类统计。按周、月、年进行账单统计。
下面就开始一步步执行上面六条指令。限于图文传达信息的局限性,就不详细展示每个文档的全部内容了。
1. 执行 /speckit.constitution
如果你不知道你的宪法文档当中包含什么内容,可以直接执行这个命令,让 AI 提示你做选择题。
2. 执行 /speckit.specify:让 AI 写产品需求文档
这里仅仅是测试使用,包含的功能并不是商业级的。而且记账应用估计已经被做得烂大街了。
/specify.specify 指令的输出结果:
我发现这个需求文档写得真是太好了,比我手写好了不知道多少倍。例如这里的用户注册与登录文档:
边界条件都帮你考虑到了:
这些问题是需要我们来回答的。不知道怎么回答的,可以先问问 AI,让它推荐可行的方案。
另一种方法是,执行 /specify.clarify,让 AI 帮你澄清需求:
然后呢,你就需要做各种选择题了。
这里我选择 B,AI 开始帮我更新需求文档:
因为我使用的第三方 API 服务,导致国外的大模型不太稳定。澄清到第三个问题时,无法接收我的输入了。
没关系,输入 /clear 之后,输入 /speckit.clarify 澄清问题 3/5: 账单列表分页策略 ,AI 能够继续澄清问题。这就完全体现到了文档驱动开发的好处:即使由于网络、API 服务商或者 token 限制,AI 强制中断输出,你依然可以重新启动一个新的会话,接着上次的步骤执行。
下面的问题我就不一一展示了。
3. 执行 /specify.plan 命令。让 AI 生成规划文档。
你可以修改 plan.md 文档,例如采用的技术架构、项目组织结构等等。
4. 执行 /specify.tasks.md 。让 AI 生成具有优先级的、可执行的任务文件。类似于待办列表。
下面是生成的 tasks.md 文件:
其中,标记为 P 的待办项是可以并行执行的任务。就是说,你在写提示词的时候,可以打开多个窗口,让 AI 并行实现这些标记为 P 的任务。
5. 使用 /specify.implements.md ,按照 tasks.md 文档中的任务逐个去执行。
大模型不可能一次对话就能实现你的全部需求,所以必须分批次让 AI 实现功能。在一次会话当中,你需要指明让 AI 实现的功能。例如下面这样:
下面的步骤就是分阶段按照 tasks.md 文档中的内容用 /specify.implements.md 去逐个实现。
比如,我这里先让 AI 按照 tasks.md 文档实现阶段 1:
生成的目录结构如下:
目录结构看起来相当规整,这都是提前将目录结构写在文档中的功劳。
这里跳过 N 个执行步骤以及调试环节,看一下最后的效果:
- 用户登录与注册。
- 账单管理。
- 分类统计账单。
4. 我的体会
说实话,我真的被这个工具的功能震撼到了。我全程没有写一行代码,只学习过简单的前端三件套:HTML、CSS、JavaScript。就直接让 AI 从零生成了一个小项目。这要放到从前,即使是只实现一个简单的增删改查项目,对前后端框架、数据库的基础知识学习,你是绕不开的。
给我带来体会的是:
- 清晰、结构化的文档对于 AI 生成代码至关重要。
- 从零开发一个简单的小程序,人工编程代码的价值已经微乎其微了。
- 从零开发一个项目的雏形,直接用现在的工作流,例如 Spec Kit,可以少写很多提示词。
你觉得 Spec Kit 怎么样,能提升你的开发效率吗?欢迎在评论区留言。
往期推荐
- 迷信 AI 编程就是死路一条
- 6 款 VS Code AI 插件对比,这一款是真的强
- Claude Code 创始人的 13 条 CC 使用心法,解决了我 80% 的痛点
我是一梵 AI 编程,分享使用 AI 编程的一手经验。用 AI 打败 AI。
最后编辑:Ddd4j 更新时间:2026-02-01 00:07