作为一名产品经理,我在近期的 AI 工具探索中遇到了一个普遍的问题:频繁修改 Prompt 却难以产出稳定的代码质量。这让我意识到,问题的根源不在 AI 能力本身,而在于缺乏系统化的开发规范。
GitHub 最近推出的 Spec Kit 让我看到了另一种可能——不再依赖临时性的 Prompt 调整,而是通过规范即代码的理念,建立可复用、可追溯的 AI 编程工作流。这篇文章记录了我的实践过程。
当前 Vibe Coding 的核心痛点
在使用 AI 进行开发时,我观察到几个常见的问题:
- Prompt 频繁迭代:花费大量时间编写和修改提示词,但生成的代码仍与预期存在偏差
- 设计决策缺乏记录:完成需求后无法追溯具体的改动点和设计原则
- 文档补充困难:开发完成后再补充文档,但上下文信息已被压缩或丢失
- 规范分散管理:编码规则散落在不同编辑器、笔记中,缺乏统一的参考标准
- 质量保障缺失:没有标准化的 AI 编程流程和验收机制
这些问题反映了一个共同的根本原因:在使用 AI 时,我们仍在采用即时性的、临时性的 Prompt 工程方法,而缺乏面向长期项目维护的系统设计。
你是不是也经常在用下面的提示词:

什么是 Spec Kit?
Spec Kit 是 GitHub 团队推出的开发工具套件,倡导规范驱动开发的新型软件开发模式。与传统的 Prompt 工程不同,它的核心理念是:
将需求规格置于开发流程的中心,让开发者首先精确定义"做什么"和"为什么",再由 AI 基于清晰的规范生成代码。
简而言之,Spec Kit 通过文档先行的方式建立系统化的工作流,使得:
- 需求定义更加清晰精准
- 设计决策有迹可循
- 生成的代码与规范一致
- 项目文档与代码同步更新
支持的环境
目前 Spec Kit 支持 Claude、Gemini、Copilot 等 AI 助手。如果无法使用 Claude,也可以将模型替换为 Qwen、DeepSeek 等其他兼容模型。
本文以 Claude Code 作为演示环境。
系统要求
-
Python ≥ 3.11
-
Git(任意版本)
安装步骤
打开终端(PowerShell、Terminal 等),执行以下命令安装 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 <PROJECT_NAME>
项目初始化
在已有项目目录中执行初始化命令(claude 可替换为其他支持的 AI 助手):
specify init . --ai claude

初始化完成后,项目目录中会生成 .specify 目录,包含以下结构:
-
memory/- 存储项目级原则和规范 -
scripts/bash/- Spec Kit 的调用脚本 -
template/- 执行命令时使用的模板文件

核心命令参考
所有 Spec Kit 命令都以 /speckit. 开头:
命令
用途描述
使用时机
/speckit.constitution
制定或更新项目级开发原则和指南
项目初始化或引入新规范时
/speckit.specify
明确需求范围和用户故事
开始新功能开发时
/speckit.plan
基于技术栈创建实施方案
需求明确后
/speckit.tasks
生成可执行的任务清单
方案确定后
/speckit.implement
按计划执行所有开发任务
任务分解完成后
/speckit.clarify
澄清需求中的模糊领域
制定计划前
/speckit.analyze
跨工件一致性和覆盖率分析
任务生成后,实施前
/speckit.checklist
生成质量检查清单
需求验证阶段
常用的核心命令包括:specify、plan、tasks、implement。
constitution 主要用于项目初始化阶段或引入新的技术规范时。clarify 用于补充说明需求中的边界条件。checklist 生成验证清单,类似于文本形式的测试用例。
以下是 Spec Kit 的完整工作和核心流程参考:


实战演示
启动开发环境
通过终端或编辑器插件启动 Claude Code(为提升效率,可启用 YOLO 模式跳过权限确认):
claude --dangerously-skip-permissions
建立项目规范
在对话中输入以下命令,可根据实际项目背景补充具体规范:
/speckit.constitution 创建专注于代码质量、测试标准、用户体验一致性和性能要求的原则。


定义功能需求
使用 specify 命令定义二维码生成工具的需求:
/speckit.specify 需要开发一个二维码生成工具库,支持 color、size、logo 等基本配置,提供使用示例,满足常见使用场景。
此步骤会生成 spec.md 和 requirements.md,明确功能需求和验收标准,为后续开发奠定基础。

澄清需求边界
如果发现生成的需求存在模糊之处,可使用 clarify 进行澄清:
/speckit.clarify 不需要考虑 Node.js 环境,仅针对 Web 端使用。
clarify 会记录澄清过程,并提出其他需要明确的边界问题,通过交互式对话完善需求文档。

例如,系统可能会提出以下澄清问题:
例如,系统可能会提出以下澄清问题:
问题 1: Logo 图像输入方式
基于用户明确只针对 Web 端使用,Logo 的输入方式需要明确。
推荐方案: 选项 C (File 对象/Blob + URL 字符串) -
覆盖 Web 开发中最常见的所有场景,实现复杂度适中。
| 选项 | 描述 |
|-------|------------------------------------|
| A | 仅支持 URL 字符串 |
| B | 仅支持 File 对象或 Blob |
| C | 同时支持 File 对象/Blob 和 URL 字符串 |
| D | 支持 HTMLImageElement 或 Canvas 元素 |
> yes
问题 2: 颜色对比度处理策略
当用户设置的前景色和背景色对比度过低时,系统应该如何处理?
推荐方案: 选项 B (警告但允许生成) -
既尊重开发者的设计自由度,又通过警告提醒潜在问题。
| 选项 | 描述 |
|-------|----------------|
| A | 拒绝生成并返回错误 |
| B | 发出警告但仍允许生成 |
| C | 自动调整颜色对比度 |
| D | 静默生成不做提示 |
> yes
澄清过程会记录所有决策,确保需求文档的完整性。

制定技术方案
使用 plan 命令生成技术实施方案:
/speckit.plan
plan 会综合分析 spec.md、requirements.md 和 constitution.md,制定完整的技术方案,包括市场调研、技术选型和架构设计。

系统会进行技术调研,分析现有解决方案,并基于调研结果设计数据模型和系统架构。

任务分解与执行
基于设计方案进行任务拆分:
/speckit.tasks
系统会将项目分解为多个用户故事,每个故事包含详细的任务清单。

执行所有开发任务:
/speckit.implement
正在执行 Phase 1: Setup… (esc to interrupt · ctrl+t to hide todos · 2m 15s · ↑ 1.2k tokens)
⎿ ☒ 验证并创建项目 ignore 文件
☐ Phase 1: Setup (7个任务)
☐ Phase 2: Foundational (7个任务)
☐ Phase 3: User Story 1 - MVP (7个任务)
☐ Phase 4: User Story 2 (5个任务)
☐ Phase 5: User Story 5 (5个任务)
☐ Phase 6: User Story 3 (7个任务)
☐ Phase 7: User Story 4 (4个任务)
☐ Phase 8: Polish (8个任务)
如果执行过程中断,可使用以下命令继续:
/speckit.implement 继续执行
直到执行完成所有 Task
总结
Spec Kit 通过规范驱动的开发方法,将产品需求、技术架构、测试标准和开发实现有机结合,提供了系统化的 AI 辅助编程解决方案。相比传统的即时 Prompt 工程,它能够:
-
确保需求实现的准确性
-
提供完整的设计决策记录
-
生成一致且可维护的代码
-
建立标准化的开发流程
Spec-Kit基础概念:https://www.yanfukun.com/read/spec-kit/what
Spec-Kit项目主页: