团队里越来越多的人开始 vibe coding ,但我还是比较反感的,主要原因如下:
1.会生成大量无意义代码。打个比方,它生成的代码就像一个初级开发,不知道从哪里 copy 来的高级代码。有时乍一看,真高端,仔细阅读,完全没起到作用,这啥玩意嘛。
2.难以理解。vibe coding 生成的代码量要远远大于常规开发,AI 阅读代码的速度是真的快,但一旦交给人去理解,往往要浪费很多时间。
3.最重要的一点,传播性强,像病毒。在一个没有 CodeReview 的项目中,原本屎山代码就算了,好歹代码简单,现在还塞了一堆你不认识的元素进去。项目一旦有人大量使用了,后来的人如果不用,维护起来十分困难。
vibe coding 主要有两个作用远胜于传统编码:1. 快速出 demo 、快速使用从未接触过的库; 2. 强大的静态检查。
除此之外,vibe coding 并没有解决编程的实际复杂度,它只能作为开发人员的一个工具,而是否能用好工具,与工具本身无关。
2.难以理解,可能你用的模型不够好,我现在 opus 生成的代码 跟现有项目的风格非常一致,连屎味都是一样的,本来就是一坨,能跑起来就谢天谢地
3.同上面一样,你的上下文管理肯定有问题,让 AI 干了一堆额外的活
我自己实际用起来感觉 AI 对项目的理解是不足的,就是你不知道什么时候他会给你莫名其妙的生成出来完全不可用,或者在某些情况下不可用的代码,而且几率不小。另外就是 code style 的不稳定性。AI 可以无视史山继续搬史,人类不一样,最终只能导致 vibe 出来的屎,还得让 AI 吞回去再生产新的屎,这是我不能接受的。
一般 vibe coding 出来的项目,我自己都不会手动改太多,全部让 AI 自己处理了
或者加一行注释让 AI 完成接下来的代码块
如果再稍微大一点,可以让 AI 完成一个很小的功能
总之就算古法编程,有 AI 也提速了很多
如果使用的好,质量和效率是要高于徒手。
当然,有人用锤子替代脑子实不可取。