最近各种自媒体都在叛卖gpt职业焦虑,连程序圈子也不能幸免。甚至有正准备入行的同学私信我到底计算机还能不能学,研究生还能不能读。
我985硕毕业,呆过大厂和小厂,现工作5年的程序员, 抛开那些胡吹海谈的软文,想和大家深入聊聊chatgpt和程序员这个话题。
如果你正想入行或已经是程序,也在遭受各种gpt的焦虑攻击,请耐心看完,可能会对你有一些启发。
gpt有点类似于几年前我们就在谈的自然语言编程,视角还要再高出一个层次,它极大地降低了编码的门槛,解放了程序员很多时候的重复低级劳动。
早在十年前,机器学习发展到深度神经网络时,就发现了模型加深加大会出现能力的跃迁,只是到了大语言模型,这种参数量级的提升竟然会涌现如此惊人的效果,可能openai自己在做技术验证时都没想到会这么惊艳, 还真是印证了从量变到质变这句真理。
chatgpt模型在范式上并没有太大的突破,transformer是几年前的论文,但是从gpt3开始,其他公司点歪了科技树,国内公司还在微调bert时 (包括出transformer的google都选择继续bert), 只有openai眼光长远,坚持了gpt的方向,并在加大模型的同时解决了很多工程化的问题,实践出来一条可行的路。
但是工程化是一件很伟大的事情,原理在那,能做成什么程度就不一定了,其他大公司即时是头部玩家也不一定能让自己的gpt涌现类似于chatGPT的能力。 可以预见,今后有能力的大公司会以LLM as service的方式运营,而其他中小公司会通过api接入。
因为这东西烧钱,有openai在前面,其他小公司玩不起也没有必要,做AI research的会减少,AI应用的会变多, 而应用的门槛也会逐渐降低,比如现在基于prompt的AI绘画再过一段时间,会发展成自然语言描述为主的AI绘画。
所以,AIGC的普及是必然的,编程的门槛降低也是必然的。
这一次可能真的是场技术革命,站在历史的拐点,先放下软件工程师的脸面,想想我们和ai真正的壁垒在哪?
首先,单纯写代码的技术力不再是壁垒,毫无疑问随着gpt的发展,其技术力会逐步赶超初中级水平的程序员,就像6个月前你也不会相信gpt4编程能力能达到这种水平,但也像很多人说的那样,只有业内人才知道程序员每天不止是在写代码,真正写代码的时间只是占用了很少部分。
所以,可能我们和ai真正的壁垒在这些方面:
1.程序员之间真正的差距是debug问题的能力
不论是分析需求还是debug代码,从我对身边大佬的观察来看,从初级到中级,中级到高级都会存在这种差距。
同时这一点也是程序员可能永远无法被AI替代的点,只要是生成式的AI算法就注定不能百分百保证写出来的代码是没有bug的。
目前我自己的使用体验来看,gpt输出简单的通用性代码大部分都能对,但是仍然有很多低级bug都不能排查出来,尤其遇到框架或API版本兼容性问题时它就懵了。
它可能会逐步提高输出通用代码的正确率,但是最终将模块组合成复杂业务又会诞生成百上千的bug,程序员会从debug一堆人写的shit code转为debug gpt写的shit code。
从这点来说,gpt是解放了部分程序员的开发工作,转向维护和调试,而调试和扯皮现在就已经占了程序员80%的工作时间,gpt会节省剩下的20%写代码的时间。
2.将产品需求转化为软件架构,模块设计,代码实现,再到上线维护不是个一次性的过程
除了debug代码,程序员另一部分时间是花在对接需求上,可能是直接和甲方,也可能是和产品经理。
与需求方沟通(扯皮)需要耗费大量的精力和时间,很多时候需求方疯狂地改需求是因为他们并不清楚自己的需求,或者一开始就没想清楚自己的需求。
设想,如果需求方能通过自然语言完全地,一次性地讲清楚自己的需求,并通过gpt实现,那程序员的代码也基本写完了。
只要产品是由人提出需求和为人的需要而设计的,那么改需求的这个问题就会一直存在。 不仅需求方很难讲清楚需求,gpt也很难理解人的各种奇葩需求。
3.对复杂业务的深入理解需要多年的沉淀
接上一点,gpt也难以理解复杂的业务逻辑,AIGC的路就不是为特定业务需求服务的, 特定行业的业务需要特定的业务数据训练,而有些行业有自己的特殊壁垒。比如军工单位的保密性质,是不可能把自己的关键数据上传给gpt平台公司去训练的,gpt只会用于通用code的生成而不是复杂业务逻辑的生成。
换句话说,程序员之前google或clone github轮子的时间以后交给了gpt,而专心聚焦于轮子之外的业务逻辑上。
所以,不要再仅仅追求技术上的谈资,业务上的深度可能更重要。
有gpt这样永远不嫌你烦的老师,上手一个新的框架是非常快的,但是在一个领域深入业务却需要很多年的积累。
最后我想问程序员朋友一个问题:你觉得作为程序员相比其他群体的优点是什么?会写代码?会扯皮?还是觉得比其它人要聪明?自然都不是,我觉得是:这个圈子普遍存在的强大的学习力。
软件领域经过了那么多的技术更新和爆炸,我们也一直在学,到了AI时代这一点没有太大改变。
保持一颗学习的心,打不过就加入,不管做什么都不会被甩太远。
综上,个人认为程序员是一个不可能被完全替代的群体,但是gpt带来效率上的提升必然会打破程序员的技术壁垒,压榨平均薪资,减少低级劳动力的需求。这种影响任何一个行业都无法避免。
如果有一天脑力劳动真被替代完了,大不了你扫街我种地,他开挖掘机,我们都有光明的未来。