就跟玩游戏一样,偶尔玩一下会很想玩,但是天天玩,玩到吐以后兴趣就渐渐没了。
特别是上个月本身开了x20一个人用就很足,Tibo又疯狂重置,感觉被推着用一样,现在已经进入贤者时间,开始反思。
最早使用PLUS的时候,AI的代码我都会去审查一遍,哪怕只是看个大概,也能让我心中有数,知道哪个地方是干嘛的。
因为额度太富足,把之前的N多个项目都vibe一把梭了一遍,之前一大半的代码都是手写的项目,已经被vibe干得面目全非,这种失控感有点困扰我了。
纯vibe以后,出了问题都不知道从哪里开始看。GPT有过度开发的毛病,我的项目主要是golang写的,本来就主打简洁明了,但GPT经常过度抽象,包了一层又一层,看代码跟剥洋葱似的。如果我花时间去审代码,额度又用不完,所以就不断积累,后面干脆没法看了。
可能GPT看那种所谓“企业级”的项目看太多了,很多普通项目根本用不到的设计它疯狂堆叠。已经在全局提示词里写了不要过度开发,但是还是拦不住。因为“过度开发”其实是一个不太好量化的表述,每个人对“过度”的理解都不一样,AI也是如此。
上限?下限?失控?
AI发展很快,但给我的感觉是它的上限比下限发展快得多。
这就导致了2个问题:
- 即便最先进的模型,有时候还是会犯低级错误——失控的下限
- 上限太高,超过了我的能力——失控的上限
理想状态下,想把AI当作一个开发团队,我是产品经理,我想怎么指挥就怎么指挥,它们是打工人,我可以每天N个需求,我可以朝令夕改。
但是,这个团队一会很聪明,一会又很笨, 它的输出很随机,它的能力也很随机。
我要承认,AI现在能很容易写出来超过我水平的东西,但是它也经常犯一些低级错误,有些BUG人类可能一下子就改好了(但前提是人类得对这个项目很熟悉),AI改来改去,除了堆屎山,问题还留在那。
失控的下限
有时候我要担心AI可能写某些关键组件的时候降智了(也就是掉到下限去了)。某个功能可能几百行代码,但是AI为了修复某个小问题直接给干上去几千行代码,它只管最后能通过测试。
有时候就觉得,AI很擅长“添砖加瓦”(堆代码),但不擅长“涅槃重生”(重构)。它写出来的那一坨东西对我来说是一个黑箱子,一切测试都是黑盒测试,总会有覆盖不到的用例。我能想到的用例它都能给我干通过,但我仍然犯嘀咕,到底靠不靠谱。有时候出现这种情况:出现某个问题,GPT一直改不好,改来改去,问题还是没解决,但代码又膨胀了不少(就是所谓的“腐化”,写了一大堆但是没解决问题),有时候改好了新问题,旧问题又回归了,然后又是补一大堆测试,永远有覆盖不了的测试。
然后我只能逼着自己去读代码,此时发现项目已经不是曾经熟悉的那个样子,和挖掘屎山一样痛苦。
失控的上限
有时候,AI用了不知道从哪里学来的抽象或者算法,我没见过,虽然它“解决了”问题,但是我又看不懂,“超过了”我的水平。但是因为我看不懂,所以我也不知道它用的这个抽象或者算法有没有什么隐患、缺陷。我如果问它,它也会给我解释,但有时候解释了我也不理解或者要想很久才能理解。我此刻到底是“像小区大妈一样担心基站信号对身体有害”的无知者,还是“遇到上门推销保健品吹嘘神奇功效担心错过而买单”的无知者,前者是因为无知拒绝了好东西,后者是因为无知接受了坏东西,而我不知道我面前的这一坨我看不懂的东西到底是“基站”还是“白面保健品”。
如果经历了一大段没有审查的vibe coding,等我再去审代码的时候就已经很难跟上它了。
AI写的每一段未经过我审查的代码都成了我的技术债。
所以我现在认为如果一行代码不写,纯vibe,目前阶段,还是得人工审查,而且越晚审查越痛苦。最好还是一边让AI写,一边审,这样至少对项目有一个感知轮廓。如果AI用了我不熟悉的抽象、算法,我可以及时制止它,让它对齐我的思路,而不是写一段我很难看明白的“混沌”。
谁要负责
AI不会为项目的失败负责,商业项目大多都涉及到“钱”的问题,特别是还有支出的,就不是宕机、功能失效这种“大不了”让用户等一等的问题。有些账算错了,会酿成大祸。事实上我看论坛上纯vibe的佬友多少都还是停留在兴趣探索上。如果纯vibe开发一个电商系统,出现问题,用户可能支付1分钱就买走很贵的东西,甚至白嫖商品,货发出去就追不回来了;商户提现,把钱提走了就很难要回来了。任何一个bug就可能伴随极大的损失。都知道现在信息传播速度快,就像薅GPT,有一个人发现了漏洞,马上就爆炸式传播了,但ChatGPT如果被薅羊毛了,大不了封号就止损了,虚拟商品就好处理得多,损失也可控。
结论
如果只是玩玩、验证想法、快速原型,又或者是那种“大不了宕机功能失效就让用户等等”的项目,目前纯vibe coding,不审代码,是没问题的。
如果涉及到不可挽回的后果,比如实物交易、金钱转移、生命安全这类的事情,纯vibe不现实,AI不会为后果负责,就如同现在自动驾驶,只要AI不承担责任,这类事情永远不可能全盘交给AI。
在需要对后果负责的前提下,我最希望的是,让AI表现的能力和我自己匹配,它既不能太“笨”,“笨”到我血压升高,要我亲自为它擦屁股,也不能太“聪明”,“聪明”到做出来的东西我看不懂。它更适合做一个我的分身,我能做的事情,它能按照我的习惯给做出来。
某些懒还是不能偷,AI替代我写代码,但是我还是要负责验收,不要让AI的产物变成债务。
最后
我这个月没有续订x20,又退回了PLUS,如果不够我再考虑x5。以后每一次使用它,我都要经过深思熟虑。