哈喽,大家好,我是刘小排。我相信大部分人,用 AI 写复杂需求,最后都会变成 —— 又是自己手动重写。或者你也遇到过:AI 一开始写得很顺,越改越乱,最后变成屎山。
最近在群里有讨论,有程序员高手说,复杂的需求,Vibe Coding 容易出错,还不如手写。也有其他的程序员高手说,不一定,如果提前准备好技术方案,那是可以一步到位的。
哪个对?两个程序员高手都对。在实操的时候,我采用的是后者。正好,今天我有一个案例。
背景
大家知道,Raphael AI 是我的招牌产品之一,这可能是全世界唯一一个、为免费用户提供无次数限制的 AI 生图产品。
不断有 Raphael AI 用户问我,能否取消人机验证?因为 Raphael AI 的生图服务无次数限制,所以我必须加人机验证,防止盗刷。
问题:如何提供无限制 AI 生图的同时、尽可能去掉人机验证、还能防止盗刷呢?
我没有答案可以抄。世界上没有第二个 AI 生图产品,有这样变态的要求。
我们结合这个案例聊一聊,如何用 Vibe Coding 的方式做复杂需求?
我的答案
对于这个案例,我想到的初步方案是:1. 如果不登录,用 IP 限制次数,暂时去掉人机验证。2. 如果已登录,分为快速模式和慢速模式。3. 慢速模式可以排队,次数无限;快速模式扣除积分,不用排队。
想好了初步方案,那就要和三位 AI 大哥讨论了。
工作界面
工作界面如下图所示:
- 左:Codex — GPT-5.1-Codex-Max (Extra High) 模型
- 中:Claude Code — Claude Opus 4.5 (ultrathink) 模型
- 右:Antigravity — Gemini 3 Pro (High) 模型
详细过程
讨论需求的过程,我详细展示给你:
步骤 1用豆包语音输入法,把需求、大致的方案,输入给飞书文档
- 之所以要用飞书文档,是方便整理格式、方便写表格、方便分别复制给三位 AI 大哥、方便修改
- 此时我一般会口述到 500~1000 字左右。反正是语音输入,不累,三分钟就说完了
步骤 2-3复制需求给三位大哥,让他们讨论并回答问题
复制飞书文档内的需求,分别给三位大哥,让他们:
- 用自己的话整理需求
- 阅读所有代码后提出技术方案
- 遇到需要我决策的内容,提出和我讨论
分别回答 AI 大哥提出的问题,继续追问是否还有其他要讨论的。如下图所示:
步骤 4尽量多让 AI 大哥输出表格、流程图、ASCII 原型图
沟通过程中,尽量多让 AI 大哥输出表格、流程图、ASCII 原型图,方便沟通理解。下面有 3 个图,供你参考,分别是表格、流程图、ASCII 原型图。
步骤 5汇总方案,让 Claude Code 生成 Markdown 文档
等三位 AI 大哥几乎达成一致后,(复制)汇总三位大哥的方案,让 Claude Code 进行总结,生成 Markdown 格式的文档。文档需要同时包括需求、技术方案。
- 为什么选择 Claude Code 来做主笔? —— 因为 Claude Code 说的话最容易理解
- 如何判断三位 AI 大哥几乎达成一致了? 过程中,你也可以把三位大哥的输出内容互相复制,让互相检查
- 生成的文档,要越详细越好。要多详细?详细到「给任何人看,都没有歧义」的程度
下面是我的朋友 @王梦珂 刚刚发给我的,她和 AI 的沟通记录。看出来了吗,她正在使用我们的方法:
步骤 6让另外两位大哥,再次审核完整版文档
如果有进一步的审核意见,把意见给到 Claude Code 主笔,让它修改文档。如下图所示,我把文档路径发给 Codex 和 Gemini 3 Pro 分别评审。
步骤 7收工
就是上面的过程了,比较费时间,但是我秉承的原则一直是:
慢就是快
如果你是新手朋友,可以参考我之前的文章 AI 编程的终极心法 Claude Code 极简入门:3 条铁律让你告别代码屎山
最终文档长什么样
最终文档会长什么样呢?我截几个图你们看看。
首先,文档详细到了何种程度?即便是 Claude Code,只写文档,也需要分步骤更新:
整体长度是 2846 行。
总行数:2,846 行
章节数:15 个主要章节
决策记录:32 条(D-001 到 D-032)
测试用例:覆盖单元测试、集成测试、E2E 测试
文档内容包括
- 目录(下图 1)
- 在任何人看来,都毫无歧义的用户场景和需求描述(下图 2)
- 详细技术方案
- 技术架构图或流程图(下图 3)
- 需要改动的代码文件,和关键代码修改(下图 4、下图 5)
最终,当我们再让其他两位 AI 大哥再次评审 Claude Code 的方案时,它们再也无法提出任何意见。
时间统计
(全程没参与,E2E 自动化测试通过 Antigravity 内置浏览器完成)
大功告成。
常见问题
看不懂 AI 大哥说的技术术语,怎么办?
- 你必须得看懂,否则你无法做决策,你也永远出不了新手村。
- 如果是新手,那你可以新开一个窗口,专门用于解释技术术语,推荐用 Claude Code。不懂就问,问到全部懂为止。
- Claude Code(Claude 系列模型)很擅长打比方,适合作为新手的学习搭子。
为什么不用 spec-kit 或者 Cursor 的 Plan Mode 呢?
- 因为过程中需要大量的微决策
- 一开始,我们心里只有非常模糊的方向。最终方案,是需要我们和 AI 不断沟通中,才浮现出来的。
- 无论 AI 有多么强,只有人类(也就是只有你)才能承担决策责任。
一定要像你这样,同时充值三位 AI 大哥吗?
- 你可以简化为两个:Codex 是必须的,另外一个建议是 Claude Code,因为它最擅长说人话。
- 还可以简化为:使用 Droid,只付一份钱,在程序内切换多个模型。