前言
用AI写代码这事,我觉得现在已经不稀奇了。但你有没有遇到过这种情况:
我满怀期待地跟AI说"帮我加个登录功能",然后它哗哗哗一顿输出,我紧张地盯着屏幕,心里默念"别跑偏、别跑偏"......结果最后出来一坨代码,要么不是我想要的,要么改了不该改的文件,要么干脆跑不起来。
我猜你也有过这种崩溃的时刻吧?
问题出在哪?不是AI不够聪明,而是我们没告诉它该怎么干活。
这篇文章,我来聊聊目前我用过的三种"指挥AI写代码"的模式:Plan模式 、Spec模式 、Superpowers模式。它们就像三种不同的项目管理风格------有的轻快灵活,有的严谨扎实,有的像给AI请了个CTO。
如果你也在为"怎么用好AI"发愁,希望我的这些总结对你有用。
一、Plan模式:先列个清单再动手
这是什么?
Plan模式是Cursor最近推出的功能,核心思路很简单:AI不要上来就写代码,先把计划列出来给我看看。
我喜欢用装修来类比。以前我让AI"直接开干",就像跟装修师傅说"随便你,你看着办"------结果当然是一团乱。Plan模式的感觉就像换了种沟通方式:先让师傅出个方案,打算拆哪面墙、电线怎么走、厨房怎么布局,我点头确认了,他再动手。
这个改变,让我对AI的掌控感强了很多。
怎么用?
- 你把需求扔给AI
- AI分析代码库,生成一份"待办清单"式的执行计划
- 你看完觉得没问题,点"开始执行"
- AI按计划一步步完成
实际效果是什么样的?
bash
你:帮我给项目加个用户权限管理功能
AI的计划:
□ 1. 创建 permission.js 权限配置文件
□ 2. 修改 router/index.js 添加路由守卫
□ 3. 创建 PermissionSettings.vue 页面组件
□ 4. 在侧边栏菜单中添加入口
□ 5. 对接后端权限接口
你:第3步我想用弹窗而不是新页面,改一下
AI:好的,已调整计划...
我特别喜欢这种"计划可以改"的感觉------不用等AI写完代码再返工,在清单阶段就把方向对齐,省了很多时间。
优点
- 轻量:不用写文档,聊着就把计划定了
- 可控:计划不对可以随时改,不用等AI写完代码再返工
- 透明:你知道AI接下来要做什么,再也不用"开盲盒"
- 灵活:可以只执行计划中的部分步骤
缺点
- 计划的颗粒度有时粗有时细,质量依赖模型能力
- 没有持久化的文档,关了聊天窗口计划就没了
- 适合单次任务,跨多天的大项目追踪起来不方便
什么场景下我会用它?
- 中等复杂度的功能开发
- 一个人干活,不需要跟别人对齐
- 想快速出活,但又不想AI乱改
二、Spec模式:先写"施工图纸"再开工
这是什么?
Spec模式(规约驱动开发)是一种更正式的方式,代表工具有OpenSpec,specKit等。
它的思路是:把需求变成白纸黑字的文档,文档确认了再写代码。
我是这样理解这两种模式的区别的:如果Plan模式像"口头沟通+简单清单",那Spec模式就像"正式签合同+出设计图纸+列施工清单"。说实话,刚开始我觉得这太重了,但在做几个中大型功能踩坑之后,我开始理解它的价值了。
完整流程是这样的
markdown
1. Proposal(提案) → 我要做什么?为什么做?
2. Design(设计) → 技术方案怎么选?有什么取舍?
3. Spec(规格说明) → 具体要实现哪些需求?验收标准是什么?
4. Tasks(任务拆解) → 分几步做?每步做什么?
5. Apply(执行) → 按任务列表逐个实现
6. Archive(归档) → 做完了,合入主干,归档记录
实际项目里长啥样?
bash
openspec/changes/add-user-permission/
├── proposal.md # 为什么要做这个功能
├── design.md # 技术方案选型和架构决策
├── specs/
│ └── permission-control/
│ └── spec.md # 具体需求规格和验收场景
└── tasks.md # 拆分的实现任务清单
文件看起来有点多?我第一次也这么觉得。但等你半年后翻回来,发现这份文档能帮你回忆起当时"为什么这么设计",那种感觉挺好的。
优点
- 可追溯:半年后回头看,为什么做了这个功能、当时怎么想的,一目了然
- 多人协作友好:文档在那儿摆着,谁接手都能看懂
- 质量有保障:设计评审过了才动手,减少返工
- 适合复杂项目:涉及多模块、多接口的大功能不容易跑偏
缺点
- 重:一个小功能也要写proposal、design、spec、tasks四份文件?
- 慢:文档写完需求可能都变了(这个确实是真实痛点)
- 学习成本:团队要理解并接受这套流程
- 小改动杀鸡用牛刀:改个按钮颜色也要走全套?算了吧
什么场景下我会用它?
- 影响范围大的核心功能
- 需要多人评审和协作的项目
- 对质量要求高、不允许出错的场景
- 需要留下历史记录和决策依据的团队
三、Superpowers模式:给AI请了个严格的技术总监
这是什么?
Superpowers是GitHub上145k+ star的开源项目,由Jesse Vincent开发。它不是一个工具,而是一套给AI立规矩的"方法论框架"。
我第一次看到它的核心理念时,觉得说得太准了:AI不缺能力,缺的是纪律。
这就好比你招了个天才实习生,代码写得飞快,但不写测试、不做设计、不跟你确认就自己干。Superpowers做的事就是给这个实习生配一个严格的技术总监,强制要求他按流程走。
说实话,这套东西刚上手有点"震惊"------它的要求之严格,远超我的预期。
完整工作流
markdown
1. Brainstorming(头脑风暴) → 别急着写,先聊清楚要做什么
2. Git Worktrees(隔离环境) → 拉个新分支,别污染主干
3. Writing Plans(写计划) → 拆成2-5分钟的小任务
4. Subagent Development(子代理执行)→ 派"小弟"逐个完成任务
5. TDD(测试驱动) → 先写测试,再写代码(强制的!)
6. Code Review(代码审查) → AI审AI,两阶段检查
7. Finish Branch(收尾) → 验证测试通过,决定合并还是丢弃
它跟前两种最大的区别在哪?
强制TDD(测试驱动开发)。
注意------不是"建议你写测试",而是"没有失败的测试用例,绝不允许写生产代码"。这在前两种模式里都是没有的,我刚接触时确实有点不习惯。
另一个让我印象深刻的是子代理机制:一个AI负责写代码,另一个AI负责审查代码------自己写的自己不审,让"同事"来审。这个设计我觉得相当聪明,能发现很多单个AI审视不到的问题。
优点
- 代码质量极高:TDD + 双重审查,产出的代码经得起考验
- AI不会跑偏:每一步都有明确的技能约束,不是"想到哪写到哪"
- 可以长时间自主运行:据说Claude能独立工作几个小时不偏离计划
- 工程纪律强:YAGNI、DRY、TDD,这些原则不是口号而是硬性要求
缺点
- 重得离谱(对某些场景来说):改个文案也要走TDD?我不觉得这值得
- 学习曲线陡:14个技能模块,团队都要理解
- 强制测试不总是合适:前端页面交互测试写起来成本很高,强行上不划算
- 依赖特定AI工具:目前主要支持Claude Code、Cursor等
什么场景下我会用它?
- 对代码质量有极高要求的核心系统
- 需要AI长时间自主运行而不跑偏
- 团队已经接受TDD文化
- 后端API、基础设施、算法等测试容易写的场景
四、三种模式对比一览
| 维度 | Plan模式 | Spec模式 | Superpowers模式 |
|---|---|---|---|
| 一句话描述 | 先列清单再动手 | 先写文档再开工 | 先立规矩再放手 |
| 文档成本 | 低(计划即文档) | 高(4-5份文档) | 中(计划+测试) |
| 启动速度 | 快(聊两句就开干) | 慢(文档要写半天) | 中(需要确认设计) |
| 代码质量 | 中等 | 中高 | 极高(有TDD) |
| 适合复杂度 | 中等任务 | 大型功能 | 核心系统 |
| 学习成本 | 几乎为零 | 中等 | 高 |
| 多人协作 | 弱 | 强 | 中 |
| AI自主程度 | 中 | 中 | 高 |
| 事后追溯 | 弱(聊天记录) | 强(完整文档链) | 中(测试即文档) |
五、实际怎么选?我的建议
我想说一句实在话:别纠结哪个"最好"------没有最好的模式,只有最合适的场景。
我自己的选择策略是这样的:
紧急修bug / 改个文案 / 加个字段
→ 直接用Agent模式,连Plan都不用
中等功能(比如加个列表页、加个弹窗表单)
→ Plan模式,先让AI出个计划,确认了再执行
大型功能(跨多个模块、影响核心流程)
→ Spec模式,先把proposal和design写清楚
核心算法 / 基础设施 / 需要高可靠性的模块
→ Superpowers模式(或至少借鉴它的TDD思想)
混搭使用才是王道
实际工作中,这三种模式不是互斥的,我完全在组合着用:
- 用Spec模式的文档习惯来管理大功能的需求
- 用Plan模式的快速规划来指导每次编码会话
- 借鉴Superpowers的TDD纪律来保证核心代码质量
一开始我也想找一套"通用方案",后来发现这个念头本身就是个坑。根据任务性质灵活切换,才是真正用好AI的方式。
六、写在最后
AI编程工具发展到今天,我觉得核心矛盾已经不是"AI能不能写代码",而是怎么让AI写出你真正想要的代码。
三种模式本质上解决的是同一个问题:在AI动手之前,把事情想清楚。
- Plan模式说:"想个三分钟就够了"
- Spec模式说:"想清楚了写下来"
- Superpowers说:"不光要想清楚,还得守规矩"
选哪个?看你的项目有多复杂、团队有多大、对质量要求有多高。
工具是死的,人是活的。找到适合自己的节奏,才是最重要的。 我还在摸索中,你呢?