OpenSpec:AI 写代码,先立规矩再动手

做开发的朋友应该都有这体验:用AI写代码初期贼快,可需求藏在聊天记录里,改需求、加功能时AI写的代码要么跑偏,要么和现有代码揉成一团,最后越改越乱。而OpenSpec就是来解决这个问题的------它是轻量级的规范驱动开发工具,让人和AI先敲定"要做什么",再动手写代码。

核心就两点:openspec/specs/ 存当前系统的规范真相,openspec/changes/ 放待开发的变更提案,所有修改先提提案、定规范,再落地,全程可追溯、可评审。

核心工作流:四步走,简单不绕弯

不用记复杂步骤,核心就四步,全程AI能帮你生成大部分文件,不用手动敲:

  1. 写提案:告诉AI要加什么功能,AI自动生成变更文件夹,包含提案、任务清单、规范变更;
  2. 评审对齐:核对规范,和AI反复打磨,直到需求完全明确;
  3. 落地开发:AI按敲定的规范写代码,逐项完成任务;
  4. 归档更新:功能上线后,把提案归档,规范自动合并到主目录,更新系统真相。

实操例子:加个登录二次验证,5分钟定好规范

不用讲虚的,以给项目加登录OTP二次验证为例,看OpenSpec怎么用,全程用AI+几条命令搞定:

1. 初始化(项目首次用,一步到位)

bash 复制代码
# 全局安装
npm install -g @fission-ai/openspec@latest
# 进入项目初始化
cd 你的项目
openspec init

选上你常用的AI工具(比如Cursor、vscode),工具会自动配置好快捷命令,项目根目录会多出openspec/文件夹。

2. 让AI生成变更提案

对着Cursor/Claude敲命令(不同工具命令稍不同,核心一致):

bash 复制代码
/openspec:proposal 给登录加OTP二次验证

AI会自动在openspec/changes/下生成add-2fa/文件夹,里面包含:

  • proposal.md:说明为什么加、要实现什么效果;
  • tasks.md:拆分好的开发任务(建表、写后端接口、改前端UI);
  • specs/auth/spec.md:规范变更(只写新增/修改的内容,不是全量重写)。

如果想加验收条件,直接跟AI说:"给OTP验证加个场景:输错3次锁定5分钟",AI会自动更新规范和任务。

3. 让AI按规范写代码

敲命令启动开发,AI会按tasks.md逐项完成,还会标记进度:

bash 复制代码
/openspec:apply add-2fa

4. 上线后归档,更新系统规范

sql 复制代码
openspec archive add-2fa --yes

此时add-2fa的规范会合并到openspec/specs/auth/spec.md,后续谁看代码,都能从规范里清楚知道"为什么这么写"。

适合的场景:这些情况用,效率拉满

  • 已有项目的功能迭代(1→n),尤其是跨模块修改
  • 团队协作开发,需统一需求、追溯变更
  • 团队混用多款 AI 编码工具,需统一输出标准
  • 长期维护项目,需要可同步更新的 "活文档"

不适合的场景:别硬用,避免白忙活

  • 0→1 的小 demo / 临时项目,需求简单
  • 单人极短期开发,需求全在本地无需追溯
  • 需求频繁无固定方向的快速迭代
  • 小改动,要不然时间都花在生成文档上面了

总结

OpenSpec不是为了增加开发步骤,而是把"需求模糊"的坑提前填上------让AI和人在编码前达成共识,避免后续返工。它最适合做长期维护、团队协作的已有项目,能让AI编码的优势保留,同时解决"AI写的代码没章法、难维护"的问题。

如果你的项目正被AI编码的"不可控"困扰,不妨试试OpenSpec,先从一个小功能迭代开始,体验下"规范先行"的开发方式。

相关推荐
aqi004 分钟前
15天学会AI应用开发(三)把历史对话作为提示词会怎样
人工智能·python·大模型·ai编程·ai应用
俯首甘为孺子刘x4 分钟前
AI时代的焦虑与思考
人工智能·ai编程·codex·ai-agent
云水一下16 分钟前
CSS3从零基础到精通(一):前世今生与基础入门
前端·css3
顾凌陵19 分钟前
CSRF&SSRF漏洞攻击的溯源分析与实战
前端·csrf
月月大王的3D日记21 分钟前
Three.js 材质篇(中):从兰伯特到PBR,一篇文章看懂五种光照材质
前端·javascript
且白22 分钟前
leaflet切片变色、地图滤镜逻辑实现 colorfilter
前端·javascript
用户8876654266327 分钟前
Linux 终端入门:新手必须掌握的常用命令和基本思路
前端·操作系统
用户1257585243638 分钟前
Vue3 后台框架的网络请求怎么设计?看 XYGo Admin 三套 Axios 实例与拦截器方案
前端
ZengLiangYi41 分钟前
多格式文件解析:JSONL / SQLite / Event Stream
前端·javascript·后端