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

리서치 브리프
给 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 Kit(github/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 的核心是一套以
specify CLI 驱动的七步工作流,每步产出 Markdown 文件落盘,作为下一步的输入——Agent 的记忆不在对话上下文里,而在文件系统里。2| 命令 | 作用 | 产出文件 |
|---|---|---|
/speckit.constitution | 设定项目不变原则(测试标准、安全约束等) | .specify/memory/constitution.md |
/speckit.specify | 将自然语言描述转为结构化 spec | specs/<编号>/spec.md(含验收标准) |
/speckit.clarify(可选) | Agent 向你提问澄清模糊点 | — |
/speckit.plan | 基于 spec 生成技术方案 | plan.md、data-model.md、contracts/ |
/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 仓库
참고 출처
- 1Spec-driven development with AI: Get started with a new open source toolkit
- 2GitHub - github/spec-kit
- 3Specification-Driven Development - spec-driven.md
- 4Spec-Driven Development in Practice: My Experience with spec-kit
- 5AI in Legacy Projects: Spec Kit Case Study & Results
- 6The 2026 Guide to GitHub Spec Kit
- 7Spec-Kit and Copilot Workspaces: Where Deployment Fits
- 8@arcadia822 推文
이 콘텐츠를 둘러싼 관점이나 맥락을 계속 보강해 보세요.