我喜欢造东西:这让我开心。学习和发现紧随其后,但造东西带来的满足感更强。

因为我不太擅长真正造出实体物件,所以对我来说,“造”的快感大多来自写软件。软件是从虚无中造出有用之物最容易的方式之一。

打开网易新闻 查看精彩图片

很长一段时间以来,我在某种程度上一直知道造东西给我带来多少快乐。但真正让我意识到这一点,是在最近两个业余软件项目上。它们都是我用 Python 拼凑的简陋小爬虫,做了我很久以来就想要的有用的事。它们很基础,却给了我极大的非理性快乐。那是我多年来编程最开心的一段时间。

然后,AI 来了。

和几乎所有人一样,我一直在谨慎尝试 AI 辅助编程。我们已经过了可以轻易把 AI 斥为“愚蠢”(虽然它确实愚蠢)或“并不能真正提升我的效率”的阶段。所以,以经典的“堡垒与外堡”策略,我在撤退,同时假装没退:AI 编程没那么好玩了。

这似乎反直觉,因为 vibecoding 一开始绝对刺激。

重构 vibecoded 的软件?不刺激。

我不会像有些人那样声称 vibecoding 不能带来真正造出东西的快感。因为它确实能,部分能。

我认为,推动 vibecoding 普及的原因之一,是它把乐趣前置了,无论对项目还是对职业都是如此。

如果我有一个想法,我通常能很快做出一个能跑的原型,几乎不费什么力气。即时多巴胺!

同样,没有编程经验的人也能“写”出一个应用,而且大概率能跑。即时多巴胺!

我个人反对把乐趣前置。所以我不喜欢这样,就像我不喜欢拿没干活的钱、不喜欢负债、不喜欢今天别人替我干活明天我替别人干活这种安排。

我提出,造东西时的刺激和满足感有几个不同来源:

vibecoding 大体上能给你其中一部分,但另外几部分并不是 vibecoding 的自然结果。

为 vibecoding 做点微弱的辩护:

我能,也确实用 AI 造出了一些东西,有些是我本来永远造不出来、或者永远不会去造的。多数情况是:手工花几周不值得,但如果几分钟或几天能做完,就值得。

我一次性做出了一个“这个链接是否已经提交过 Hacker News”的书签工具,基于 Taylor Troesh 的 Discuss on HN 代码片段。它解决了我的问题,我经常在 Wallabag 收藏页上用,带来了明显的满足感。

在很少的时间里,我 vibecode 出一个叫“Party Market”的预测市场模拟派对游戏,配合一场关于预测市场的快闪讲座,并在讲座现场实时跑了一个“我会啰嗦多久”的市场。它把一场干巴巴的讲座变成了 A 级娱乐。代码是垃圾,bug 一堆,但用同样时间手工写,我根本做不到。这不是“用 AI 做还是手工做”的选择,而是“用 AI 做还是干脆不做”的选择。

我认识的一位消防队长准备花太多钱买一台“AI 设备”,那设备甚至没说用哪张 Nvidia 卡、哪代 Xeon。我用免费版 Lumo,两个下午 vibecode 出一个基于 Pyronear 的野火预警系统,在笔记本上实时跑直播画面,能在我喂进去的点火画面里检测到第一帧烟雾。

我还做了一个基于浏览器的 Kobo 数据库迁移助手,让不熟悉 SQLite 的人能把书和标注迁到新设备。

一次声乐课取消后,我做出了自己一直想要、也计划了大约十年的实时音准训练应用。

这些案例里,我对结果大多非常满意,但过程不像写那些小爬虫那么好玩。当然,手写软件开发也不总是好玩。我第一个 Golang 项目,在很长一段时间里,还带着截止日期,绝对不好玩。我第一次试着写大约二十行 Rust 代码时和 Rust 编译器搏斗,也不好玩。但长期来看,那是第二类乐趣,因为它给了我成就感,和那种光荣的“我做到了!”的感觉(而且下次会更容易)。

我试过各种方式:本地模型跑在 llama-server 上,从免费免注册服务(Phind、Lumo 等)里复制粘贴做一次性脚本,到全套远程服务器“Clod Masterpiece 200™”自助餐套餐,还写了自定义自动批准钩子,危险程度接近 --dangerously-skip-permissions,用来开发算法交易模型。

结果都一样:产出是“高效”的,但我不喜欢那种感觉,也不喜欢产出的质量。它让我觉得自己又蠢又多余(有时甚至因为用了它而觉得脏),却始终没能赢得我的尊重。

“多巴胺”这个词让我想到:vibecoding 有点像一连串初次约会或一夜情。你不会和项目建立关系:得不到那种温暖、依恋和联结。只靠多巴胺的生活,问题在于刺激会随着重复而变钝。

另一种看法是:vibecoding 在你和现实之间加了一层。我是那种相信现实亲身体验起来更有趣的人。

vibecoding 就像当一家大公司的高管,公司却几乎不受你控制。你永远不觉得真正知道发生了什么,还总怀疑有人在 sabotage、在摸鱼。东西看起来是成型了,但和你想象的不太一样。