AI编程之SDD新范式的自我探索实践
前言
近期一直在尝试AI编程的各种方法,深感AI之强大。 最近又了解到了前沿大佬们提出和总结的编程开发新范式SDD, 与传统开发思想不同,SDD的核心理念是:规格第一,代码第二 。通过先行制定严格的条件约束和流程来指导模型走向我们预期的路线。减少之前开发时遇到的AI幻觉, 上下文丢失,目标偏移等问题 。 本次我打算使用目前较火热的OpenSpec工具来探索与实践SDD的开发思想。
OpenSpec是什么?
OpenSpec 是一个专为AI编程场景设计的规范驱动开发(Spec-Driven Development)框架,核心目标是解决AI编码过程中因需求模糊、上下文丢失导致的代码偏离预期问题。它通过结构化规范文档强制人类与AI在写代码前对“要做什么”达成明确共识,将AI开发从“凭感觉聊天”升级为可追溯、可验证、可协作的工程化流程。
实践步骤
准备开发一个nginx的本地可视化面板来实践,这里默认你已经安装了openSpec和Cursor并了解了相关的概念。
1.创建nginx-panel目录作为项目根目录;
2.执行 openspec init 命令初始化工程,并指定cursor作为AI工具,植入openspec的相关命令,后续操作直接启动cursur编辑器打开项目目录,然后在agent窗口输入命令操作
openspec init
3.执行 /opsx:explore 命令进入探索模式,开始与openspec进行头脑风暴敲定具体的开发需求。此过程只讨论需求不会保存任务内容。 若是需求已经明确也可以跳过本步骤。
/opsx:explore [输入你的需求或想法,具体内容可以是模糊的但目标最好是确定的]

4.执行 /opsx:propose 命令开始正式立项,生成规范文档,是正式开发的起点。
/opsx:propose [具体的需求清单和约束要求]

这里有一个要注意的点,我们使用/opsx:propose生成具体的规范和需求清单时默认可能输出的都是英文不方便阅读查看(英文能力很棒的当我没说)。所以我会先指定一个规则要求openspec输出中文的内容给我,在/openspec/config.yml中配置示例:
schema: spec-driven
context: |
Language: Simplified Chinese (zh-CN)
所有 OpenSpec 产出物(包括 proposal.md、design.md、tasks.md 及 specs 目录下的文件)和交互过程,必须全部使用简体中文撰写。
在生成中文文档时,请遵循以下本地化规范:
1. 保持代码路径、类名、变量名、SQL 语句等代码元素为英文原生格式。
2. 保持通用的技术词汇(如 API、Redis、JSON、Spring Boot、Token 等)为英文,无需强行翻译。
3. 涉及业务规则、任务步骤、设计思路等叙述性文字,一律使用中文。
5.阅读/openspec/changes/*/下的design.md,proposal.md,tasks.md做人工review确认生成的内容和任务是你想要的东西。确认后执行 /opsx:apply 命令开始动手写代码生成项目文件。这个过程比较耗时,让我们静静等待。。。
/opsx:apply

6.等待任务执行完毕后,项目已经开发完成,我们进行验收环节,先运行项目查看功能是否符合预期
7.验收没问题后再执行 /opsx-archive 命令进行归档,CLI 会把这次的变更归档。它会把增量设计合并到全局的系统设计中,并清理当前的临时变更文件夹,到此本次开发工程已经基本结束。

更多推荐



所有评论(0)