您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 业务知识 > 正文

ChatGPT-4 效果这么好,会让很多程序员失业吗?

发表于:2023-04-03 作者:梁唐 来源:Coder梁

封面是《底特律——变人》,我个人蛮喜欢的一部描述机器人ai的游戏。

这是我在知乎上看到的问题,短短几天就有了好几百回答。除了证明了现在ChatGPT顶流的地位之外,也反应了一些问题。普罗大众是有一些焦虑或者恐慌的因素在的。

其实不只是普罗大众,如果大家关注新闻的话,会发现美国那边已经有不小的声音呼吁关注ai带来的隐患,甚至叫停ChatGPT-5的训练。关于这件事情,其实在我意料之中。西方世界白左横行,一旦某些行业稍有起色之后,动辄就会扣上反垄断、人权调查、环保问题等帽子。我不是说这些不重要,只是发展才是硬道理,这些不应该排在发展的前面。

ai的影响力和热度这么大,没理由会是例外。当然这对中国来说是好事,叫停了最好,刚好给我们追赶的时间。扯远了,说回问题本身。

我个人是充值了ChatGPT-4 plus的,重度使用了好几天之后,已经没有最初那么惊艳了。尤其是最近恶补了一下大模型的相关原理知识之后,从原理上来看,大模型也是一个基于概率统计的模型。本质上模型学习的目标是根据输入的文本,生成概率最大效果最好的答案文本。这也是为什么ChatGPT3.5版本的时候经常一本正经地胡说八道的原因,我们看起来胡说八道的回答,在ai看来恰恰是概率最大的结果,比如经典的父母婚礼问题。

图片

写代码也是一样,ChatGPT的代码也是基于同样的逻辑生成的。它具有一定程度的理解和编辑代码的能力,但由于它没有真正经过实际的编程工作,所以很多时候的回答有一点臆测的成分,特别是一些比较小众没有现成答案的问题。我之前在基于ChatGPT api开发工具的时候,就经常遇到给出来的代码似是而非,像是那么回事又有一些问题。

那如果ChatGPT继续迭代,效果更进一步,那么它能代替工程师吗?我们做一个乐观的假设,假设GPT-4在各个写代码的领域都有2-3年经验工程师的平均水平。那么,它能替代程序员吗?

如果我们只是看一下ai相关的演示,那么会有担心和焦虑是正常的。我自己有的时候也会想,要是ChatGPT代码写得更溜一点,能不能替代我?但转眼一看,第二天有个复盘会,瞬间又安心了。ChatGPT能写代码,它还能去和老板汇报吗?

所以答案是肯定的,不行。

相信只要是有过一些实际开发经验的小伙伴应该都比较清楚,程序开发工作并不是就写代码而已。别说写代码了,就算是写一篇媒体文章,哪家媒体公司也不敢让GPT来写文章然后不经审核就发出去吧?哪个编辑敢这么干,估计职业生涯就到头了。

写代码也是一样的,并不是代码写出来放在那里就完事了。开发之前要开需求评审会,了解复盘需求的具体内容以及各种细节,确保理解到位。开发过程当中还要和上下游其他协作方开进度会,商量制定api接口、数据等各种规范,以及协调各方进度。开发完成之后,还要联调测试,保证上下游整个链路通常顺利。测试完成之后,还要再拉上产品经理以及需求提出方review,保证产出结果符合要求,最后才是发布上线。

尤其是一些大公司,不说代码,整个开发流程就条条框框各种规范搞得非常复杂。尤其是上线这种影响巨大的事情,还需要层层审批,很多时候遇到各种问题被block住,肯定还是需要人去沟通协调的。

一个工程师完成一个需求,真正用来写代码的时间可能就20%。剩下大部分的时间都在开会和测试、debug等。换句话说和电脑、代码打交道的时间并不多,大部分时间还是和人打交道。毕竟代码写出来都是给人用的,没有人用的代码写得再漂亮也没有价值。

其次,虽然GPT-4的上下文理解能力以及代码能力都很不错,甚至某些情况下达到了优秀工程师的水平,也是没办法代替人类的,哪怕是一些所谓最基础的增删改查工程师。

道理也很简单,因为在实际的项目和开发当中,存在大量的背景信息。说人话就是修修补补的各种补丁和坑都太多了,也就是我们常说的口口相传的情况。其实口口相传的都是一些开发过程当中的关键信息,这些信息非常复杂,文档里也没有,有些也很难用文档描述(比如某个需求是老板提的,某个糟糕的设计是老板亲自做的)。全靠工程师人传人和日积月累地踩坑积累经验,新入职的人类高级工程师尚且需要一两个月的时间逐渐熟悉,更别提GPT了。

难道每次有需求都让老板写一篇鸿篇巨制把项目中的坑点以及历史遗留问题等等都写成文档丢给GPT吗?且不说对于一些复杂的项目来说,这些文档的篇幅有多大。哪怕真的写出来了,GPT没理解对写的代码有问题怎么办?再反复和GPT沟通让它去改,不又得花时间吗?老板一天别的事情不干就和GPT聊天了是吧……

老板肯定说有这功夫和GPT扯皮让它修改,我自己写早写完了。

最后简单分享一下我个人的理解,GPT-4能够写代码和回答一些问题,其实是一个非常强大有效的工具。工具诞生的意义是提高生产力,解放人类劳动,让人类有精力投入到其他更高层次的工作当中去而不是单纯地替代人类。简单来说,使用GPT可以提升程序员编码的效率,同样的人可以做更多的工作。

表面上看,因为效率的提升,似乎会有一批人因此失业。但这有一个前提就是需求是恒定的,但实际当中并不是如此,科技的发展并不只是淘汰老旧生产力而已,它可以降低使用成本,一些从前做不了或者很贵的事情现在变得廉价了,那么很有可能因此挖掘出新的需求,带来新的产业和机会。

只有马车的时代,只有极少数人能出远门。汽车的普及虽然看似淘汰了马车司机,但也让更多人愿意出远门,直接引爆了出行的需求。由此围绕着汽车出行带动了石油、酒店、公路等一系列产业链,从而诞生了更多的就业岗位。这也是为什么工业革命以来农民的占比在迅速走低的原因,因为生产力提升了,20%的农民就足够满足所有人吃饭的需求了,其他人就可以去做一些更高价值的工作了。

从这个角度来说,GPT更像是新时代的汽车,它卸下了马车上的重担,也因此让人类能走得更远。