跳转至

尝试从零开始上手玩Vibe Coding

前言:在 Agent 已经大行其道的年代,有一个“老年人”终于开始尝试 VibeCoding ……

在2025年11月,Open Claw推出。随着在26年上半年的出圈爆火,国内掀起了一场“养龙虾”热潮,一堆外行人凑热闹去体验Open Claw的自动工作流玩法。

当时在深圳腾讯大厦门口甚至还搞了免费的线下 “装龙虾” 活动,有近千人大排长队果然是外行凑热闹啊ㄟ( ▔, ▔ )ㄏ

而作为对生成式AI有一定了解的我,一眼就看出来你不是人:

正如Artificial Intelligence这个单词中的S代表Security(安全性)一样,让AI获得计算机系统的完全控制权限的安全性,基本全部取决于你调用的大模型什么时候想要抽风、以及什么时候选择抽风这两个重要条件。

而事实证明,一堆还没有了解AI大模型以及Open Claw工作原理,却盲目使用Open Claw的冤种用户,有不少都出现了被误删文件、自主操作购物软件导致误付款等情况。

于是继安装热潮后,又出现了一波卸载热潮我一时间居然不知道该如何形容这一切

在看完这一波大戏之后,我在很长一段时间内都对所谓的Claw、Agent热潮不为所动,依然仅仅使用大模型的仅对话功能(最多加上联网搜索Agent)。

很明显,科技在不断进步。在我还对这一切嗤之以鼻的时候,一切Agent工具都已经进行了多次的迭代改进。我身边懂些计算机的朋友也逐渐开始使用Agent进行Vibe Coding。

当然,他们也常劝我入坑试试,他们说,用AI来将自己想到、市面上却并没有成熟成品的小游戏落地,是一件很令人高兴的事情。

可惜我对这一切的热情依旧不高,一方面是我仍然对其抱有偏见,另一方面是我确实暂时没能想到我要用这些工具来干些什么。

不过接下来的真香流程,相信大家已经很熟悉了。

AI生图真好玩

本来我对这一切都不感兴趣,直到GPT-image-2的出现……

当然,严格上来说,AI生图并不算Agent,但这确实是我第一次去接触仅对话以外的AI功能,第一次见识到原来AI除了纯文本输出,还能把我们的自然语言转化为图片、亦或者是根据我们的自然语言修改给出的图片。

外加上image-2本身极强的业务能力(各个平台广为流传的各种AI娘化图已经证明了其实力),使用它进行图片生成的确是一件令人值得惊叹的事情。

在经历了image-2的洗礼后,我明显对仅对话以外的AI功能没有那么抵触了,开始逐渐接受这一切

第一次想起

正如我朋友所说的那样,我接触Vibe Coding的契机很简单。

我有屯物的习惯,总喜欢在宿舍里预先买好一堆消耗品,却永远记不全哪些消耗品快被用光。

这就创造出了一条需求:我需要一个简易的APP来便利地管理我手上的一切库存,最好是能够一眼看全哪些库存不足、哪些已经用完,需要加购的。

目前来看,直接使用数据库软件的话,在手机本地上部署并不方便,而其他简易的计分计数软件在使用起来也不方便,还需要手动找到自己消耗或新购入的物品并记录。

于是我就回忆起了朋友向我安利Vibe Coding的那句话:“用AI来将自己想到、市面上却并没有成熟成品的小游戏落地,是一件很令人高兴的事情。"

所以我决定,自己当甲方逼逼叨叨,让乙方大肥鱼动手,Vibe Coding一款符合自己想象的库存管理软件。

不过,作为对Vibe Coding完全没有接触的全新手,谨慎的我肯定不会跟着按寻思的内容来瞎干。

于是,我叫来了Gemini-3.8-Flash(那么有人就要问了:Gemini-3.5-Pro呢?)作为本次的对接。我将我的需求告诉它,它则来告诉我要如何选择和操作。不过话又说回来,让Gemini当对接确实舒服,小嘴跟抹了miss的

到底要选哪个呢?到底要选哪个呢?

虽然我身边的朋友喜欢用VS Code微软™大战代码+Codex插件来进行Vibe Coding,不过不熟悉这一切的我并没有直接选择沿用他们的方法。

我选择直接将需求告诉对接,让它来给我推荐

在把我自己的现状以及需求告诉了Gemini后,它给我推荐了好几个容易上手的Vibe Coding工具:

你要做的是“安卓库存管理软件”,这里有一个传统开发中的巨大痛点:

如果走传统的 Android Studio + Java/Kotlin 路线,光是配置 Gradle、Android SDK、模拟器等环境,就足以劝退 90% 的初学者。

为了实现真正的零门槛、零代码上手,为你量身定制以下两条最合适的路线:

路线方案 核心工具 为什么适合你? 适合阶段
首选推荐:极速原型法 Lovable.dev 或 Bolt.new 零环境配置:打开网页就能聊出原型[3][4]。• 移动端适配良好:让 AI 优先设计“移动端垂直屏幕布局”[7]。• 生成 APK 极快:做好后可以用 Capacitor 或在线打包工具,几分钟转为安卓安装包(.apk)。 当前第 1 步:今天就能看到成品效果
进阶推荐:全功能原生法 Cursor 或 Trae + Expo (React Native) Expo 允许你直接在安卓手机下载一个 Expo Go App。• 电脑上 Cursor 写完代码,手机扫码即可在真实手机上体验扫码出入库、离线存储等功能。 第 2 步:功能复杂时(如调用摄像头扫条形码)

在结合了我自己的需求以及Gemini的建议后,我决定使用Cursor+Expo来构建这个APP

于是,我向Gemini提出了这个软件的需求:

我希望使用Cursor+Deepseek V4.1 Flash来完成本次软件的开发。
我对想要开发的软件要求下:
1、拥有库存管理、日志、设置三大板块
2、库存管理作为首页,以双列形式列出目前仓库拥有的物品以及数量,点击产品可以进入产品的二级页面,手动添加或减少库存
3、库存管理页面拥有三个按钮,分别是“入库扫描”“出库扫描”以及“库存查询”
4、点击“入库扫描”按钮后,软件调用摄像头,扫描物品的条形码,并与拥有产品进行比对。若仓库内拥有该产品,则产品数量加一,并在下方弹出提示框提示用户添加成功;若无此产品,则在下方弹出提示框表示“无此商品,点击提示框可添加商品”,并在用户点击时弹出页面进行添加。扫描过程可以持续进行,直到用户退出此页面。
5、添加页面拥有两个交互框,第一个为扫描的条码内容,第二个为产品名称。条码内容为输入框,自动填充扫描到的条形码内容,可以点击输入更改或重新扫描。产品名称为复选框,点击可以下拉,显示目前拥有的产品,下拉框第一位为“新增产品”,点击后可以输入并新增品类(同个产品可以使用多个条形码);用户也可以直接在复选框输入文字,输入时自动搜索目前拥有的产品并显示在下方选择框中;若没有则只显示“新增产品”,点击后直接将目前输入的文本填充到新增品类弹窗中。
6、点击“出库扫描”按钮后,软件调用摄像头,扫描物品的条形码,并与拥有产品进行比对。若仓库内拥有该产品,则产品数量减一,并在下方弹出提示框提示用户添加成功;若无此产品,则在下方弹出提示框表示“无此商品,请重新扫描”。扫描过程可以持续进行,直到用户退出此页面。
7、点击“库存查询”按钮后,软件调用摄像头,扫描物品的条形码,并与拥有产品进行比对。若仓库内拥有该产品,则在屏幕中央弹出提示框,提示框显示产品名称、该产品所拥有的所有条形码以及库存,用户扫描的条形码将会被高亮提示;在弹出提示框时,软件暂停扫描。若无此产品,则在下方弹出提示框表示“无此商品,请重新扫描”。扫描过程可以持续进行,直到用户退出此页面。
8、在日志页面,则显示用户的入库、出库以及新增、删除产品记录以及对应的操作时间
9、在设置界面,则可以导入或导出库存数据库,数据库包含库存管理以及日志的所有内容。同时,导入或导出数据库的操作也应当记录到日志中。
现在,从下载软件以及配置环境开始,一步步教我开始操作

在Gemini的指导下,我下载好了Cursor,注册好账号后,将Gemini输出给Agent的Prompt复制到了Cursor客户端,使用Auto模型开始构建软件。

那么可能就有好奇的朋友要问了:为什么我不将需求直接发给Cursor内置的Grok让它直接根据需求跑,而是要跟Gemini说,再让它生成给Agent的提示词呢?

  • 其实原因很简单,就是我过于谨慎懒惰……

  • 将提示词发送给Gemini,一方面可以让它优化我的提示词,另一方面也可以让它继续指导我要如何操作软件。对于我这种一窍不通而且没有看过教程的人来说,会方便很多。

  • 另外,通过这种对接式的交互,如果软件出现了bug也能让Gemini对问题进行辅助定位,便于输出更加具有专业性的修改一件。

老马啊老马

不出意料,果然翻车了 /_ \

本来我是希望通过Cursor接入Deepseek的API,使用Deekseek-v4.1-Flash进行编程。但是由于Cursor被XAI收购后的商业化调整,现在如果不付费则无法使用第三方模型。而同时,Auto自带的额度也并不算充裕。

因此,在构建到一半时,我的免费额度就跑光了……

所以只能迅速转战Trae,使用Trae外接API进行工作。

好在字节在这方面还算有点良心,能够快速接入国内各家AI的API。于是就在这一刻,大肥鱼终于登场,开始接手这一个干到一半的工程。

终有成果

在经过一段时间后,大肥鱼终于完成了首个Demo

可以看到软件在设计上还是非常不错的,用起来也相当顺手

在经历了统一风格外加修各种各样的bug后,我终于将这款软件的基础功能完善,命名为Inven Go,并开源到了Github。

在发布后,我也在根据自己的需求以及以提升体验为目标,不断改进Inven Go的功能与体验。截至写稿,软件也已经迭代到了v1.3.1,我在日常使用起来也非常满意。

当然也欢迎大家来Github尝试一下这一个项目

写在最后

到了这里,我又不仅想起来我的朋友在我开发的过程中所问过的几个问题:

明明Codex在Vibe Coding方面更加优秀,我却偏偏选择了没那么好的Trae?

其实并不是我不想要使用Codex,而是对于我这个完全未曾接触过Vibe Coding环境、也不怎么接触软件开发的人来说,Trae这种实实在在开箱即用的软件确实在使用起来更方便。

在另一方面,我也是根据Gemini的推荐来选择的软件,本来其实更想用Cursor,只不过因为额度消耗完毕且无法接入第三方模型,因此才紧急切换到Trae。

未来,我也会尝试使用Codex客户端。不过这也是要等到我下一次有需求来进行Vibe Coding了。

软件名Inven Go的灵感来自哪里?

说到这个事情,就不得不感谢Expo了。

Expo在手机端的预览APP名称就叫Expo Go,相信大家都能看出来两者之间的关系。

其实,本身我是想以"Uni-"外加一个单音节词,创造为一个组合词,来作为软件名称的。但是思来想去都找不到一个合适的单词来填充。

"Inven"则是取自英语单词"Inventory"(库存)的缩写,但正是因为缩写Inven为双音节词,才让我在想到Inven Go这个方案前如此的头疼。

就在我为了找Uni后半部分的词焦头烂额时,Expo Go的名称恰好提醒了我:我可以将Inven这个双音节词放在前面,而放在后面的Go则刚好就是一个单音节词。

因此,Inven Go这个名称就这么出来了:Inven代表库存管理,Go代表移动端APP。这两者组合得太过完美以至于我一时间都没有再去思考其他可能性,就把方案敲定了。

不过现在再看回去,这个名称确实不差。

而再最后的最后,我再来谈谈这一次Vibe Coding的心得吧:

  • 首先,我发现,让一个前置AI对接,再生成给Agent的Prompt确实是一个非常好的做法。虽然在操作上比直接向Agent提出需求,拥有对接的时候,对接AI能够很好地考虑到你可能遗落的部分,还能在软件操作或者是bug排除上给出一些更专业的建议。确实是入门玩家的可考虑选择之一。

  • 其次,Vibe Coding过程中是真有可能需要多次统一风格的。很多时候,Agent并不能意识到这个软件其他页面的设计风格。因此,在新增或修改功能时,就有可能写出了一个与现有风格不同的界面。因此在写Prompt时,最好要告诉Agent应该参考哪些已有页面的设计,也可以在新增功能相同的页面时,让其直接复用相关页面。

  • 最后,不要让Agent死磕动画。因为它目前来说确实写不好各种动画,只要软件目前的动画没有明显的问题,就随他去吧

  • 哦还有,Vibe Coding确实好玩😋

参考

百度百科 - 智能体(人工智能领域中的概念)

腾讯云|开发者社区 - 全网爆火的 OpenClaw 上门安装,我也出手了!

腾讯网 - OpenClaw失控删光200+邮件!这次「受害者」竟是Meta AI安全总监:“根本拦不住,只能一路狂奔回去”