对vibe coding的思考

时代变了,以前看到屎山代码肯定会怒喷半小时,但现在,这只是对生产力的一次解放。现在的编程,大家只是在做最核心的事情:定义需求。
再一点是,大多数软件产品,都达不到上线水平。绝大多数非专业者的要求,其实也就是一个可运行的Demo,能用的小板凳。

结论:价值的唯一衡量标准是是否解决了问题,而不是解决方案有多优雅。大概很多数学家会很排斥吧。

或许现在的人太浮躁功利,不愿意去看算法程序里那些的原理,但是这些优雅的算法和逻辑,才是我选择这一行的原因,我清楚的记得当时被它吸引时内心的兴奋和激动。抛开兴趣不谈,从前的编程是思维的流动,对自己代码的全盘掌控,把握每一句的边界。如今的编程是意境的渲染,对AI建议的顺势接纳,交出每一行的主导。现在感觉自己已经逐渐失去了写代码的能力😂,这也是趋势吧,ai帮忙干活确实爽。

这种浮躁也是行业筛选机制的一部分。大浪淘沙,这波ai浪潮过去之后,留下的会是两类人。一类是极少数真正的技术专家,他们驾驭ai,利用ai把系统的复杂度推向新的高度。另一类是大量的低端操作员,他们只是ai的挂件,随时可以被替换。

大语言模型,本质上是基于概率的文本生成,并且具有不可解释性。并不是真的懂逻辑,它只是预测下一个token出现的概率最高是什么。这意味着,它生成的代码,大概率是平庸的,是符合统计学规律的大路货(但是有一些小技巧,如测试时增强,相当于不断的迭代迫使ai去更新优化自己的答案)。它能解决90%的通用问题,但在处理那10%的关键、复杂、反直觉的业务逻辑时,它往往会给出似是而非的答案。

深入的看,上线的流行软件,淘宝微信等,都是非常复杂的综合体,即便ai强到可以写出这样的逻辑,说白了,没有足够的认知,也维护不了,把握不住。我坚持我的观点,认识它,有全局观,是未来的关键,而不是vibe之后脑子里空空如也,拿着ai输出的东西招摇撞骗。原因在于ai掩盖了复杂性,而不是消除了复杂性,离开了ai,甚至只要离开了网络,依旧什么都不知道。

这并不是说要古法编程,抵抗潮流,而是在利用ai提效的同时从中学习,去理解ai输出代码的边界与局限,让它去处理那些重复流程化的工作,我们去攻克那10%的核心问题。
就算如此,vibe的代码也需要人去负责,尤其在开源和实际生产项目中,vibe review是不可能的,毕竟拉屎的速度太快。vibe兴起之后,一些开源项目甚至出现了十万行的PR Link1 Link2

对于非程序员,ai的兴起无非是机遇,可以大胆的去实现自己的想法,当路径走通后再加大投入,吸引专业人士优化上线,可以说,ai提供了试错的最小成本。但作为产品的设计者,行业的服务者,我们不能用ai替代思考,天下没有完美安全没有bug的系统,当bug来袭,需要有解决问题独立思考的能力。

不可否认的是,大模型的发展比程序员发展快的多,仿佛看不到上限,大家也不知道ai模型都使用了哪些训练数据,或许以后这一行不复存在,或许会有新的机遇来临。不管如何,关注当下。

“把心沉下来,去质疑,去验证,去重构”

参考Link3

以上纯属个人观点,看个乐呵就好,继续ai coding