文档大纲

GitHub 官方出手:让规格文档成为 AI Agent 的执行契约

一、为什么 spec-kit 单日 11,548⭐?

2026-08-16 的 GitHub Trending 榜首属于 GitHub 官方仓库 github/spec-kit —— 单日新增 11,548 颗星,总星标 129,270,Fork 11,557(MIT 协议,Python 实现)。这不是普通的爆款,而是一次官方信号:GitHub 在告诉你,AI 编程工具链的下一个战场是"规格"。

传统开发流程是这样的:写代码 → 测试 → 迭代。AI 编程时代初期的流程是这样的:用自然语言和 AI 助手对话,让它生成代码。两种模式都有同一个软肋 —— 没有中间契约层。代码为什么这样写?需求满足到什么程度算完?团队成员和 AI Agent 之间没有共同语言。

spec-kit 提出了第三条路:

*Define what to build before building it — with any AI coding agent.*

先写规格(.spec.md),让规格成为 AI Agent 的执行契约,再让 Agent 生成代码。规格变更可追溯,代码与规格的一致性可被自动验证。这是 GitHub 把"规格工程"正式推上 AI 编程舞台的标志。

读到这里你会发现一件事:spec-kit 不是新概念,它是把软件工程里的"形式化方法"重新包装后,交给 AI Agent 用的。对软件工程稍有了解的人会立刻想起 V-Model、Specification by Example、Executable Specifications。但对 AI Coding 重度用户来说,spec-kit 第一次把这套方法论装到了 Claude Code、Copilot、Cursor 的工作流里。

二、Spec CLI:规格如何驱动 Agent

spec-kit 的入口是一个叫 specify 的命令行工具。安装方式很简单:

uv tool install specify-cli
# 或
pip install specify-cli

初始化项目时直接绑定 AI 编程助手:

specify init my-project --integration copilot
cd my-project

接下来四个命令覆盖了完整工作流:

命令作用
specify self check检查 CLI 是否有新版本(只读,不破坏当前项目)
specify self upgrade升级 CLI
specify verify验证当前代码是否真的满足规格

specify verify 是 spec-kit 最关键的一步 —— 它会读 .spec.md,把规格拆解成结构化检查项,然后扫描代码库看实现是否满足每一条。对用 Claude Code 写过中型项目的人会有共鸣:你让 Agent 实现了功能,但"实现了"和"实现了规格里那条需求"是两回事。spec-kit 把这种差距变成可被工具自动检测的信号。

三、Bundles:开箱即用的角色化规格

spec-kit 内置了 4 套官方预设包(Bundle):

Bundle适用场景
web-devWeb 应用开发
api-designREST/GraphQL API 设计
cli-tool命令行工具开发
data-pipeline数据管道开发

每个 Bundle 不是模板那么简单 —— 它包含三件套:规格模板(.spec.md) + 验收检查清单 + 示例代码结构。这意味着你不需要从零写规格,针对常见场景可以直接 fork Bundle 改字段。

举个电商从业者能用的场景:你要做一个订单导出工具。传统流程是给 Agent 说"做一个订单导出工具",然后得到一个能跑的实现 —— 但"导出"这个需求可以指 CSV、Excel、PDF、JSON、API 推送中的任何一种,Agent 选了 CSV,下次你需要 Excel 又得重新描述一遍。用 spec-kit 的 cli-tool Bundle,规格里明确写:

# 规格:订单导出工具

## 功能描述
将指定时间范围内的订单导出为 CSV 和 Excel 两种格式。

## 输入/前置条件
- 时间范围(start_date, end_date)
- 导出格式(csv / xlsx)
- 输出路径

## 输出/后置条件
- 在指定路径生成文件
- 文件首行为表头
- 时间范围内订单数 = 导出行数

## 验收标准
- [ ] CSV 文件用 UTF-8 编码
- [ ] Excel 文件含 sheet 名 "Orders"
- [ ] 字段顺序:订单号 / 下单时间 / 金额 / 状态
- [ ] 金额保留两位小数

Agent 拿着这份规格实现,验收时 specify verify 就能检查每一项。这是让需求第一次变成可执行文件。

四、Extensions:把规格模板变成团队资产

spec-kit 的第三个支柱是扩展机制。如果官方 Bundle 不够用,团队可以自定义规格模板:

from spec_kit import Extension

class MyExtension(Extension):
    name = "my-custom-spec"
    template_path = "./templates/custom.spec.md"

这让 spec-kit 从"个人工具"变成"团队基础设施" —— 你的组织可以沉淀自己的规格模板,把过去散在 Confluence、Notion、Word 里的"标准开发流程"变成可被 Agent 调用的结构化资产。对软件团队管理者来说,这是把流程文档"代码化"的入口;对个人开发者来说,你从此有了一份可继承的"工作说明书"。

五、技术架构:三个组件 + 一个验证引擎

spec-kit 的代码结构非常清晰:

spec-kit/
├── spec_kit/         # Python SDK
│   ├── cli.py        # 命令行工具
│   ├── verifier.py   # 规格验证引擎(核心)
│   └── extensions.py # 扩展系统
├── bundles/          # 官方预设包
├── docs/             # 文档
└── spec-linter/      # 规格文档 Linter

三个关键技术点决定了这个工具的能力边界:

  1. 规格解析器:把 .spec.md(Markdown 格式)解析为结构化数据。这意味着规格是可读、可写、可版本管理的纯文本,没有任何特殊编辑器依赖。
  2. 验证引擎:对比代码实现与规格描述的符合度。这是 spec-kit 最聪明的设计 —— 它不试图证明代码"正确",只验证代码"符合规格"。
  3. AI 集成层:与 Claude Code / GitHub Copilot / Cursor 的工具调用接口对接。规格直接喂进 Agent 上下文,Agent 实现完后再用同一份规格验证。

需要诚实地说局限:验证精度依赖 AI 能力。spec-kit 不是形式化验证工具(不是 Coq、TLA+ 那种数学证明),它的"验证"本质上是让另一个 AI 模型读规格 + 代码然后给判断。对规格里写得模糊的部分,验证同样模糊。所以规格本身写得是否清楚,决定了整个工具链的天花板。

六、spec-kit vs 你的 AI 编程工作流

适合 spec-kit 的场景:

  • 大型团队:需要明确规格文档作为协作基准,减少"PRD 理解不一致"导致的返工
  • AI-First 开发:Claude Code / Copilot / Cursor 重度用户,每天和 Agent 对话超过 5 次
  • 需求变更频繁:规格驱动便于追溯"这一版和上一版的差异是什么"
  • 合规要求高:软件需要形式化规格说明(医疗、金融、SaaS 行业常见)

不太适合的场景:

  • 学习曲线:需要团队接受"规格优先"工作方式,从零开始推会遇到"为什么不直接写代码"的阻力
  • 创意型项目:探索性、原型阶段、写"hello world" 这种小项目,规格反而是负担
  • 中小项目开销:简单 CRUD 写规格的成本高于直接开发的成本
  • 验证精度边界:规格写得不清楚时,验证结果不可信

如果你的项目超过 2 个人协作 + 涉及 AI 生成 30% 以上的代码 + 需求会随业务调整,spec-kit 值得认真评估。如果你是独立开发者写 side project,目前用 Claude Code 的项目级指令(CLAUDE.md / AGENTS.md)已经够了。

七、给 OpenClaw / Agent 用户的启示

如果你用 OpenClaw、Claude Code 这类 AI Agent 框架,spec-kit 的核心理念其实你已经接触了一半 —— SKILL.md 就是 Agent 的"规格文档"。它定义输入、输出、约束、触发场景,本质上就是一份机器可读的规格。

spec-kit 给我们的启发是三件事:

  1. 规格可以分层:SKILL.md 是 Skill 的规格,AGENTS.md 是 Agent 的规格,未来可以引入更细粒度的 Task-level Spec(任务规格)覆盖具体场景的工作流。
  2. 验证可以自动化:借鉴 specify verify,可以让 Agent 在执行完任务后自查是否满足规格 —— 这比自己肉眼 review 可靠得多。
  3. Bundle 思维沉淀团队资产:官方 Bundle 让 web-dev / api-design 不用从零写规格,对应到 Agent 工作流就是"高频任务规格模板库"。把客服回复、内容生成、数据报表这些任务写成可复用的规格模板,Agent 的推理成本会显著下降。

spec-kit 的爆发不是偶然 —— 当 AI 编程工具链成熟到一定程度,规格层就成了新的瓶颈。模型能力已经够强,能写代码、能改代码、能跑测试,但缺少"明确的执行目标"。spec-kit 把这个目标从"模糊的对话历史"变成了"可被解析和验证的文档"。

对任何一个正在用 AI Agent 写代码的人来说,spec-kit 提出的问题比它给出的答案更重要:你今天写的需求,是否足够清晰到能被 Agent 准确执行?如果不能,那规格就是你下一个要补的能力。

阅读量: 342