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,先从一个小功能迭代开始,体验下"规范先行"的开发方式。

相关推荐
LinXunFeng3 小时前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
乘风gg7 小时前
为什么AI 时代来临,大部分人吃不到红利
前端·ai编程·claude
恋猫de小郭7 小时前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter
IT_陈寒7 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
恋猫de小郭7 小时前
解读 Android 17 全新内存限制,有没有“豁免”后门?
android·前端·flutter
Jackson__8 小时前
AI 时代,CLI 正在迎来第二春
ai编程·命令行
玉宇夕落8 小时前
AI Loop把 AI 从“问答机”变成“打工仔”
ai编程
Hyyy9 小时前
理解LLM的基本工作原理:预训练、微调、推理的区别
前端
用户3521802454759 小时前
🎆从 Prompt 到 Skill:让 Spring AI Agent 学会"装新技能"
人工智能·spring boot·ai编程
Gatlin9 小时前
前端逆向与反逆向:一场猫鼠游戏的底层逻辑与实战
前端