SpecKit 太猛了,一行代码没写,就实现了一个 Web 应用程序

原文地址:https://mp.weixin.qq.com/s/jB4dn34ZVrBLNUwMVgGTaA

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 的工作原理是什么?主要由五个关键的文档组成:

在初次看到这些文档的时候,容易产生几个困惑:

  1. constitution.mdspec.md 有什么区别?
  2. plan.mdtasks.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 斜杠命令:

  1. /speckit.constitution:制定宪法,本质上是规定项目的大原则,例如公司的编码规范、采用的测试原则等等。当然,你也可以直接跳过这个文件。
  2. /speckit.specify:描述需求,这个比较好理解。执行这个命令之后,AI 会按照这个文档的内容根据你的想法明确需求。
  3. /speckit.clarify:澄清需求。对于需求文档中描述模糊的地方,AI 会主动依据文档对你进行提问。
  4. /speckit.plan:为实现做规划。例如技术架构、项目的目录结构、数据库选型、测试的框架等。
  5. /speckit.tasks:生成可执行、有优先级的任务列表。
  6. /speckit.implement:按照上一步的 tasks.md 文件实现。

还有几个命令没有介绍到,因为不是一级重要,大家参考官网自行了解吧。

3. 实现一个记账 Web 应用

要实现的记账 Web 应用具有的功能:

  1. 用户登录与注册;
  2. 账单管理。对账单进行了分类:收入、支出、资产和总资产。
  3. 分类统计。按周、月、年进行账单统计。

下面就开始一步步执行上面六条指令。限于图文传达信息的局限性,就不详细展示每个文档的全部内容了。

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 个执行步骤以及调试环节,看一下最后的效果:

  1. 用户登录与注册。
  2. 账单管理。
  3. 分类统计账单。

4. 我的体会

说实话,我真的被这个工具的功能震撼到了。我全程没有写一行代码,只学习过简单的前端三件套:HTML、CSS、JavaScript。就直接让 AI 从零生成了一个小项目。这要放到从前,即使是只实现一个简单的增删改查项目,对前后端框架、数据库的基础知识学习,你是绕不开的。

给我带来体会的是:

  1. 清晰、结构化的文档对于 AI 生成代码至关重要。
  2. 从零开发一个简单的小程序,人工编程代码的价值已经微乎其微了。
  3. 从零开发一个项目的雏形,直接用现在的工作流,例如 Spec Kit,可以少写很多提示词。

你觉得 Spec Kit 怎么样,能提升你的开发效率吗?欢迎在评论区留言。


往期推荐

  • 迷信 AI 编程就是死路一条
  • 6 款 VS Code AI 插件对比,这一款是真的强
  • Claude Code 创始人的 13 条 CC 使用心法,解决了我 80% 的痛点

我是一梵 AI 编程,分享使用 AI 编程的一手经验。用 AI 打败 AI。

作者:Ddd4j  创建时间:2026-02-01 00:07
最后编辑:Ddd4j  更新时间:2026-02-01 00:07