夜雨聆风学习资料网

ARTICLE · 1030368

AI 编程新范式:OpenSpec 和 Spec Kit 如何重塑 AI 编程工作流

AI 编程新范式:OpenSpec 和 Spec Kit 如何重塑 AI 编程工作流
OpenSpec 与 Spec Kit 如何重塑 AI 编程工作流

如果你也在用 AI 编程,大概率经历过这样的循环:

  • 一开始:“哇,AI 真香,几句话就帮我写好页面。”

  • 项目变大后:“怎么又改坏了?这个接口怎么又冲突了?”

  • 最后:“算了,还是我自己重写吧。”

这种“跟着感觉走”的Vibe Coding模式,在小项目上很爽,但一旦进入正式产品或复杂业务,就会暴露出三大问题:
  • 上下文丢失:AI 忘了前面写过什么,同一个函数改了 N 个版本,自己跟自己打架。
  • 文档与代码脱节:需求、设计、代码各说各话,新人接手如同读天书。
  • 技术债累积:今天为了赶进度随便写,明天为了修复 Bug 又随便改,代码越来越难维护。

问题的根源不在于 AI 不够聪明,而在于我们缺少一套工程化的玩法。

于是,社区开始探索“规范驱动开发(Spec-Driven Development, SDD)”的思路:先把要做什么、怎么做写成结构化的规范,再让 AI 照着规范写代码。
在众多工具中,有两个开源项目脱颖而出:GitHub 的 Spec Kit和Fission AI 的 OpenSpec。它们代表了两种截然不同的哲学,今天就来好好对比一下。

🤔 为什么需要规范驱动开发 (SDD)?

在深入对比之前,我们先快速理解一下 SDD 的核心思想。
传统 Vibe Coding 的典型问题:
  • 需求模糊:直接丢给 AI 一句“做个登录页面”,结果 AI 理解的和你想要的南辕北辙。
  • 缺乏约束:AI 不知道你项目的编码规范、架构模式,只能凭“感觉”生成代码。
  • 无据可查:当需求变更时,你不知道从何下手,只能“猜”着改,很容易破坏现有逻辑。
SDD 的核心思路:
  • 规范即真相 (Source of Truth):所有决策都先沉淀为规范文档(Spec),代码只是规范的实现。
  • 先慢后快:前期花时间把规范写清楚,后期 AI 可以高效、稳定地执行,减少返工。
  • 人机协作:人负责定义“做什么”和“为什么”,AI 负责实现“怎么做”。

简单来说,SDD 的目标是把 AI 编程从“艺术创作”变成“按图施工”。


🛠️ Spec Kit:严谨的“项目宪法”与全流程门控

Spec Kit 是 GitHub 官方推出的开源工具包,它通过一组 /speckit.*命令,为 AI 编程流程增加了严格的门控和审查机制。

核心工作流

Spec Kit 的工作流可以概括为“立宪 → 需求 → 澄清 → 规划 → 拆解 → 分析 → 实施”七个步骤:
  • /speckit.constitution:创建项目“宪法”,定义技术栈、编码规范、测试覆盖率等不可动摇的原则。
  • /speckit.specify:生成核心需求文档 spec.md,明确“做什么”和“为什么”。
  • /speckit.clarify:AI 基于规范抛出一系列结构化问题,帮你消除需求歧义。
  • /speckit.plan:生成详细的技术方案 plan.md,明确“怎么做”。
  • /speckit.tasks:将方案拆解为可执行的任务清单 tasks.md。
  • /speckit.analyze:交叉检查规范、方案和任务之间的一致性,输出 Findings 报告。
  • /speckit.implement:基于所有产物,开始生成代码。

特点与适用场景

  • 优点:流程严谨,文档详尽,能有效避免返工,适合需要高合规性的企业级项目。
  • 缺点:流程“重”,文档产出量大,对简单功能迭代来说可能“杀鸡用牛刀”。
  • 适用场景:从 0 到 1 的新项目、需求不明确的探索性项目、需要明确角色分工的大型团队。

你可以把 Spec Kit 想象成一个严谨的“项目宪法”和全流程门控系统,适合在项目初期就把规矩立好。


🚀 OpenSpec:轻量的“变更管理”与增量迭代专家

OpenSpec 是 Fission AI 开源的 AI 编程工作流工具,它围绕“变更(Change)”这个概念来组织一切,尤其擅长在现有代码库上进行增量开发。

核心概念与工作流

OpenSpec 的核心概念包括:
  • 产物依赖图 (Artifact Graph):每个变更包含 proposal、specs、design、tasks四个产物,它们之间存在依赖关系,AI 会根据状态自动判断下一步该做什么。
  • 变更隔离:所有变更都在独立的 changes/目录下进行,只有在归档时才会合并到主规范库,避免多人协作冲突。
  • Delta Spec:变更中的规范使用 ADDED、MODIFIED、REMOVED等标记增量,清晰记录每次修改。
其典型工作流可以简化为“提案 → 对齐 → 实施 → 归档”四步:
  • /opsx:new :创建一个变更,在 openspec/changes//下搭好脚手架。
  • /opsx:ff(Fast-Forward):一键生成 proposal、specs、design、tasks四个产物。
  • /opsx:apply:按照 tasks.md里的任务逐个实现代码。
  • /opsx:archive:验证通过后,将变更移到 archive/目录,并将增量规范合并到主规范库。

特点与适用场景

  • 优点:流程轻量,文档简洁,变更隔离,适合在现有项目上快速迭代。
  • 缺点:不擅长从 0 到 1 的探索性开发,假设需求已经比较明确。
  • 适用场景:已有代码库的增量功能开发、小团队日常迭代、需要清晰变更追踪的项目。

你可以把 OpenSpec 想象成一个轻量的“变更管理”和增量迭代专家,适合在项目稳定后,高效地处理各种新需求。


⚖️ OpenSpec vs Spec Kit:全方位对比

维度

Spec Kit

OpenSpec

出品方

GitHub

Fission AI

技术栈

Python / uv

TypeScript / npm

设计哲学

严谨的“项目宪法”与全流程门控

轻量的“变更管理”与增量迭代

核心流程

7 步门控流程,文档详尽

4 步核心流程,文档精简

适用场景

0→1 新项目、需求模糊的探索性项目、需要高合规性的企业级项目

1→N 存量项目迭代、小团队日常迭代、需要清晰变更追踪的项目

学习成本

较高,需要系统学习文档

较低,10 分钟上手

文档产出

较重,单阶段可达 800+ 行

较轻,文档约 250 行

协作友好度

直接改主规范,多人易冲突

变更隔离,archive 时合并,冲突少

变更追踪

无内建机制,靠 Git

Delta Spec + 归档历史,追踪清晰

Token 消耗

较高

较低

一句话定位

产品经理 + 架构师 + 程序员的三合一工作台

存量项目的需求管理专家


💡 如何选择?组合使用或许是最佳答案

其实,OpenSpec 和 Spec Kit 并非互斥,而是互补的关系。很多团队会采用以下组合策略:
  • 新项目启动阶段:使用Spec Kit,把架构和规范敲定,产出一份详尽的“项目宪法”和“设计蓝图”。
  • 项目稳定迭代阶段:切换到OpenSpec,用它来管理日常的功能迭代,享受轻量、高效的变更管理体验。

总结一下:

  • 如果你正在从 0 到 1 搭建一个新项目,或者团队需要高度结构化和规范化的流程,那么 Spec Kit 是你的不二之选。

  • 如果你主要在维护一个已有项目,需要高效地处理各种增量需求,那么 OpenSpec 会让你事半功倍。

  • 如果你两者都需要,那就两个都装上,按场景灵活切换。

在 AI 编程时代,真正拉开差距的,不是你用哪个模型,而是你是否能用正确的工具和流程,将 AI 的能力“工程化”。希望这篇对比能帮你找到最适合自己的那把“AI 工程锤子”。

猜您喜欢:

【开源】Vibe Coding已过时?35.9K Star!一个人顶一个团队:这个AI开发框架把PRD、架构、代码全包了

【开源】26.3K star,AI 写代码越来越乱?我们如何用 OpenCode + OpenSpec 把 AI 编程拉进“工业化时代”

【开源】34.7K star,Claude Code该下岗了?这款AI编程神器,把Claude Code按在地上摩擦

开源在线版Cursor,Agent + Skills架构的Vue3低代码智能体,一句话生成完整应用

官方支持的OpenClaw微信接入详细攻略来了  不怕封号了!

相关学习资料