🌱 规格驱动开发 (Spec-Driven Development)
更快地构建高质量软件
一种开源工具包,让AI专注于产品场景和可预测的结果,而不是从头开始的感觉编码。
hoppinzq按
这个项目太强了,这是AI编码的新范式。它能让所有程序员失业,就连产品经理都不能置身事外
首先感谢Pankitgg的分享,这真的是一个令人吃惊的项目。
。。。
好了,不卖关子了,我先来简单的讲一下这个项目,正如你所见——”规格驱动开发“。你可能懂这个名词,我可以略微解释一下。如果你要开发一个项目,
通常你会先去写文档,描述需求,技术栈选型,制定开发流程,进行架构设计,宣贯开发的注意事项,明确接口、数据库和编码规范…
前人的总结和《人月神话》告诉我们,提前做好这些规划是非常重要的,因为它们直接影响到项目的成功。
这同样适用于AI智能体!我们知道,AI智能体已经可以干活了,AI智能体最牛逼的地方在于:它从光说不做,到能用工具干活。智能体已经可以直接参与代码的开发,而再不需要开发人员通过对话问AI,然后把AI给的代码粘过来。
然而,AI智能体在用工具调用时,会有一个现象,通俗的说,就是:干活不过脑子。什么意思呢?我们知道AI对话实际是基于LLM的,你问大模型1+1=?,实际大模型并不会思考,而是通过embedding去计算后一个token最相近、最高概率的文本,然后返回给你。这种感觉就像是我问你一个问题,你想都不想直接去百度,然后用百度到的东西回复我。是的,在聊天的情况下,这种做法并无不妥。但是在工具调用方面,却隐藏巨大的隐患。
我将有一篇博客来详细介绍这个问题,你只要知道,用户的提示词、MCP Server的工具定义、甚至是ReAct模式都能解决这个问题。目前你在使用的AI智能体普遍都采用了ReAct模式,这是一种非常好的模式,具体的表现是:它能让AI智能体在调用工具时,先思考一下,然后再调用工具。
OK,我们言归正传,现在
什么是规格驱动开发?
规格驱动开发(Spec-Driven Development)彻底翻转了传统软件开发的脚本。几十年来,代码一直是王道——规格只是我们构建并在编码”真正工作”开始后丢弃的脚手架。规格驱动开发改变了这一点:规格变得可执行,直接生成可工作的实现,而不仅仅是指导它们。
核心理念
规格驱动开发是一个结构化的过程,强调:
- 意图驱动开发,规格在”如何做”之前定义”做什么”
- 丰富的规格创建,使用护栏和组织原则
- 多步细化而非一次性从提示生成代码
- 高度依赖先进AI模型的规格解释能力
开发阶段
| 阶段 | 重点 | 关键活动 |
|---|---|---|
| 0到1开发(“绿地”) | 从头生成 |
|
| 创意探索 | 并行实现 |
|
| 迭代增强(“棕地”) | 棕地现代化 |
|
开始使用
1. 安装Specify CLI
选择您喜欢的安装方式:
选项1:持久安装(推荐)
一次性安装,随处使用:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git然后直接使用该工具:
specify init <项目名称>specify check升级specify:
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git选项2:一次性使用
无需安装直接运行:
uvx --from git+https://github.com/github/spec-kit.git specify init <项目名称>2. 建立项目原则
在项目目录中启动AI助手。/speckit.*命令可在助手中使用。
使用**/speckit.constitution**命令创建项目的管理原则和开发指南,这些将指导所有后续开发。
/speckit.constitution 创建专注于代码质量、测试标准、用户体验一致性和性能要求的原则3. 创建规格
使用**/speckit.specify命令描述您想要构建的内容。专注于什么和为什么**,而不是技术栈。
/speckit.specify 构建一个可以帮助我将照片整理到单独相册中的应用程序。相册按日期分组,可以在主页上通过拖放重新组织。相册永远不在其他嵌套相册中。在每个相册中,照片以平铺界面预览。4. 创建技术实施计划
使用**/speckit.plan**命令提供您的技术栈和架构选择。
/speckit.plan 应用程序使用Vite,使用最少数量的库。尽可能使用原生HTML、CSS和JavaScript。图像不上传到任何地方,元数据存储在本地SQLite数据库中。5. 分解为任务
使用**/speckit.tasks**从实施计划创建可操作的任务列表。
/speckit.tasks6. 执行实施
使用**/speckit.implement**执行所有任务,根据计划构建您的功能。
/speckit.implement支持的AI代理
规格驱动开发支持多种AI编码工具,包括:
- Claude Code
- GitHub Copilot
- Gemini CLI
- Cursor
- Qwen Code
- opencode
- Windsurf
- Kilo Code
- Auggie CLI
- CodeBuddy CLI
- Roo Code
- Codex CLI
实验目标
我们的研究和实验重点是:
技术独立性
- 使用多样化的技术栈创建应用程序
- 验证规格驱动开发是一个不依赖于特定技术、编程语言或框架的过程
企业约束
- 展示关键任务应用程序开发
- 纳入组织约束(云提供商、技术栈、工程实践)
- 支持企业设计系统和合规要求
以用户为中心的开发
- 为不同用户群体和偏好构建应用程序
- 支持各种开发方法(从感觉编码到AI原生开发)
创造性和迭代过程
- 验证并行实现探索的概念
- 提供强大的迭代功能开发工作流程
- 将流程扩展到处理升级和现代化任务
先决条件
- Linux/macOS/Windows
- 支持的AI编码代理
- uv用于包管理
- Python 3.11+
- Git
结语
规格驱动开发代表了软件开发的一种新范式,它将规格从辅助文档转变为开发过程的核心。通过将AI的能力与结构化的开发流程相结合,Spec Kit使开发者能够更快地构建高质量的软件,同时保持对业务需求的关注。
无论您是在开发新项目还是现代化遗留系统,规格驱动开发都提供了一个框架,帮助您将想法转化为可工作的软件,而无需陷入实现细节的早期决策中。
📝 记录笔记和心得 (0)