「🍉 西瓜备份」的 VibeCoding 心得

16 阅读5分钟

什么是 🍉 西瓜备份?

🍉 西瓜备份是一个能够帮助用户原汁原味地将 iPhone 里的照片和视频备份以及还原的一个 App。

不管是 Live 图合适用户的编辑图片历史,通通都能保存,用户可以选择将自己的照片视频导出到 SMB、WebDAV、SFTP、S3兼容桶、外接硬盘/U盘。

整个 App 主打开源,避免用户担心数据安全。

GitHub 地址:github.com/zizicici/Wa…

主站:watermelonbackup.com

App Store 地址:apps.apple.com/cn/app/id67…

现在商店图大概是这样的:

ph-wm-2.png

整个项目的开发情况

可以说基本上整个项目基本上 99% 的代码都是 Codex CLI/Desktop 和 Claude Code CLI 两家来实施的。

运用到的模型包含 Codex 5.3、GPT 5.4/5.5/5.6、Sonnet 4.6、Opus 4.6/4.7/4.8、Fable 5、GLM 5.1/5.2 等等。

从 2/25 - 3/5,这一周是用 Codex 5.3 做出来的。这时候也是 OpenAI 说 Codex 免费使用的时候。

那时候其实做出来的效果,我觉得画面上相当丑。但是功能上已经足够自己使用了。

3/7 开始,我开了 Claude 的 20x 的账户。开始全面折腾一个叫做 Doufu 的 AI 相关的项目,然后做了一个最终没放弃的 App,到了 4 月。

等到 4/6,看一个月前做的两个项目,Doufu 反应远低预期,后一个根本没做出来,但是这两个项目让我觉得对于 AI 的掌控力显著增强,所以决定开始啃西瓜。

于是我就吭哧吭哧,吭哧到 4/21,做了大半个月,终于发了 1.0.0。

然后就进入到根据用户反馈增加功能,到了 5/8 的时候,版本号已经迭代到 1.4.0(发布之后第10个版本)。

这时候有几个我觉得经过一个月迭代之后,有几个功能开始萦绕在脑海中:

  1. 对分散在不同月份的数据库挪到一起
  2. 最好可以支持多端同时上传
  3. 加密功能

所以我开始进行 V2 的代码实施。

我此前甚至希望 S3 的支持可以和上面这三点需求一起交付,但是用户催得紧,让 Claude 连续 “Design<->Review” Plan,结果我发现很多东西很难在实施之前就给出一个非常准确的 Plan,如果一味避免写代码,那么最终你的 Plan 就是另外一套代码。这个尝试花了我差不多两天,但是教训不够深刻,才有了灾难的 V2 开发。

因为这一次已经比上一次少了一个 S3 支持了,怎么想都要简单不少吧。

最终我开始走进这个焦油坑。

因为 V2 需要进行一次数据库迁移,将 sqlite 文件转化为增量 jsonl + snapshot 的机制,还涉及到大量的类似 GC 之类的设计,我在开发过程中发现加密实在是加不进来,因为现有的数据库迁移设计就已经够呛了。

随便一 Code Review,就是一堆 P1 的问题,于是我就让 AI 自己改。一个 AI 不行,就上多个 Sub Agent,一家不行我就上两家,一轮不行那我就循环。

最终我整出了一个 Workflow。

各种 P1 P2 的问题一直不收敛,那我就进行专门的 Loop 来进行架构调整,从 5/10 开始的工程一直做到 6/7。终于再经过 11 轮的 Bug 调整和 7 轮的架构调整,每轮都是内部有n轮专门的编排、Plan、Review、Fix、Check Agent 工作,终于查不出 Bug 了。

每走一轮差不多就要一整天烧在里面,GPT 5.5 和 Opus 4.7 全都用上去了。

我终于开始测试了。等到正式测试的时候,才意识到做出来的这套有多糟糕。

它的逻辑是完备的,各方面严丝合缝,然后运行起来效率极低。写一个文件要发好几次请求,GC 不处理加载时灾难。根本不可用。

而这一个月里,我只是发了 2 个版本。(虽然其他 App 也有发版本,但是主要工作精力都在西瓜🍉上)

投入了一个月,全白费了。

怎么办?

只能白费呗。6/8 开始做一个减配版本,不再追寻多用户可以同时读写了,只要有个锁禁止多用户写入就行了。

减配版本基本上只做到第一点,对分散在不同月份的数据库挪到一起,加上必要的数据库迁移工作。

不过之前那套 Workflow 算是保存下来了。

6/20 左右就开发完了。

我再也不乱开发了。

几点 AI Coding 心得

  1. 一定要能抵御住 AI 很强大,然后在功能上乱堆叠,能做和应该做是两回事。还是在做产品,要避免追求一个完美的产品。
  2. POC 验证的时候,还是要多思考,其实不做有些时候比做要有价值。
  3. 大功能不能为了避免中途脏数据而减少中途验收,要不然 V2 也不至于做了一整个月。
  4. SDD 我觉得也不太靠谱,复杂度很多时候是转移不了的,AI 编程带来的更多是一种搭建速度、能力范围和验收标准的改变。软件工程还是工程。
  5. 几百刀能带用几万刀 Token,然后赚几刀这件事情,感觉泡沫满满,大家要买 Token 早买。