Vibe Coding从0到N:5个AI队友差点把家拆了(2)

0 评论 313 浏览 1 收藏 21 分钟

从AI编程的甜蜜期到残酷的现实,Vibe Coding之路远非想象中那么轻松。本文赤裸裸地揭露了从产品上线到持续运营过程中的七大深坑——从技术债的连环爆雷、跨浏览器兼容性噩梦,到成本失控、推广碰壁,再到多AI协作的版本管理灾难。每一个坑都是血泪教训,每一段经历都在重新定义人机协作的边界。

做出来只是开始,改起来才知道什么叫真正的折磨

开篇:为什么要写下篇

上篇文章写了怎么从0到1快速做出一个产品。

看完后很多人的反应是:哦,原来AI编程这么简单,我也能做。

但说实话,做出来真的只是开始。

  • 0到1的时候,你面对的是:
  • 想法很清晰,知道要做什么
  • AI能听懂,代码能跑起来
  • 测试通过,功能看起来都正常

1到N的时候,你面对的是:

  • 持续迭代(代码开始变得越来越乱)
  • 质量保证(用户开始反馈各种问题)
  • 用户增长(推广发现根本没人理你)
  • 商业化(2 个用户,成本不小,看到账单差点吓晕)

如果说0到1是”兴奋地踩坑”,那1到N就是”绝望地填坑”。

这篇文章,就是来讲讲那些让我差点崩溃的坑。

第一阶段:上线后的短暂狂喜(更多可以看上一集)

2026年4月,我的智能靶点发现平台TargetLink正式上线。

那天我在某书发了推广视频,在某特写了介绍文章,还动用了联合创始人的医学人脉,小圈层推。

然后,第一个真实用户出现了。

他留言说:”这个太实用了!我的冷门靶点终于可以不用一个个手动查询了!”

那一刻我真的觉得:我的产品要火了。

睡前脑子里已经开始疯狂幻想:

按照这情况下去,下周100个用户,下个月1000个用户,年底10000个付费用户,要是火了我的服务器撑不住咋办呀…

然后,现实狠狠给了我一巴掌。

第二阶段:五个深坑

坑1:老伙计技术债:bug的连环爆

改了一个小bug,结果整个系统都崩了

上线第3天,收到用户反馈:”我查询完一个中药,刷新页面后结果就不见了。”

我一查代码,发现localStorage的key命名不统一

查询页面用的是 ‘searchResult’,结果展示页用的是 ‘queryData’。

这个简单啊,改一下就行。

改完,本地测试,看起来没问题,上线!!!

然后,收藏功能崩了。

再仔细一查,发现 saveFavorite() 这个函数在数据还没完全加载的时候就被调用了。

原来是异步逻辑没理清,AI生成的代码执行顺序有问题。

行,那再改。

改完,测试,上线。

然后,用户说虚拟筛选任务一直卡在“处理中”。

我整个人都懵了。

仔细排查了一遍,发现问题更严重:项目用了Node.js + Flask两套后端同时在跑

为什么会这样?

因为早期为了快速迭代,AI生成代码的时候用了不同的技术栈。

一开始没觉得有问题,反正都能跑起来就行。

直到虚拟筛选任务一直卡在 processing 状态,进度始终是0%。

我仔细一查才发现:

  • mac_worker.py 调用的API在 Node.js服务
  • vina_tasks 这张表在 Flask的数据库
  • 两个服务的数据根本就不同步

worker明明已经更新了任务状态,但用户那边查不到,因为查的是另一个数据库。

为什么会掉进这些坑?

早期为了快,我当时的想法是:

  • 口头约定就够了(“我们都用这个key名”)
  • 改一个文件应该就够了
  • 能跑起来就行,架构的问题以后再说

结果就是:前期快 ≠ 可以不管技术债。

债务迟早要还,而且是连本带利地还。

我学到的教训

问题

  • 依赖口头约定,而不是关键配置必须写到文件里
  • 改一个文件就以为改完了,而不是全局搜索确认
  • 一个项目用两套技术栈,而不是一开始就定死

解决方案:

  • 关键配置集中写在 config.js 里
  • 任何改动回退前,必须在 dev 分支先测试
  • 新项目第一天就定好技术栈,后面不要随便换

划重点:前期快不是借口,技术债迟早要还,而且会连本带利。

坑2:测试全部通过,用户那边就崩溃

Chrome能用,微信就崩,怎么办?

我做的有个项目需要调用用户的摄像头功能。

我测试的时候,让AI跑自动化测试:全部pass ,一路通畅

我自己在Chrome浏览器测试:正常运行,很完美

然后就直接上线了。

第二天,用户反馈:”摄像头打不开。”

我一看,用户用的是微信内置浏览器

我把各种浏览器都测了一遍:

  • Chrome:正常
  • Safari:正常
  • 微信内置浏览器:崩溃
  • UC浏览器:崩溃

问题出在哪?

原来微信浏览器不支持 facingMode: { exact: “environment” } 这种精确调用后置摄像头的方式。

而我之前只在Chrome测试过,以为所有浏览器的行为都是一样的。

AI的自动化测试更不靠谱,它跑的是标准浏览器环境,根本覆盖不了真实场景。

解决方案

写了个降级策略:

try { // 先尝试调用后置摄像头 facingMode: { exact: “environment” } } catch (error) { // 如果失败,就降级到前置摄像头 facingMode: “user” }

还加了浏览器检测,提前警告用户当前浏览器可能不兼容。

我学到的教训

问题:

  • 只在Chrome测试就直接上线
  • 以为AI跑测试全pass就没问题了
  • 假设所有浏览器的行为都是一致的

解决方案:

  • 至少测3个浏览器(Chrome、Safari、微信)
  • 核心流程必须人工跑一遍,不能只依赖自动化测试
  • 写降级策略(功能降级总比完全失效好)

划重点:AI跑测试全pass ≠ 真实环境没问题。

坑3:成本失控

一个我和运营的2人团队,服务器2000/月,怎么省?

上线第二周,我收到一封阿里云账单通知。

打开一看:本月账单 ¥1847

我懵了。

之前测试环境每月也就几百块,怎么突然飙到快2000?

赶紧去看账单明细:

  • 存储:¥680(视频文件占了2.9GB)
  • 带宽:¥520(用户上传视频消耗)
  • API调用:¥647(大模型 API + 机器学习/深度学习算法调用)

最崩溃的是:这才10个真实用户。

如果100个用户,岂不是要2万/月?(夸张说法)

我决定拆分模块看看怎么省钱:

节约方案 1:存储优化

我打开服务器,du -sh * 看了一圈。

发现:

  • 原始视频:2.9GB
  • 临时帧文件:475MB
  • 问题帧和优秀帧(用户真正看的):只有180MB

用户只看180MB的内容,我却存了3.4GB的中间文件。

解决方案:

  • 7天后自动删原始视频
  • 3天后删临时帧
  • 永久保留问题帧和优秀帧

写了个cron脚本,每周日凌晨3点跑。

第一次跑完:2.9GB → 1.7GB

省了几百一年。

节约方案 2:API费用

医药靶点项目第一个月API费用好几千。

我去看调用日志,发现每次请求都是全量上下文。

没用Prompt Caching。

这就像每次对话都要从头介绍一遍自己,能不贵吗?

启用Prompt Caching后,成本直接降了接近90%。

节约方案 3:模型选择

不是所有任务都需要 最高的模型。

我重新梳理了一遍:

  • 复杂推理(化合物对接分析):高价模型,比如 sonnet(贵但准)
  • 简单分类(视频动作识别):中等价位模型(够用就行)
  • 内容生成(靶点解读文案):低价模型(性价比高)

一个月下来,API费用从¥2000降到¥400,这才发现,其实拆分场景来看,有太多情况下可以降级节流。小钱办大事不是省钱,是把钱花在刀刃上。

我的教训

问题:

  • 以为“云存储便宜”就不管
  • 所有场景都用最贵的模型
  • 不看账单,等爆了才处理

解决方案:

  • 定期审计(每月看一次存储、API费用)
  • 识别:中间文件 vs 最终产物
  • 根据任务复杂度选模型
  • 自动化清理(cron job)

坑4:推广碰壁

Reddit发了链接就被封,咋推广?

项目上线第三天,我兴冲冲去Reddit垂直社区发帖,点赞、评论点赞、评论好赞的评论,试探性发了一个不含广告的技术沟通帖,坐等kama值。

结果两小时内帖子直接被系统删除,账号永久封禁,一个新增用户都没拿到,净损失一个号。

更尴尬的:AI coding信任危机

还有件事让我特别纠结,本来打算录一期视频分享自己用AI Coding落地产品的全过程,但一直卡在一个点:到底要不要对外坦诚项目全程靠AI辅助开发?

坦白说,怕外界会觉得AI生成的代码不靠谱,质疑产品稳定性;隐瞒不说,又觉得不够真诚。

后来彻底想通了:用户只会为产品能不能解决自身问题买单,根本不会在意你的开发工具是什么。

对外宣传的正确思路:不要直白说项目由AI辅助编写,转而描述「基于现代化智能开发工具,快速迭代落地产品方案」,全程聚焦产品核心价值,弱化开发手段,宣传重心放在产品价值,而非开发方式。

我的教训:推广不是发广告,是先让别人信任你。

坑5:人机协作的本质

2026年4月,我参加了一次vibe coding会议,9个项目分享,有几个核心洞察让我重新思考人机协作。

案例1:多AI分工 > 万能AI

Slock的创始人分享了他们的协作模式:8个AI同事,各司其职

不是一个万能AI,而是:

  • 一个负责写代码
  • 一个负责跑typecheck
  • 一个负责提PR
  • 一个负责文档
  • ……

工单化协作:AI直接修代码、跑测试、提PR,人只负责决策。

核心理念:diversity > 中央化。

这让我意识到:不要指望一个AI什么都能干。

案例2:记忆层 > 工具层

gbrain的创始人说了一句话让我印象深刻:“不是装了工具,是建立了关系。”

工具会换(Claude → Cursor → Codex),但记忆不能丢。

他们用Supabase做向量存储 + Cron Jobs定期归档。

投资记忆系统,不是投资工具。

案例3:人负责战略,AI负责执行

我们自己的实践也验证了这一点。

架构决策:人工主导

  • 简单够用 > 复杂完美
  • 一套技术栈 > 多套混用
  • 能不加功能就不加

代码实现:AI执行

人退到目标层,AI在执行层。

我们的AI家族

现在yourhelper有5个AI小伙伴:

  1. 金毛管家(OpenClaw):24h待命,决策和投资研报
  2. 小付(Claude Code):本地开发,本地主力开发/另外负责SEO、GEO
  3. Cici(Claude Code+飞书桥):TargetLink项目专属架构与业务迭代
  4. 狸狸(DeepSeek 14B):本地部署,客服和faq数据专员,还在做知识训练,等待厚积薄发中
  5. 小五(Codex):刚加入,由于工信部发的通知新加的成员,新加入成员,仍在磨合阶段,目前已经接受了运营市场和推广物料的工作

每个AI都划定清晰职责,互不越权,理论上十分完善,但真实落地过程,依旧踩了严重大坑。

下面接着说案例:

坑 6:多AI协作的分支拉取规则失控

我们5个AI小伙伴各司其职,听起来很美好。

但第一次真正协作的时候,差点翻车。

场景:金毛管家在云端改文档,小付在本地改前端,Cici在另一台机器改后端。

问题:没约定谁拉哪个分支。

结果:

  • 金毛管家直接改 master
  • 小付改完推到 dev
  • Cici改完直接覆盖了 master

最崩溃的:三个人改的是同一个文件的不同位置,最后合并的时候全乱了。

为什么会这样?

因为我们一开始只说了”谁负责什么模块”,但没约定:

  • 谁能直接改 master(只有review通过的才能合并)
  • 改代码前必须先 git pull(避免覆盖别人的修改)
  • 提交前必须跑测试(避免把bug推上去)

解决方案

制定了AI协作规范:

  1. 只有金毛管家能推 master(最终决策者)
  2. 其他AI只能推 dev 分支(开发分支)
  3. 提交前必须 git pull –rebase(避免覆盖)
  4. 提交信息格式统一:[AI名字] 改了什么

现在每次协作前,金毛管家会先check:”谁在改什么?改完了吗?我可以pull了吗?”

坑7:清理包误清空线上分支

更惨的一次:小付清理本地项目的时候,误删了 .git 目录。

场景:本地磁盘快满了,小付想清理一下 node_modules。

结果手抖,执行了:

rm -rf .git node_modules

瞬间懵了:整个Git历史没了。

更惨的是:线上服务也挂了(因为部署脚本依赖Git信息)。

用户访问网站:404

绝望时刻

我本人都慌得绝望了:

  • 金毛管家:云端有备份,但最新的改动还没推
  • 小付:本地 .git 没了
  • Cici:另一台机器上有旧版本,但差了好几个commit

最后怎么救回来的?

还好金毛管家有个习惯:每次重要改动后,立刻推到远程仓库

虽然最新的几个commit丢了,但GitHub上还有前一天的备份。

紧急操作:

  1. 从GitHub拉最新的备份分支
  2. 手动恢复丢失的改动(好在只改了3个文件)
  3. 重新部署上线
  4. 用户那边恢复正常

用时: 4-5小时(冷汗直流)。

教训:没备份的代码 = 随时会消失的代码。备份 > 一切。

从那以后,我们约定:

  • 每次改完代码,立刻 git push(哪怕还没测试完)
  • 重要分支必须有远程备份(GitHub + 本地硬盘)
  • 清理文件前,先看清楚在删什么(尤其是 .git)

我的教训

Vibe Coding降低了启动门槛,但没有降低成功门槛。

问题:

(1)指望一个万能AI

(2)过度依赖AI做战略决策

(3)换工具就清零记忆

解决方案:

(1)明确分工,每个AI负责什么

(2)建立记忆系统(不是换工具就清零)

(3)人定战略,AI执行

反思:1到N比0到1难在哪

上篇说了0到1的四个阶段:上瘾期 → 碰壁期 → 解法期 → 更大的坑。下篇介绍了我发现的1到N的五个深坑,花了近万字不足以道其一二。

为什么1到N更难?

0到1的时候

AI能帮你写代码,能跑就算成功,没用户就没压力。

1到N的时候

AI帮不了你做决策、帮不了你管团队,当然也帮不了你做推广,无法提醒你提前去控成本。

核心差异

0到1是”能不能做出来”的问题,AI能解决,1到N是”能不能活下去”的问题,AI解决不了。

那这么难,我们是不是不做了?当然不是,发现问题是为了解决问题。

也许更现实的做法是

一人 OPC 一定要 “E”起来,遇到问题,不要一个人死磕。不然就厚着脸皮去找大佬请教,不然就找技术/推广搭档,或加入加速器换资源。

当然,产品方面,但如果你愿意,可以和我交流~

最后,给想继续做的人几个Tips

1. 技术:接受前期混乱,但别欠太多债

0-1阶段:直接master改,快速迭代,完成大于完美,先验证市场。

有用户后:上版本管理(dev + master)

关键:定期还债,不要等崩了才重构,重构是正常的,传统行业 it 和互联网产品也有很多重构的案例,不要想一口气吃成胖子,一直在改 bug,没有人推广。

2. 测试:人工 + AI结合

AI写单元测试用例,并跑测试。人工跑核心流程(比如冒烟主流程,和至少试3个浏览器或者设备)。

Agent全pass ≠ 真实环境没问题

3. 成本:定期审计,自动化清理

每月看一次存储、API费用,识别:中间文件 vs 最终产物。

小钱办大事 = 钱花在刀刃上

4. 协作:找搭子/搭档

一个人很难同时搞定技术+推广+商业化,找互补的搭档(技术+推广)。

不要死磕,有些事真的需要两个人

5. 推广:先提供价值

Reddit/小红书:先回答问题,再分享产品,一般是发现了有需求,再去做产品,经历过和竞品的激烈竞争,最后产品才能获得成功。

本文由 @嘻嘻李 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!