我做了5个产品之后,总结出产品开发其实只需要6步(5/25)

hi,大家好,我是seven。一个专注用AI赋能品牌的实践者。

这是《VibeCoding实战:不会写代码,也能做产品》系列拆解第5篇。

今天来聊聊,一个产品从「想法」到「公网可访问」,中间到底经过了什么?

很多人以为最难的是写代码。但做了五个产品之后,我发现最难的从来不是代码。AI 能写代码。真正难的是你知不知道该让 AI 做什么、做完了怎么判断对不对、改的时候怎么改到点上。

我把整个过程总结成六个字:定、生、修、验、发、查

定义需求 → 生成第一版 → 修改迭代 → 验收检查 → 发布上线 → 观察反馈。

这不是理论框架。是我做每一个产品时都在重复的动作。六步走完就是一个完整循环。走完第一遍可能粗糙,但你已经有了一个上线的产品和真实的用户反馈。然后进入第二遍循环,比上一遍好一点。

这篇一步一步讲。

第一步:定——把想法翻译成 AI 能执行的任务

你脑子里的画面,AI 看不到。它需要一份文字版的「订单」。

最怕的沟通方式是:「帮我做一个 AI 工具。」这话的信息量接近于零。AI 不知道做给谁、解决什么问题、长什么样、做到什么程度算完成。

写 PRD(产品需求文档)是整个六步里 ROI 最高的动作。你在这份文档上多花十分钟,后面能省几天的返工。在 AI 编码时代,写清楚需求比写代码重要一百倍。

这里有一个节奏很重要:不要一次性把整个 PRD 扔给 AI。更有效的方式是一次只给一个功能模块,生成完了验证通过再给下一个。一口气吃太多,AI 容易顾此失彼。

第二步:生——第一版要快,不要完美

PRD 对齐了,让 AI 动手。在它动手之前,用一个「最小闭环检查表」再过一遍你的需求:

  1. 用户从打开到完成,最少几步?(目标:≤5 步)
  2. 核心功能是不是只有 1 个?(不是 3 个,是 1 个)
  3. 有没有可以砍掉的功能?(登录?设置?深色模式?)
  4. 用户第一次打开,能不能不注册就体验?
  5. 这个范围能不能一次性让 AI 生成?(太大就继续砍)

第一版的标准就三条:核心流程能走通,首屏能看出这是干什么的,功能不超过 3 个。不需要完美的颜色字体间距,不需要注册登录,不需要支付。这一版的任务是"能用"。

第一次生成,常见的几个坑

需求文档太长,AI 只做了前半段。如果你的 PRD 超过一屏,AI 有可能只处理了开头的部分,后面的功能直接没做。解决办法:把 PRD 拆成两到三段分别发,或者在开头加一句"以下是完整需求,请全部实现"。

第一版出来了但核心功能是假的。页面看起来很完整,有按钮、有表单、有弹窗,但点了以后什么都不发生。这是因为 AI 先做了 UI(骨架和皮肤),还没接逻辑(神经系统)。这时候不要急着改颜色改布局,先跟 AI 说"XX 按钮点了之后应该发生什么",把核心交互接通。

AI 自作主张加了你没要的东西。你写的是一个预约页面,AI 给你加了用户登录、深色模式切换,甚至一个博客板块。这就是为什么 PRD 里"不做什么"那一栏很重要。遇到这种情况,直接告诉 AI:"删掉登录功能和博客板块,这一版不需要。"

关于技术栈:如果你不确定选什么,有一个现阶段被验证过最多次的组合:Next.js + Tailwind CSS + shadcn/ui + Supabase。几乎所有主流 vibe coding 工具(Cursor、Claude Code、v0、Bolt、Lovable)都默认支持这个组合。

第一版生成完毕,测试一下核心流程能走通。如果走通了,立刻做一件事:保存一个版本。这是你的「存档点」。后面改崩了,你能一秒回到这里。

第三步:修——别让 AI 猜,给它证据

第一版一定有问题。修改的核心原则:精确描述问题,不要让 AI 猜。

修改阶段三个容易踩的坑

第一个坑:越改越乱。和 AI 在一个对话里反复修改了二十多轮后,AI 开始"不聪明了"。这不是 AI 变笨了,是上下文窗口满了。解决方法很简单:开一个新对话,把当前需求重新描述一遍

第二个坑:改崩了还继续改。AI 改出了一个 Bug,你让它修这个 Bug,修的过程中又引入了两个新 Bug,这就是「死亡循环」(doom loop)。正确做法:回滚到上一个正常版本,重新描述你要改的东西

第三个坑:不看修改内容就接受。每次修改后看一眼 diff(差异对比)——看看 AI 到底改了哪些文件、改了哪些行。你不需要读懂每一行代码,但至少确认它只改了该改的地方。

第四步:验——AI 做完了不等于做对了

AI 越能干,你越需要验收。因为 AI 生成的速度太快了,问题也来得快,你不检查就是在堆积隐患。

验收五步法:

  1. 走一遍核心流程——从「打开页面」到「完成核心动作」,一步不跳。能走通吗?
  2. 换一个设备——电脑上做的?用手机打开。排版正常吗?按钮能点吗?
  3. 假装自己是新用户——清掉脑子里的预设。第一次打开,3 秒内能看懂是干什么的吗?
  4. 测试失败状态——表单什么都不填就提交。网络断了刷新。用户看到友好提示还是白屏?
  5. 问一个真人——把链接发给一个人,什么都不解释。他卡在哪里了?

过关标准就三条:核心流程能走通,手机上也能用,有真人看过。

第五步:发——不上线就没有真实反馈

发布不是终点。发布是反馈的起点。

如果你用 Lovable,发布很简单:点右上角的发布按钮。如果你用 Cursor 或 Claude Code,需要走一个「部署四层图」:

  • 第一层:代码(你已经有了)
  • 推送到第二层:GitHub(代码仓库)
  • 自动触发第三层:Vercel(部署平台)
  • 绑定第四层:域名(可选)

你一定会遇到一个概念:环境变量。产品里有些信息(数据库密码、API Key)不能写在代码里,否则谁都能看到。这些信息存在「环境变量」里,本地开发时放在 .env.local 文件,上线后放在 Vercel 的设置面板。两边要一模一样,大部分人卡住就是因为本地配了、线上忘了。

安全检查:AI 生成的代码必须被当作「未经审查的第三方代码」来对待。凡是涉及登录、权限、支付、用户数据的代码,不要让 AI 全自动处理。你可以让 AI 写,但你必须看一遍,或者让另一个 AI 帮你专门审查这部分。

第六步:查——上线后看人怎么真实使用

产品上线了,你会很想看数据。但先别急着盯数据面板。先看人,再看数。

上线第一周,最有价值的信息不是来自 Google Analytics,是来自你微信一对一问的那 3 个用户。问一个问题就够了:「你打开后第一个想做的事是什么?」

数据当然也要看,但第一周只看三个数:

  1. 有没有人来?(日访客数)
  2. 来了做什么?(热门页面 / 点击最多的按钮)
  3. 做完了没有?(核心流程完成率)

这就是「最小观测三件套」。不需要建仪表盘,不需要做漏斗分析。第一周就看这三个。

如果你想再进一步,可以接 Sentry——它能帮你自动捕获线上报错,用户遇到了白屏或者功能崩溃,你不用等用户反馈就能看到。这两个工具都有免费额度,前期够用。

「查」这一步是很多人会跳过的。大部分 vibe coder 在发布之后就结束了——"上线了,完成了"。但真正有价值的反馈恰恰来自上线之后。用户怎么用、卡在哪里、为什么流失——这些信息比你写代码时做的任何假设都重要。

觉得这篇文章有帮助?分享给更多朋友