计算机界有句名言: 程序员是人类最后一个职业,因为他发明了AI。
近期,号称“世界上第一位完全自主运行的人工智能软件工程师”“可以根据一句指令,端到端地处理整个开发项目”——Devin被打假了,国外一名程序员录视频分析Devin并没有那么神奇,还会产生一些人类程序员根本不会犯的bug。
这让不少程序员松了口气,差点以为自己的饭碗要被抢了。
不过,如今的AI发展日新月异,这并非不可能的事情。随着大量AI编程工具的涌现,“程序员这个职业将来会被AI淘汰吗?”成为不少程序员担忧的事情。
有人提出淘汰是必然的事情,程序员的工作就是写代码,而这部分工作已经可以被大模型替换了。理由如下:
1.程序员的工作和外语翻译类似,本质上是把人的需求翻译给计算机能理解的语言。随着大语言模型能准确理解人的需求,就不需要程序员来做这道翻译了。
2.编程AI和翻译AI、围棋AI类似,面对的都是完整的决策依据信息和理论上存在的最优解。举个例子,围棋决策所需要的所有信息都在棋盘上,翻译所需要的所有信息都在原文里,编程所需要的所有信息也只限于用户的需求。同时存在理论上的最优解,围棋和翻译虽然可以有无数种套路,但的确存在理论上的最优解,只要不断试错不断学习,机器的水平就会不断提高最终超过人,这点在围棋和翻译上都已经实现了。
3.被AI编程淘汰了的程序员,无法被AI行业吸纳。这是因为AI需要的是训练而不是写程序,OPEN AI也就几百个员工而已,但是需要几万张工程显卡的算力。AI是训练出来的而不是敲代码敲出来的。
4.最后预测一下,以后这个行业只需要10%的程序员做审校即可,写程序和测试程序都可以绝大部分由AI完成,就和现在的翻译行业一样(先丢给机器翻译然后人再审校)。但是仍然需要人们了解一些编程逻辑、术语,毕竟完全不懂的话也不好给AI安排任务,需要的是既懂市场也懂一点技术的人,也就是说像产品经理这种岗位可能影响不会很大。从翻译行业的历史来看,我预测中国目前几百万的程序员会在10年内逐步减少到目前10%的人数。
网友“欲三更”认为这种比喻不算恰当,写代码不是程序员最重要的工作。
“程序员的工作确实有点像翻译,但不是把人类的需求翻译成代码,而是把现实世界中的需求,“雷羽。译”到抽象的“观念”世界中,形成一个抽象模型(专业数据叫建模),再把抽象模型翻译成代码(专业术语叫实现),最后经过编译器再次翻译,形成可执行程序。在上面这个链路中,核心不是写代码,而是建模,以及由模型指导的,对代码资产的反复维护”
网友“pansz”认为“程序员的工作绝大部分是在调试,查问题,定位问题改bug,小部分是在跟需求撕逼,跟其他组员定协议,讨论事情该不该做。至于写代码的时间?几乎没有留时间。”
真实研发进度是:
某项目A:立项前期讨论两个月,开发不到一个月,测试/修改需求/查问题/改bug/新版本迭代七个月。
十个月的工期,纯写代码时间真的不到10%。大部分时间得花在「究竟应该写什么代码」,「找到哪个代码需要改」,「定位现实问题出在代码什么地方」 ,「定位下一个需求增加在代码什么地方,以什么形式增加」,「与用户的交互如何设计,与其他模块如何交互」等等。
现实情况是如果你把那写代码时间缩短了。那写一个月的代码可能不是十个月工期的项目,而是需要二十个月的工期去维护,程序员反而要增加一个,而不是减少。
一线程序员几乎没有听说过觉得自己要被替代的。因为,可以被ai替代的那部分工作,现实中早就根本没有留时间给你做了。据说有部分公司将这些工作给外包做。如果说以后程序员会失业,可能是外包程序员。
但拥抱AI已经成为确定性事件,大家达成共识未来会诞生“新一代程序员”,即具有编程思维、懂得高效利用AI工具的人会成为主流。据统计,已经有超过120万开发人员使用了GitHub Copilot的技术预览版。如果 AI 可以替代人,那就意味着它替代了一种生产要素。这对于生产力的影响是巨大的,将释放更多的人类创造力,消灭旧岗位,创造新岗位,对大家的生活造成极大的影响。
事儿不会消失,消失的是落后的工具与落后的人。
END
【来源】:知乎https://www.zhihu.com/question/591764104/answer/3139440838返回搜狐,查看更多