"很多天真开发者的心态:我不管你中间怎么实现,我只要你最后的结果是完美的就行了!"
想象你是这样一位"产品经理":
"我要做一个社交 APP,功能很简单——左边是微信,右边是抖音,中间再加个淘宝购物车。预算五千,下周上线。"你满怀期待地把这段话丢给 AI,然后坐等奇迹发生。
三分钟后,AI 生成了代码。你跑起来一看——崩溃了。
"什么垃圾 AI,连这么简单的东西都做不出来!"停。
问题真的是 AI 不行吗?
现代 AI 编程工具(Cursor、Windsurf、Claude Code 等)都有一个共同的设计:Plan 模式。
在真正写代码之前,AI 会先给你一份"施工图纸"——
但他们搞错了一件事:Plan 模式不是给 AI 看的,恰恰相反,是给人看的。
如果你看过《Fate/Zero》,一定对卫宫切嗣的故事印象深刻。
切嗣一生的愿望是"拯救全人类,实现永久和平"。在他眼里,圣杯就是那个全知全能的超级 AI——只要说清楚愿望,圣杯就会用超越人类的智慧,奇迹般地抹平所有流血与冲突。
这不就是很多开发者的心态吗?
"我花钱买 Tokens 当祭品供养大模型,AI 之神就应当回应我的愿望!"就算 AI 真的是神,这时候也该绷不住了。
有趣的是,圣杯真的有 Plan 模式。
它没有直接执行切嗣的愿望,而是先"推演"给他看:
具象化两艘船,一艘载 300 人,一艘载 200 人,同时漏水。切嗣选择修复 300 人的船,任由 200 人的船沉没。
接着,活下来的 300 人又分成两艘船,一艘 200 人,一艘 100 人。
切嗣再次杀死 100 人,拯救 200 人。
圣杯说:既然如此,实现人类大团圆的最终方案,就是杀光世界上绝大多数人,只留下你卫宫切嗣、爱丽丝菲尔、伊莉雅斯菲尔三人呀!
愿望达成了。但切嗣当场发癫,一枪崩了伊莉雅,然后掐死了老婆。
圣杯废这么多话干啥呢?直接执行不就"三人幸终"了?
卫宫切嗣为什么不领情?
程序员看着"no code, no bug"的项目为什么不领情?
你的愿望不是实现了吗?
因为许愿者往往带着一种天真许下了愿望,觉得神是万能的,愿望是会完美实现的,以为许愿是毫无代价的。
然而最后才发现:愿望是需要代偿的,而这个代价,你支付不起。
在 AI 编程的语境下,Plan 模式就是圣杯的"推演"。它在执行前告诉你:
"如果你要我实现这个需求,我需要:这时候你才有机会喊停:"等等,我只是想加个按钮,不是想重构整个项目!"
- 删掉你原来的用户认证模块
- 引入三个新的依赖库
- 把数据库 schema 改得面目全非
- 顺便破坏掉你昨天刚修好的那个 bug"
Plan 模式拯救的不是 AI,是许愿者自己。
回到开头的社交 APP 需求。
如果 AI 直接执行,它可能会:
"实现这个需求需要:这时候,即使是再天真的许愿者,也该意识到自己的愿望有问题了。
- 逆向工程三个超级 App 的私有协议(法律风险)
- 维护三套完全不同的 UI 状态机(技术债务)
- 处理三个平台的实时消息同步(性能噩梦)
- 预算至少 500 万,周期 2 年"
一个优秀的 AI 编程助手,在 Plan 阶段应该做到:
"你说的'左边是微信',是指 UI 布局相似,还是要接入微信的消息协议?"
"方案 A:用 WebView 套壳,快但体验差;方案 B:原生开发,慢但体验好。你选哪个?"
"这个改动会影响用户登录模块,建议先备份数据库。"
"实现这个功能需要引入 X 库,会增加 50MB 包体积。"
很多人把 Plan 模式当成 AI 的"啰嗦",迫不及待地想要跳过。
但换个角度想:愿意在动手之前跟你确认细节的 AI,其实是一种慈悲。
它在试图避免这样的场景——
三周后,你看着一团乱麻的代码,终于意识到: "原来我当时许下的愿望,代价是整个项目的可维护性。"就像卫宫切嗣最后才明白:
拯救全人类的愿望,代价是成为全人类的屠夫。
Plan 模式给不了你完美的实现,但它至少给了你一次反悔的机会。
"在 AI 动手之前,先看看它打算怎么动手。这可能是你最后一次纠正错误的机会。"
还没有人回复