Vibe Coding初体验:新世界的大门缓缓推开
目录
最近用Vibe Coding上瘾,把Cursor的一个月额度用10天就消耗光了,Codex也常常用完等五小时冷却,我发现现在的AI确实已经到了生产力水平上,可以真正开始替代人完成一些任务了,而且效率强得可怕,以前自己总是idea比较多,但行动比较慢,尤其是一想到要学习多门陌生的语言就头大,但有了这些Vibe Coding工具,我发现行动恰恰是门槛最低的,真正需要的是有想法,并且需要能够和AI一起共事去创造。
最近短短这十几天我做了这么几件事情:
- 做了一个截iOS长图的App
- 通过nodejs构建了一个基于notion笔记发文的站点
- 搭建了一个无痛背单词软件的框架
- 轻松修改和管理了自己的个人主页
这里面的语言贯穿了swift/nodejs/C++/html等,我甚至在不知不觉中意识到有些语言的语法我根本就不熟,但不妨碍我指挥着AI做事情。
以最近做的截iOS长图的App为例,说说我对Vibe Coding的初步感受。
1. 模型和模型之间能力差别还是挺大的
第一个比较重要的感受是,Cursor的模型Compose 2.5和Codex用的GPT 5.5还是挺不一样的,具体表现在:
- Compose更擅长页面、前端涉及的页面,但对算法问题有的时候比较无力,但GPT可以在Compose卡住的时候解决问题,模型能力上的区别可见一斑,但实话说Compose在大部分情况下还是够用的
- 对于同一个问题的处理方式,Cursor改动范围会比较大,经常动数十个文件,但GPT就会保守很多,定位到关键的文档再修改,这就会导致Cursor的改动经常会改出别的问题,但这种粗犷的做法其实很多时候也是创意和惊喜感的来源,比如它连帮助文档都会及时写好和更新
- 不同的模型对于技术选型可能不一样,因为模型的训练只是把这件事情做了,至于从什么路径到达,用什么方法到达,其实会很不一样,比如图片拼接这个事情,模型可以选择逐像素扫描的方式完成对齐和拼接,也能做但是速度特别慢(Cursor选的),而更好的技术选型是通过OpenCV的成熟算法来完成(GPT选的)。
2. 多模态的能力很重要,不具备的模型一定做不好coding
虽然是coding的工作,但模型的视觉能力或者说视觉只是还是挺重要的,这表现在:
- 首先,模型需要能够理解和知道用户描述的画面是什么,尤其是偏前端的任务,才能在编码环节呈现出来
- 其次,很多时候描述不清楚在手机上的表现的时候,最好的办法是截个图或者录个视频给模型(视频转成GIF),往往比说很多更准确和更有用
- 当然,模型如果具备视觉能力,还有个更懒人的用法,录个竞品的屏然后让AI复刻一下,亲测非常有效,录制个GIF会更直接
3. 虽然端到端生成很给力,但搭建debug、测试、中间环节输出来确认也是很重要
虽然模型能够自动完成一些事情,并且很多时候一气呵成做出一个像模像样的高保真品,但是中间有很多环节是不够细致的,需要让模型自己具备测试能力,能够自己测试出来中间环节的一些问题,同时把一些重要的中间数据输出,作为debug反馈,这样形成一套自闭环的系统,模型就不太容易改坏一些环节。有异常的时候也可以让模型直接输出日志,人工来判断。
4. 遇到问题,让模型自己一通试,不如自己理清思路让模型step by step查
在整个搭建App的过程中,我数次有个感觉人还是得带脑子和AI相处,很多时候AI都是对的,但是也容易进入死胡同,比如一些情况下怎么试都不对,往往会越改越混乱,这个时候让模型停下来,帮他梳理一下关键步骤,并让他step by step确认,往往是解决问题的关键,我觉得这像极了我们真实工作中的场景 —— 看团队成员一通乱忙但就是产出不好,得step by step帮助其梳理清楚,大概率活儿还是TA干,但这个梳理的清晰度是作为Leader的关键素质。
就拿我做的这个长截图的APP来说,模型怎么拼都拼不对,陷入了混乱,我让他一步步根据指引来检查并输出确认给我看:
- 第一步,截图拿到原始帧并记录每一帧相对上一帧的位移
- 第二步,筛选关键帧,从前到后扫描,把相对于上一帧位移<x的帧丢弃,并且更新后续帧的位移
- 将关键帧尝试用算法拼接,如果拼接成功,则计下接缝在各自图中的位置或者相对位移,否则按照容错处理
- 根据接缝的位置进行堆叠拼接,展示到画布中,同时加上拖动的UI组件,让用户可以方便的修改
- 点击右上角的导出,可以很方便地一键导出长图
这样一步步梳理后很快就进入了正轨,因此vibe coding已能自行处理绝大部分情况,但是该接管还是要接管,在监督和指导中推动效果往前走。
5. 深深的感受:人驾驭模型的能力会成为新的天花板
模型的能力越来越提升,总能卷到都能满足日常各种任务的程度,这个时候决定天花板的就不在模型能力上了,而是人驾驭模型的能力 —— 懂得用模型的人的产出可能是不懂的人的数百数千倍。
我觉得能够驾驭模型其实包括这么几件事情:
- 知道各种模型能力的长板和短板,并在合适的场景调用更合适的模型完成工作
- 对于关键环节、关键效果要有把控力,比如关键界面需要确认好设计再让模型复刻,别让模型自己发挥,再比如关键算法需要调研下确认是合适当下场景再让模型开工
- 知道怎么补模型的短板,比如当你发现模型开始搞不定一些重要环节的时候,但你有关于这个问题的知识,或者你知道哪个产品实现了类似的功能,或者哪怕只是去和最先进的模型探讨下问题的解法并发送给Vibe coding的模型,就可能启发它找到更合适的方法。
- 要尽可能把可控的部分交给模型去自动化完成,这样需要人工确认的环节会大大减少,人也不用一直钉在屏幕前,更加解放自己去思考一些重要的事情
- 传统软件工程的方法还是得有,但可以让模型自动化,比如必要的测试、甚至让模型自己造数据来测,再比如要做版本管理,方便任何时候回滚版本
我的整个探索过程一方面持续惊叹于现在模型能力竟然可以做这么多,也会对模型会犯一些比较傻的错误而吐槽,但整个过程还是惊讶于对代码工作效率的提升竟然如此之大,这真的是一个全新的时代,我们每个人都需要重新适应,以前是万事俱备只欠缺一个程序员,现在是只缺少一个靠谱的idea了,对于产品经理和独立创作者来说,这真的是最好的时代了。
展示下我用vibe coding做出来的截长图的软件界面(对这个demo图也是AI生成的,哎,人类啊要怎么办),我还需要点时间做下界面装修,争取尽快上架到App Store上。
