跳到主要内容

企业 AI 开发转型指南:基于 Spec-Kit 的规范驱动开发

把 11 天的开发周期缩短到 1 天,每个功能节省 1.9 万元,需求变更成本降低 70%。

引言

在 AI 辅助开发时代,企业面临着前所未有的机遇:通过 AI 工具,小团队也能快速构建复杂的软件系统。然而,"vibe coding"(凭感觉编码)的方式虽然快速,却容易导致代码质量不稳定、需求理解偏差、技术债务累积等问题。

Spec-Kit 是 GitHub 开源的规范驱动开发(Spec-Driven Development, SDD)工具包,它颠覆了传统的开发模式:让规范成为可执行的源头,代码成为规范的表达。这不仅仅是方法论的改进,而是开发范式的根本转变。

什么是规范驱动开发(SDD)?

传统开发的困境

几十年来,代码一直是王者。我们编写 PRD 来指导开发,创建设计文档来告知实现,绘制架构图来可视化系统。但这些文档始终从属于代码本身。代码是真理,而规范充其量只是良好的意图。

这种模式存在根本性问题:

  • 规范与实现的鸿沟:文档写得再好,实现时总会偏离

  • 文档腐化:代码不断演进,文档却很少同步更新

  • 需求变更成本高:每次调整都需要手动传播到文档、设计和代码

  • 并行实现困难:想尝试不同技术方案?需要从头重写代码

SDD 的范式转变

Spec-Kit 颠倒了这种权力结构:规范不再服务于代码,而是代码服务于规范。

  • PRD 不是实现指南,而是生成实现的源头

  • 技术计划不是告知编码的文档,而是产生代码的精确定义

  • 规范成为可执行的,直接生成工作系统而不仅仅是指导它们

这种转变之所以可能,是因为:

  1. AI 能力达到阈值:现代 AI 可以理解和实现复杂规范

  2. 结构化约束:Spec-Kit 通过模板和工作流提供必要的结构

  3. 持续验证:AI 分析规范的歧义、矛盾和缺口

Spec-Kit 核心工作流

Spec-Kit 通过四个核心命令实现规范驱动开发:

1. /speckit.specify - 创建功能规范

作用:将模糊的想法转化为结构化的功能规范

输入示例

/speckit.specify 构建一个照片管理应用,可以按日期组织相册,支持拖拽重新排序。
相册不能嵌套,每个相册内以瓷砖式界面预览照片。

自动完成

  • 扫描现有规范,确定下一个功能编号(如 001, 002, 003)

  • 从描述生成语义化分支名并自动创建

  • 基于模板生成结构化规范文档

  • 创建 specs/[branch\-name]/ 目录结构

生成的规范包含

  • 用户场景和测试:按优先级排序的用户故事(P1, P2, P3...)

  • 独立可测试性:每个故事都可以独立实现、测试和交付

  • 验收场景:Given-When-Then 格式的具体场景

  • 功能需求:明确的 MUST 要求

  • 成功标准:可测量的结果指标

关键特性

  • 专注于 WHAT(做什么)和 WHY(为什么),避免 HOW(怎么做)

  • 使用 [NEEDS CLARIFICATION] 标记所有不明确的地方

  • 强制优先级排序,确保 MVP 思维

2. /speckit.plan - 生成实施计划

作用:将业务需求转化为技术实施计划

输入示例

/speckit.plan 使用 Vite + 原生 HTML/CSS/JavaScript,尽量少用库。
图片不上传,元数据存储在本地 SQLite 数据库。

自动完成

  • 分析功能规范的需求和用户故事

  • 确保符合项目宪法(constitution)和架构原则

  • 将业务需求转化为技术架构和实施细节

  • 生成支持文档:数据模型、API 契约、测试场景

生成��文档

specs/001-photo-albums/
├── plan.md # 实施计划主文档
├── research.md # 技术调研(框架版本、最佳实践)
├── data-model.md # 数据实体和关系
├── contracts/ # API 规范、事件定义
│ ├── api-spec.json
│ └── events-spec.md
└── quickstart.md # 快速验证场景

MCP 集成增强

/speckit.plan 阶段,可以集成多种 MCP 服务器来增强设计质量:

Figma MCP

  • 读取设计稿的组件规范

  • 提取设计系统的 tokens(颜色、字体、间距)

  • 生成对应的前端组件结构

  • 确保设计与开发的一致性

技术文档 MCP

  • 查询最新的框架文档(如 React、Vue、Next.js)

  • 获取 API 参考和使用示例

  • 检索最佳实践和设计模式

  • 验证依赖版本兼容性

配置示例

{
"mcpServers": {
"figma": {
"command": "uvx",
"args": ["figma-mcp-server@latest"],
"env": {
"FIGMA_ACCESS_TOKEN": "your-token"
}
},
"docs": {
"command": "uvx",
"args": ["mcp-server-fetch@latest"]
}
}
}

实际应用流程

# 1. 创建规范
/speckit.specify 构建一个任务管理看板,支持拖拽、评论、分配

# 2. 生成计划(AI 会自动调用 MCP)
/speckit.plan 使用 React + TypeScript,参考 Figma 设计稿 [链接]

# AI 自动执行:
# - 通过 Figma MCP 读取设计稿
# - 通过技术文档 MCP 查询 React 18 最佳实践
# - 生成符合设计系统的组件架构
# - 创建详细的实施计划

3. /speckit.tasks - 生成任务列表

作用:将实施计划分解为可执行的任务清单

输入

  • plan.md(必需)

  • spec.md(用于用户故事)

  • data\-model.mdcontracts/research.md(可选)

自动完成

  • 从契约、实体和场景派生具体任务

  • 标记可并行执行的任务 [P]

  • 按用户故事组织任务,支持独立实现

生成的任务结构

# Tasks: 照片管理应用

## Phase 1: Setup(共享基础设施)
- [ ] T001 创建项目结构
- [ ] T002 初始化 Vite 项目
- [ ] T003 [P] 配置 ESLint 和 Prettier

## Phase 2: Foundational(阻塞性前置条件)
⚠️ 关键:所有用户故事必须等此阶段完成
- [ ] T004 设置 SQLite 数据库和迁移框架
- [ ] T005 [P] 实现基础数据模型
- [ ] T006 [P] 配置错误处理和日志

## Phase 3: User Story 1 - 创建相册(P1)🎯 MVP
**目标**:用户可以创建和查看相册
**独立测试**:创建相册 → 查看相册列表 → 验证相册存在

### 实现
- [ ] T007 [P] [US1] 创建 Album 模型
- [ ] T008 [US1] 实现相册服务
- [ ] T009 [US1] 实现相册 UI 组件
- [ ] T010 [US1] 添加验证和错误处理

**检查点**:此时用户故事 1 应完全可用

## Phase 4: User Story 2 - 添加照片(P2)
**目标**:用户可以向相册添加照片
**独立测试**:选择照片 → 添加到相册 → 验证照片显示

### 实现
- [ ] T011 [P] [US2] 创建 Photo 模型
- [ ] T012 [US2] 实现照片上传服务
- [ ] T013 [US2] 实现照片瓷砖 UI
- [ ] T014 [US2] 与用户故事 1 集成

**检查点**:用户故事 1 和 2 都应独立工作

## Phase 5: User Story 3 - 拖拽排序(P3)
...

关键特性

  • 按用户故事组织:每个故事可独立实现和测试

  • 并行机会:标记 [P] 的任务可同时执行

  • 增量交付:完成 P1 就有 MVP,P2/P3 逐步增强

  • 检查点验证:每个阶段都有明确的验证点

4. /speckit.implement - 执行实施

作用:按照任务列表执行所有任务,构建功能

执行策略

/speckit.implement

AI 自动执行

  • 按顺序执行任务列表

  • 遵循依赖关系(Phase 1 → Phase 2 → User Stories)

  • 在检查点暂停验证

  • 生成符合规范的代码

开发特点

  • 一次一任务:专注单一目标,避免范围蔓延

  • 测试优先:先写测试,确保失败,再实现功能

  • 增量验证:每个用户故事完成后独立测试

  • 持续集成:代码始终与规范保持一致

质量保证

// 示例:契约测试
/**
* Feature: photo-albums, User Story 1
* Contract: POST /api/albums
*/
describe('Album Creation API', () => {
it('should create album with valid data', async () => {
const response = await request(app)
.post('/api/albums')
.send({ name: 'Vacation 2024', date: '2024-01-01' });

expect(response.status).toBe(201);
expect(response.body).toHaveProperty('id');
expect(response.body.name).toBe('Vacation 2024');
});

it('should reject album without name', async () => {
const response = await request(app)
.post('/api/albums')
.send({ date: '2024-01-01' });

expect(response.status).toBe(400);
});
});

AI 编码助手集成指南

Spec-Kit 支持多种 AI 编码助手,包括 Claude Code、GitHub Copilot、Cursor、Windsurf 等。以下以 Claude Code 为例说明集成方法。

快速开始

1. 安装 Specify CLI

# 持久化安装(推荐)
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

# 或一次性使用
uvx --from git+https://github.com/github/spec-kit.git specify init <项目名>

2. 初始化项目

# 创建新项目
specify init my-project --ai claude

# 或在现有项目中初始化
specify init . --ai claude

# 支持的 AI 助手
specify init my-project --ai claude # Claude Code
specify init my-project --ai copilot # GitHub Copilot
specify init my-project --ai cursor-agent # Cursor
specify init my-project --ai windsurf # Windsurf
specify init my-project --ai gemini # Gemini CLI

3. 启动 AI 助手

cd my-project
claude # 或其他 AI 助手命令

此时你会看到可用的 Spec-Kit 命令:

  • /speckit.constitution - 创建项目宪法

  • /speckit.specify - 定义功能规范

  • /speckit.plan - 生成实施计划

  • /speckit.tasks - 创建任务列表

  • /speckit.implement - 执行实施

完整开发流程

参考其他 AI 平台集成

如果你使用的是其他 AI 平台(如智谱 GLM-4.6),可以参考其官方文档进行集成:

智谱 GLM-4.6 集成示例

# 参考文档
https://docs.bigmodel.cn/cn/guide/develop/claude

# 配置 API
export GLM_API_KEY="your-api-key"

# 使用 Spec-Kit 工作流
# 1. 创建规范
glm chat "使用 /speckit.specify 命令创建功能规范"

# 2. 生成计划
glm chat "使用 /speckit.plan 命令生成实施计划"

# 3. 执行任务
glm chat "使用 /speckit.implement 命令执行实施"

关键集成点

  • API 配置:设置 API 密钥和端点

  • 命令支持:确保 AI 平台支持自定义斜杠命令

  • 上下文管理:AI 需要访问项目文件和规范文档

  • MCP 集成:配置 MCP 服务器以增强设计能力

企业转型实施路径

阶段 1:试点项目(1-2 周)

目标:通过小型功能验证 Spec-Kit 价值

行动步骤

  1. 选择一个独立的小功能(如用户反馈表单)

  2. 使用 /speckit.specify 创建规范

  3. 使用 /speckit.plan 生成计划

  4. 使用 /speckit.tasks/speckit.implement 完成实施

  5. 对比传统开发方式的时间和质量

成功指标

  • 规范文档清晰度:团队成员能否快速理解需求

  • 开发速度:相比传统方式是否更快

  • 代码质量:是否减少了返工和 bug

阶段 2:MCP 集成(2-4 周)

目标:提升设计和技术决策质量

行动步骤

  1. 配置 Figma MCP(如果使用 Figma)

  2. 配置技术文档 MCP

  3. /speckit.plan 阶段利用 MCP 查询

  4. 验证生成的计划是否更符合设计规范和技术最佳实践

MCP 配置示例

{
"mcpServers": {
"figma": {
"command": "uvx",
"args": ["figma-mcp-server@latest"],
"env": {
"FIGMA_ACCESS_TOKEN": "your-token"
}
},
"docs": {
"command": "uvx",
"args": ["mcp-server-fetch@latest"]
}
}
}

成功指标

  • 设计一致性:实现是否符合设计稿

  • 技术决策质量:是否采用了最佳实践

  • 文档完整性:是否自动生成了完整的技术文档

阶段 3:团队推广(1-2 个月)

目标:全团队采用 Spec-Kit 工作流

团队培训计划

产品经理/需求分析师

  • 学习如何编写清晰的功能描述

  • 理解用户故事优先级排序

  • 掌握 /speckit.specify/speckit.clarify 命令

设计师

  • 了解 Figma MCP 如何连接设计和开发

  • 学习如何在设计稿中标注组件规范

  • 参与 /speckit.plan 阶段的设计审核

开发者

  • 熟悉规范驱动开发流程

  • 学习如何执行任务列表

  • 掌握测试优先的开发方法

项目经理

  • 理解 Spec-Kit 的项目管理流程

  • 学习如何跟踪任务进度

  • 掌握增量交付策略

阶段 4:流程优化(持续)

目标:建立适合团队的最佳实践

优化方向

  1. 模板定制:根据团队特点调整规范和计划模板

  2. 自动化增强:集成 CI/CD 流水线

  3. 质量门禁:在关键阶段设置自动化检查

  4. 知识沉淀:建立规范库和最佳实践文档

实际案例:从传统开发到 SDD

传统开发方式

场景:开发一个任务管理看板

时间线

  • 需求讨论和文档编写:2 天

  • 设计评审和调整:1 天

  • 技术方案设计:1 天

  • 开发实施:5 天

  • 测试和修复:2 天

  • 总计:11 天

问题

  • 需求文档和实现不一致

  • 设计稿和代码有偏差

  • 技术债务累积

  • 需求变更成本高

使用 Spec-Kit

时间线

  • /speckit.specify 创建规范:30 分钟

  • /speckit.clarify 澄清需求:30 分钟

  • 用户审核规范:1 小时

  • /speckit.plan 生成计划(含 MCP 集成):30 分钟

  • 用户审核计划:1 小时

  • /speckit.tasks 生成任务:15 分钟

  • /speckit.implement 执行实施:1 天

  • 总计:1.5

优势

  • 规范即文档,始终同步

  • MCP 确保设计一致性

  • 任务清晰,减少返工

  • 需求变更只需更新规范并重新生成

效率提升:约 60%

核心价值总结

1. 范式转变

从代码驱动到规范驱动

  • 传统:代码是真理,文档是附属

  • SDD:规范是源头,代码是表达

2. 质量保证

结构化约束

  • 模板强制完整性

  • AI 分析歧义和矛盾

  • 测试优先确保正确性

3. 效率提升

自动化工作流

  • 15 分钟完成传统需要数小时的文档工作

  • MCP 集成减少手工查询和对齐

  • 增量交付降低风险

4. 灵活应对变化

需求变更不再可怕

  • 更新规范即可重新生成

  • 支持并行实现探索

  • 降低技术债务

开始你的 SDD 之旅

# 1. 安装 Specify CLI
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

# 2. 创建项目
specify init my-project --ai claude

# 3. 启动 AI 助手
cd my-project
claude

# 4. 开始第一个功能
/speckit.specify 构建一个用户反馈表单,包含姓名、邮箱、反馈内容和评分

参考资源


Spec-Kit 不仅是工具,更是一种思维方式的转变。对于希望在 AI 时代保持竞争力的中小企业来说,掌握规范驱动开发将是一个重要的战略选择。