AI编程规范
各位老铁,你们有没有过这种绝望的时刻?你对Claude说:“帮我写个用户登录模块”,AI刷刷刷给你生成200行代码,你热泪盈眶——终于不用加班了!结果一跑,密码明文存储,SQL注入漏洞比筛子还多,连验证码逻辑都写成了"只要用户输入的不是空字符串就通过"。你气得想砸键盘,AI却无辜地看着你:“不是你让我写的吗?这就是2025年最痛的领悟:AI不是不够聪明,而是太聪明了,聪明到它猜不透你脑子里的"潜规
文章目录
前言
各位老铁,你们有没有过这种绝望的时刻?
你对Claude说:“帮我写个用户登录模块”,AI刷刷刷给你生成200行代码,你热泪盈眶——终于不用加班了!结果一跑,密码明文存储,SQL注入漏洞比筛子还多,连验证码逻辑都写成了"只要用户输入的不是空字符串就通过"。你气得想砸键盘,AI却无辜地看着你:“不是你让我写的吗?”
这就是2025年最痛的领悟:AI不是不够聪明,而是太聪明了,聪明到它猜不透你脑子里的"潜规则"。
就像你相亲时对姑娘说"我人还不错",结果对方理解成了"长得帅、有房有车、会做饭、孝敬父母、年薪百万"。期望落差之大,足以让项目崩盘。
于是,一帮被AI坑惨了的工程师们一拍大腿:咱们得签合同!不是和AI签,而是和自己签——先把"我要什么"写清楚,再让AI按章办事。这就是今天的主角:SDD(Spec-Driven Development,规范驱动开发)。
SDD是个啥?先写"菜谱"再"炒菜"
用大白话说,SDD就是"先写说明书,再让AI打螺丝"。
想象你要装修房子。传统开发方式是:“师傅,给我整得温馨点”,然后瓦工刷了个死亡芭比粉的墙面,你当场崩溃。SDD方式则是:你先拿出厚厚的设计图纸,标明"墙面 Pantone 12-4302 色调、地板橡木实木、插座高度距地30cm",师傅按图施工,验收时对色卡——对不上就不给钱。
在AI时代,规范(Specification)就是唯一的真理来源(Single Source of Truth),代码只是规范的"衍生品"。就像菜谱是核心,炒出来的菜只是菜谱的物质形态。你想吃红烧肉,改菜谱就行,不用亲自下厨房。
SDD有三个段位,你可以根据自己的控制欲选择:
- Level 1(规范优先):你写规范,AI参考着写代码,最后你还得人工Review——像教练指导运动员。
- Level 2(规范锚定):规范长期有效,每次需求变更都得更新规范文档——像建筑图纸,改一版就要归档。
- Level 3(规范即源码):你只管写规范,代码完全由AI生成,人永不碰代码——像米其林餐厅老板,只定菜单不炒菜。
但光知道理论没用,咱们得落地。这时候就需要两员大将出场:OpenSpec和SuperPowers。
OpenSpec:AI项目的"档案局局长"
OpenSpec是啥?你可以把它理解为"Git的远房表亲,专门管规范版本"。
这玩意儿是Fission AI搞出来的,核心理念叫"Versioned proposals for evolving systems"(为演进中的系统提供版本化提案)。听着高大上,实际上就是:任何需求变更,必须先写提案(Proposal),通过评审才能动工。
它的工作流像政府审批:
- 提案阶段:你想加功能?先写proposal.md,说清楚"我要加啥、为啥加、不加啥(Out of Scope)"——防止AI"过度帮助"把简单需求做成操作系统。
- 规格阶段:写spec.md,用GIVEN/WHEN/THEN格式描述验收标准,像写测试用例一样写需求。
- 变更追踪:每个变更都有Delta标记(ADDED/MODIFIED/REMOVED),就像Git的diff,一眼看出改了啥。
最骚的是它的棕地优先(Brownfield-first)设计。老项目最怕什么?新AI助手一上来就把祖传代码改崩了。OpenSpec要求你必须标注哪些旧逻辑被修改,防止AI乱动你的"屎山"。
安装也简单:npm install -g @fission-ai/openspec,然后openspec init,项目里就多了个openspec/目录,里面分三个档案柜:
📁 specs/ ← 已完成的功能规范(历史档案)
📁 changes/ ← 正在开发的变更(施工图纸)
📁 archive/ ← 已归档的提案(结案卷宗)
这套系统最适合需求不稳定、团队成员多、代码要长期维护的项目。就像给AI戴上了紧箍咒:不是不让你发挥,而是先立规矩再发挥。
SuperPowers:AI的"军训教官"
如果说OpenSpec是制定法律的人,那SuperPowers就是监督执行的军训教官——而且是那种"TDD(测试驱动开发)铁律违者必究"的狠角色。
这玩意儿是Jesse Vincent(键盘大厂Keyboardio的创始人)开源的神器,GitHub上已经爆了5.7万星。它不搞花里胡哨的,就一件事:用严格的流程纪律约束AI的行为。
SuperPowers的核心是Skills(技能包),每个技能都是一份Markdown格式的"军规",告诉AI在这个阶段该干啥。关键技能包括:
| 技能名 | 作用 | 类比 |
|---|---|---|
| brainstorming | 苏格拉底式提问,逼AI想清楚了再动手 | 像论文导师,先问死你 |
| writing-plans | 把任务拆成2-5分钟的小块 | 像把大象切块,一口一口吃 |
| test-driven-development | 强制RED-GREEN-REFACTOR循环 | 像先画靶再射箭,射不中不能换靶 |
| subagent-driven-development | 派子代理并行执行任务 | 像包工头找农民工分队 |
| requesting-code-review | 两阶段审查(规格合规+代码质量) | 像安检+海关双重检查 |
最狠的是subagent-driven-development(子代理驱动开发)。AI不再是一个人干所有活,而是像项目经理一样,派专门的Implementer子代理写代码,派Reviewer子代理审查,派Debugger子代理修Bug——多AI协同,各司其职。
而且SuperPowers是自动触发的。你不需要记命令,AI在干活前会自动检查:“哦,我在实现阶段,必须先跑TDD技能”。就像汽车不系安全带就发不出警报声,AI不按流程就走不动道。
这套系统最适合追求代码质量、需要严格测试、团队协作复杂的场景。一句话:OpenSpec管"做什么",SuperPowers管"怎么做"。
双剑合璧:1+1>2的暴力美学
现在问题来了:OpenSpec和SuperPowers,选哪个?
小孩子才做选择,成年人全都要。真正的暴力美学是双框架组合拳。
第一层:用OpenSpec做项目骨架
先用OpenSpec初始化项目,建立规范基准。每次新需求都走openspec propose流程,生成proposal.md。这一步解决"需求漂移"问题——很多项目做着做着就歪了,就是因为前期没写清楚"不做啥"。
第二层:用SuperPowers做行为约束
把SuperPowers的技能文档放在项目的.claude/或.cursor/目录里。当OpenSpec的规范定好后,SuperPowers的writing-plans技能读取规范,自动拆分任务。然后subagent-driven-development技能派子代理执行,强制执行TDD。
第三层:双向验证闭环
OpenSpec规格文档 → SuperPowers读取并拆分任务
↓
SuperPowers子代理执行(强制TDD)
↓
OpenSpec验证引擎检查实现是否满足规格
↓
SuperPowers审查技能提供测试通过证据
↓
OpenSpec归档变更,更新 specs/ 目录
这套组合拳打下来,AI编程就从"开盲盒"变成了"流水线作业"。规范是图纸,SuperPowers是监工,OpenSpec是档案管理,三者缺一不可。
避坑指南:别把这些当银弹
当然,这两把利器也不是万能的。根据实战经验,有几个坑你得避开:
坑1:规范写成散文
别写"用户体验要好"这种虚的,要写"页面加载时间小于2秒,错误提示使用红色#FF0000"。AI读不懂散文诗,它要的是结构化约束。
坑2:全量加载SuperPowers技能
14个技能全装上,Token烧得比火箭还快。建议只选5个核心:TDD、writing-plans、systematic-debugging、verification-before-completion、requesting-code-review。
坑3:在小脚本上用重武器
如果你只是写个一次性爬虫,别搞SDD,纯属大炮打蚊子。SDD适合多人协作、长期维护、对稳定性要求高的项目。
坑4:以为规范不用维护
规范不是一次性写完的,而是随系统演进的核心资产。每次改代码都要问:规范更新了吗?Delta标记了吗?归档了吗?
写在最后:从"氛围编程"到"规范编程"
2025年,AI编程已经从"玩具"变成了"生产工具"。但工具越强大,越需要规矩约束。
SDD+OpenSpec+SuperPowers这套组合拳,本质上是在解决一个核心矛盾:AI有能力写代码,但没有纪律维护工程质量。它不会主动先写测试,不会系统定位Bug根因,也不会在写代码前检查spec。
通过结构化规范(OpenSpec)+ 强制执行纪律(SuperPowers),我们终于可以把AI从"瞎猜的实习生"培养成"靠谱的老司机"。
下一篇,我会用实战案例演示:如何用OpenSpec+SuperPowers在3天内重构一个遗留系统的用户认证模块,且零回归Bug。敬请期待!
朋友们,今天的内容就到这里。如果你觉得有收获,欢迎点赞、在看、转发三连——毕竟,在这个AI时代,掌握规范驱动开发的人,才是掌握AI的人。
PS:目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。
更多推荐



所有评论(0)