告别 Vibe Coding:用 GitHub Spec Kit 让 AI Agent 真正「按规矩办事」

告别 Vibe Coding:用 GitHub Spec Kit 让 AI Agent 真正「按规矩办事」

介绍 GitHub 开源工具包 Spec Kit(99.1k stars)如何通过七步结构化工作流解决 AI Agent 因模糊指令产生不可维护代码的问题,含安装命令、真实使用示例与四条社区已知限制。

今日热门 Skill 推荐
2026/5/14 · 23:39
購読 0 件 · コンテンツ 1 件

リサーチノート

给 AI 一段模糊的描述,它输出了一个跑不通的项目——这个场景,用 Cursor 或 Claude Code 做过几次中等规模功能的人应该不陌生。问题不在于 AI 的编码能力,而在于我们和它「对话」的方式有根本性缺陷。GitHub Principal Product Manager Den Delimarsky 在官方博客中这样描述这个问题:
"We treat coding agents like search engines when we should be treating them more like literal-minded pair programmers."
「我们把 coding agent 当搜索引擎使,但其实应该把它们当作字面化思维的结对编程伙伴。」1
GitHub Spec Kitgithub/spec-kit)是 GitHub 开源的 spec-driven development(SDD,规格驱动开发)工具包,截至 2026-05-14 获 99.1k stars、8.6k forks,上个月从 88k 加速增长,近日在 Twitter 上引爆「GitHub 终结 vibe coding」讨论,单帖浏览量 160k+。2它的核心主张只有一句话:code 服务于 spec,而不是反过来。3
Spec Kit Logo
Spec Kit Logo

核心工作流:七步命令序列

Spec Kit 的核心是一套以 specify CLI 驱动的七步工作流,每步产出 Markdown 文件落盘,作为下一步的输入——Agent 的记忆不在对话上下文里,而在文件系统里。2
命令作用产出文件
/speckit.constitution设定项目不变原则(测试标准、安全约束等).specify/memory/constitution.md
/speckit.specify将自然语言描述转为结构化 specspecs/<编号>/spec.md(含验收标准)
/speckit.clarify(可选)Agent 向你提问澄清模糊点
/speckit.plan基于 spec 生成技术方案plan.mddata-model.mdcontracts/
/speckit.tasks将 plan 拆分为可执行任务列表tasks.md(含并行任务标注 [P]
/speckit.analyze(可选)分析复杂度和风险
/speckit.implement按序执行 tasks.md,遵循 TDD代码 + 测试
Constitution 是 Spec Kit 区别于 .cursorrules / CLAUDE.md 的关键设计:它包含 9 条不变开发原则(Library-First、Test-First、Anti-Abstraction 等),会在每个 phase 作为 gate 强制执行,不因 Agent 的上下文漂移而失效。3 这也是它和只告诉 Agent「如何行为」的规则文件的本质区别——Spec Kit 告诉它「具体构建什么」,并保留从意图到输出的完整追溯链。

今天就能上手:安装配置

Spec Kit 通过 Python CLI 工具 specify 分发,只能从 GitHub 安装,PyPI 上的同名包不是官方维护的2
前置依赖:Python 3.11+、Git、uv(推荐)或 pipx、以及一个支持的 AI coding agent。
第一步:持久安装(推荐)
uv tool install specify-cli \
  --from git+https://github.com/github/[email protected]
如果只想试一次,无需安装:
uvx --from git+https://github.com/github/[email protected] \
  specify init MY_PROJECT --integration claude
第二步:在项目目录初始化
specify init MY_PROJECT --integration claude
# 或者 cursor、copilot、gemini、codex 等 30+ 选项
初始化后,specify 会根据你选择的 --integration 参数,把 Spec Kit 的工作流命令写入对应的位置:
  • Claude Code.claude/commands/
  • Cursor.cursor/skills/
  • GitHub Copilot.github/prompts/
之后在对应 Agent 的对话里直接输入命令(如 /speckit.specify)即可触发工作流。

实际效果:两个真实场景

场景一:照片管理应用(官方 README 示例)
/speckit.specify Build an application that can help me organize
my photos in separate photo albums...

/speckit.plan The application uses Vite with minimal number of
libraries...

/speckit.tasks

/speckit.implement
四步走完,Agent 按照 spec 中的验收标准逐项实现,不会发散。2
场景二:Telegram Bookmark Bot(社区实测)
开发者 lookoutking 用 Spec Kit 构建了一个 Telegram 收藏 Bot,/speckit.specify 一步就生成了 32 个结构化任务,涵盖环境设置、数据模型、API 集成、命令实现、测试和部署。他的总结是:4
"For me, the biggest win isn't just better code — it's better thinking habits. By forcing me to define specs and edge cases, spec-kit improved how I approach problems overall."
「对我来说,最大的收获不是更好的代码,而是更好的思维习惯。强制定义 spec 和边界情况这件事,改变了我整体解决问题的方式。」

上手前要知道的边界

Spec Kit 不适合所有场景,几个真实反馈值得注意,最好在第一次使用前了解:
  • 小任务不划算:XB Software 实测结论——预估 ≤2 天的任务,spec→plan 阶段的 overhead 超过 AI 自动化节省的时间。5
  • token 消耗更高:spec-driven 工作流比直接 vibe coding 多消耗约 20-40% 的 API 额度,有用户反馈首次使用即用完 Claude Pro 的 5 小时限额。6
  • 多仓库项目需要手动协调:Spec Kit 假定单仓库结构,前后端分离的多 repo 项目需要两套独立流程。7
  • 自动生成的 spec 有冗余:DeployHQ 实测发现需要手动删除 30-40% 的自动生成文本,spec 才真正有用。7
  • Agent 完成度仍需人工核验:中文用户 @arcadia822 指出,Agent 汇报「这个 Spec 做完了」时,真实完成度不一定准确,建议补充工程规范和逐阶段核验步骤。8
综合来看,Spec Kit 适合的目标:中等规模以上的新功能、需要多人协作或跨 session 继续开发的项目、以及对「agent 交付什么」有明确要求的场景。如果你只是让 AI 改几行代码或试个想法,直接用 chat 就好。

封面图:图片来自 Spec Kit GitHub 仓库

このコンテンツについて、さらに観点や背景を補足しましょう。

  • ログインするとコメントできます。