AI已经被频繁引入到软件开发流程中。而这些实践的结果,整体上是令人惊喜的------无论是开发效率,还是生成内容的规模,都展现出了相当可观的提升。 与此同时,围绕整个软件开发方法论,也出现了许多新的分支与探索。其中一个备受关注的方向是"规范驱动开发"(Specification-Driven Development,简称SDD)。
这种方法的独特之处在于,它能帮助开发者为AI的工作过程设定明确的框架、边界与范围, 使其在可控的环境下更高效地运作。 目前,已经有不少成果初现端倪。例如,早期的Vibe Coding已经新增了"Prompt Mode"模式;亚马逊的Kiro也已崭露头角,再如Cloud Code以及一些第三方工具,如 SpecK等,都在积极探索这一方向。这些新的工具与方法的出现,充分证明了围绕大语言模型进行软件开发,正在形成一股新的方法学潮流,带来了切实可见的创新实践。
基于SDD,Github创建了一个Spec Kit的项目,开始探索及实践SSD,短短5个月的时间发布了88个版本,迭代非常迅速,目前为止已有5.2w star,非常受欢迎。

Spec Kit是什么
-
Spec-Kit 是一个 开源工具包 / 开发流程框架 ,由 GitHub 推出,用于实现所谓的 "规范驱动开发"(Spec-Driven Development,SDD)。
-
它的理念是 "先写规格(spec),再生成 / 实现代码"。也就是说,把需求/功能规范放在开发流程中心 --- "做什么 (what) → 为什么 (why)" --- 然后再决定"怎么做 (how)" 和"谁来做 (who)"。
-
Spec-Kit 深度结合 AI 编码助手/AGI-coder(例如 GitHub Copilot / Claude Code / Gemini CLI 等),通过一系列 CLI 命令与模板,引导开发者/团队完成从"需求 → 规范 → 计划 → 任务分解 → 实现"的流程,而不是传统的"随手写代码 → 后补文档"。
-
使用流程大致如下:
1. /speckit.constitution --- 定义项目基础原则、代码规范、工程约束等 "宪法" 级别内容。  2. /speckit.specify --- 根据产品/业务需求写出功能规格(specification),专注描述"做什么"。  3. /speckit.plan --- 制定技术方案 / 架构 / 技术栈 / 接口 / 数据模型等"怎么做"。  4. /speckit.tasks --- 把技术方案拆成可执行任务清单,每个任务粒度明确,相互依赖清晰。  5. /speckit.implement --- 最终触发 AI 编码助手 / 代理,根据任务清单生成或修改代码,实现功能。  -
整个流程强调 规范 & 结构化,把规格/设计/任务/实现都看作一等公民 (first-class artifact),所有内容都有明确文档/追踪机制。
Spec-Kit 的定位 / 适合什么场景
Spec-Kit 不是一个"随手写代码"的工具,而是一种 适合规模化、系统化、团队开发 / 企业级 / 复杂业务 / 长生命周期项目 的流程工具。它比较适合以下场景:
-
全新项目(系统从零开始),需要从需求到上线系统化流程。
-
老旧系统升级(旧系统改造、重构、逐步迁移)------ Spec-Kit 支持"迭代增强" + "渐进现代化"流程。
-
团队 / 多人协作 / 多模块 / 多阶段项目 ------ 规范 + 任务拆解 + 流程控制 + 可追踪 + 可重构,适合大中型复杂业务。
-
使用 AI 编码助手 / Agent 开发(Copilot, Claude, Gemini...)希望构建 "AI-native / AI-辅助" 的开发流程,而不是传统 "人工写 + AI 辅助" 的混合方式。
总之,希望把"需求、设计、实现"流程制度化、结构化,而不是混乱、即兴式开发 的场景最适合使用 Spec-Kit。
Spec-Kit 的优点
-
规范先行,减少返工 --- 先明确"做什么 / 为什么 /怎么做",减少"先写代码再补文档/改需求"的混乱。
-
流程清晰,可追踪 / 可审核 / 可协作 --- 每个功能、任务都有明确规范、文档、任务清单与实现分支,有利于团队协作与版本管理。
-
适合 AI 编码助手 / Agent 开发模式 --- 对于 AI-native / AI-辅助开发流程,Spec-Kit 提供结构和流程,使 AI 更容易"靠谱地产出"。
-
技术栈、语言无关 --- Spec-Driven Development 是流程 / 方法论,不绑定具体框架或语言,理论上可跨前端 / 后端 /全栈 /云 /微服务。
-
适合复杂或长期项目 --- 对于大型项目或需要一套"设计 → 开发 → 维护 → 扩展"的完整流程,Spec-Kit 带来的规范性和制度化管理很有价值。
Spec-Kit 的限制 / 局限 /痛点(当前社区反馈)
虽然 Spec-Kit 概念优秀,但实际使用中也有不少反馈和争议,主要集中在:
-
流程繁琐 / 文档过多 /设定重
有开发者认为 Spec-Kit 会生成很多"规范 + 文档 + 任务 + plan + spec + contract + tasks + 实现 + 测试"等文件,流程繁重。对于小项目 / 快速迭代 / 原型开发,觉得"太重 / 太慢 / 太复杂"。
-
结构化 vs 灵活性矛盾 --- 如果项目需求灵活、变化快,或团队偏好"试错 + 快速迭代 + Vibe-coding",那么 Spec-Kit 的"先写 spec 再实现"可能会拖慢节奏,不如传统"快速 prototyping + iterate"。
-
对 AI 的依赖 & AI 表现不稳定 --- Spec-Kit 假设你使用强大的 AI agent,但 AI 的"理解 + 实现能力 + 稳定性"仍有限,有人反馈"生成代码不稳定 / 编译不过 / 漏功能"。尤其在复杂逻辑或边界条件多的场景,经常需要手动修。
-
维护 / 变更代价高 --- 如果后续需求变动,需要回到 spec → plan → tasks → implement 的流程,变更成本可能很高;对随便拆拆改改/快速迭代不友好。
-
"过度工程 (over-engineering)" 风险 --- 对于一些简单功能 / 小项目,将 Spec-Kit 全流程走完可能浪费资源 /时间 /成本,不如简单写代码快。
Spec-Kit = "把 AI 编码 + 开发流程制度化 + 规范优先 + 可追踪 + 可维护"的工具/方法论。它适合规模化、复杂、长期、协作性强、对质量 & 可维护性有高要求的项目。但对快速原型、小项目、极简团队或喜欢 "灵活 + 快速试错 + 手写代码" 的场景,就可能显得太重、太繁琐、不灵活。
写在最后
Spec-Kit 只是SDD实践之一,如今AI的效率还远未达到瓶颈,未来只会以更快的速度进化,可能还会有更多类似的实践甚至是新的范式诞生,传统的软件研发方式已经悄然改变。AI 编程最终将从辅助角色转变为主导力量,人类更多会专注于定义意图与约束,而不是具体实现。