程序员会消失吗?这些互联网巨头怎么想?
那些为了开发大模型而日夜操劳的人们,难道会被大模型推翻吗?
“基本上可以说,未来将不再有程序员这个职业。”百度董事长李彦宏不久前在一档电视节目中做出了大胆预测。
同样, CEO黄仁勋最近在公开场合再次提到了“编程的无用性”。“你只需要看看所有使用人工智能的人,所有的孩子都在用它(人工智能)做着令人惊奇的事情。”
360董事长周鸿祎对此表示不认同。他迅速反驳,并预言未来十年程序员热潮不会消退。“虽然未来每个人都会用电脑,但所谓人人都是程序员,不同的人用电脑创造出的产品完全不同。AI时代更需要电脑专家、程序员,他们可能是各个行业最有影响力的人。”
就在业界热议之时,3月12日晚,大洋彼岸的一家创业公司发布了首款AI软件工程师Devin,目前尚未公开测试,但据官方介绍,它只需要一个命令,就能端到端处理整个开发项目。
随着人工智能的加速发展,或许有一天它真的会取代程序员?
第一财经记者采访了多位美国和中国的程序员,他们普遍表示,虽然对未来有危机感,但目前还不强烈。有程序员认为,目前体验到的人工智能还远远不能解决复杂问题,他们更多地把人工智能看作是一个高效的“搜索引擎”。
“AI现在还没达到那个程度,等百度不再招程序员的时候,或许AI就能取代他们了。”一家大型公司程序员徐天对第一财经记者表示。
程序员杀死程序员
李彦宏的观点并非毫无根据,用AI生成代码已经在百度的工作流程中得到应用。他在去年11月的一次公开场合透露,目前百度20%的代码都是由AI完成的,而且这个比例还在不断增加。
黄仁勋还从技术演进的角度给出了进一步解释:未来10年,将把深度学习的算力再提升100万倍,让AI计算机不断训练、推理、学习、应用,持续改进,未来将超级AI变成现实。
自推出以来,人工智能可以为人类程序员提供什么帮助?
多位程序员告诉第一财经记者,以前都是借助谷歌等搜索引擎找解决方案,但问到GPT3.5或者GPT-4时,一分钟内就能得到答案,而且很多答案的质量比搜索引擎还要好。大模型自推出以来,就开始取代人工检索。
作为一家大公司的程序员,徐天每天都在使用AI。“写代码的时候会用到很多库,有时候会忘记一些库,可能懒得去搜索。所以我先用自然语言跟AI对话,然后从它的结果里找出一些关键词去搜索引擎上搜索,这样比较省力。”他解释道,用比较朴素的语言描述去问搜索引擎,可能得不到任何结果,但大模型已经可以做到。
拥有八年从业经验的游戏程序员郑佳每周也会使用人工智能数次,他将其视为一种可以提高效率的新型搜索工具。
“比如我有一个功能用到了算法,需要把公式写成代码,我不想自己推导、查,直接让AI来算就可以了,这样就节省了很多时间。”郑佳解释道,搜索可能效率会低一些,而且这个功能可能没有线上可用,因为做的人少,但问AI就能直接得到最优解,效率大大提升。
“在知识型问题上,GPT-4有很好的上下文理解能力,可以提出连续的问题,而不用反复用搜索引擎搜索。引擎里的函数实现也可以直接扔给GPT-4,GPT-4能大致理解并给出意见,数学运算也能给出精准的解释。”周文涛告诉记者,自己是一名游戏开发者,自去年大模型上线以来,就经常使用大模型来辅助工作,不断测试大模型在解决代码问题上能做到的极限。
周文涛表示,GPT 还是可以辅助方案设计,但无法解决技术细节的问题。方案设计需要和各方要求对接,GPT 无法介入这一部分。长文本理解也存在问题,一个项目的代码库可以达到几百万行,新发布的 3 个模型支持 100 万个 token 上下文输入,如果长文本理解能力不足,就意味着 AI 无法完全提供适合项目的代码。
“一个程序员从上到下的工作包括业务需求分析、架构设计、功能开发、测试、性能优化、安全等。现在在功能开发和测试上都能看到AI的影子,主要起到辅助作用。在性能优化方面,很多大模型输出的代码都得到了优化。”陈思告诉记者。
陈思就职于国内一家领先的互联网公司,他的工作包括研究大模型的应用。过去六年,他一直在研究如何将AI功能融入产品,现在则专注于大模型的应用。“也许未来有一天,大模型能够看懂整个项目的代码。”
他认为大模型所展现出的认知能力水平已经可以协助程序员、文案人员完成很多工作,比如编写前端UI甚至项目框架,广告文案素材也能生成吸引人的图片。
但目前AI在编写底层代码方面发展空间十分有限,曾在硅谷工作多年的程序员杰森在接受第一财经采访时表示,自己负责的是底层算法代码,AI代码几乎无法对他的工作提供辅助。
Jason 认为,相比 AI,人类更能检查代码的结果。例如,在排查代码错误时,自己编写的代码往往能更快定位问题,而试图理解和修复 AI 生成的代码中的问题往往是一件令人头疼的事情。此外,他对使用大型 AI 模型编写代码持谨慎态度,也是出于对安全因素的担忧。在借助第三方大型模型编写代码时,他担心公司的商业机密可能会被意外泄露。不过,他仍相信,从长远来看,程序员这个职业确实可能因 AI 而消失。
吴玉富,凡世通控股董事长、风险投资家
火石控股董事长、风险投资家吴玉富也在思考程序员职能的变化,他曾投资或孵化过一些互联网、游戏团队,也做过游戏制作人。
他给记者举了一个例子,在游戏开发技术团队中,程序员有三个等级,初级程序员会负责编写游戏中的活动、宠物系统等小系统,很多代码已经可以由AI生成,部分低级程序员会被替代。中级程序员会编写战斗系统、商业系统、核心玩法等,这些工作难度较大,AI暂时还做不到。高级程序员则是对核心引擎进行优化,提高游戏运行效率,比如当游戏同服超过2万人时,如何优化运行,程序员有时还要通过汇编语言来优化内存。AI很难替代程序员去优化内存、优化引擎和代码。
“程序员要能利用AI快速辅助写代码,形成自己的工作流程,把精力放在更高层次的编码上,这是程序员的必经之路。如果做不到这一点,公司就会聘请符合条件的程序员来替代他们。”吴毓富说,就像20年前,会开车的人不多,司机比较稀缺,现在会开车的人越来越多,市场需要职业司机。“未来市场需要程序员去完成更难的代码。”
无法取代人类同事
如果我们将AI想象成可以替代人类程序员的同事,那么郑嘉、徐天等程序员认为,目前的AI还远远不够称职。
比如,持相反观点的周鸿祎认为,自然语言无法提供精准的描述。他举例说,“我们之间交流的时候,比如产品经理跟程序员讲一个需求,程序员跟工程师讲一个想法,或者老板给公司CTO布置一个任务,语言上经常会出现误解,理解差别很大,做出来的不是想要的。”
他认为,当人们真正想要准确地与计算机打交道,准确地描述要做什么时,最准确的语言可能是严格的符号语言。这也意味着懂得如何编程的程序员同样重要。
郑嘉对此表示认同,“如果你把自己的想法传达给人类,人类可能都不知道你心里想要什么,更何况是机器呢?”他表示,如果你问AI一个公式,或者一个理性的问题,它或许能给出一个最优解,但对于非确定性问题,AI未必能给出你想要的,很可能给出完全不一样的结果。
“比如做游戏,你需要写代码来演示游戏怎么玩,有些部分需要给玩家不一样的感受,需要通过代码来触发一些东西,让整个游戏在视觉和听觉上都给人一种惊喜的感觉,AI是无法理解你想表达什么的。”郑佳认为,目前的AI还不能完全取代编程,尤其是编程大部分是和业务紧密结合的,AI是无法理解的。
退一步来说,即便策划能够理解游戏视觉、听觉或者玩法上的一些创新,但让AI去执行这些创新却并不容易。
徐天泽认为,大模型虽然对AI编程有帮助,但距离解决复杂问题还有很长的路要走。
“这就像盖房子,不能光用锤子敲,必须先想好怎么建,然后想清楚第一步要建什么,第二步要建什么,怎么建才不会倒,要花多长时间,然后才能一步一步敲。”
徐天说,如果直接让AI去做一个比较通用的任务,距离能做到大概还有很长的路要走。但如果已经有了非常清晰的思路和步骤,可以尝试一步步翻译给AI,也许可以像玩积木一样慢慢搭建起来。“前提是你有需求,把问题分解成非常小的细节,其次你需要考虑如何把每个步骤表达给AI,让它听得懂。”搭建起来的过程其实需要程序员本身具备一定的能力,最终还是人来评判AI的答案是否准确。AI只不过成为解决问题的工具而已。
在他看来,现在用人工智能的人虽然很多,但善于用的人却不多,现阶段“我感觉对大多数人来说,它更多的还是一个新奇的东西,甚至更像是一个玩具。”
程序员这个职业未来会消失吗?
虽然不能解决复杂问题,但人工智能能取代一些做基础编程的程序员吗?在被记者问到这个问题时,郑嘉说,“不用担心,在人工智能出来之前,这些程序员都会被淘汰,因为这个行业的竞争程度和人工智能差不多。”
他也坦言,人工智能确实会降低行业门槛,提高工作效率。“我觉得如果你真的被人工智能淘汰了,不是因为你被人工智能取代了,而是因为你不会用人工智能而被淘汰。”
周文涛认为,业务逻辑代码并不难写,这种依赖人力而不依赖创造力的工作,最容易被AI取代。但程序还是需要有人负责,尤其是监督AI不让它犯错,或者纠正AI的错误,这部分工作还是依赖人类程序员。
陈思认为,功能开发、测试、性能优化等工作未来很有可能会被取代,但业务需求分析、架构设计等仍是复杂工程,至少现阶段AI还难以满足实际业务需求,AI的开发者们还是有责任去完善AI的,不会被取代。
当记者问到“程序员这个职业未来会消失吗?”时,给出的答案是:这个职业的未来可能会改变,但不太可能完全消失。AI大模型的出现可以帮助简化某些编程任务,特别是在自动代码生成、自动化测试和优化方面。这可能会减少一些传统编程工作的需求。
同时,人们认为程序员的角色不仅仅是编写代码。他们还负责设计软件架构、解决复杂问题、与团队合作、了解客户需求等任务。这些任务需要创造性思维、逻辑思维和人类智慧,而目前的AI技术无法完全取代这些方面。因此,尽管AI大模型可能会改变程序员的工作方式,但程序员仍将发挥关键作用,需要不断适应新技术的发展。
“未来的世界是软件的世界。但无论多么强大的模型,背后都是程序员开发的。想想《黑客帝国》,它的母矩阵也是程序员用源代码写出来的。”吴郁富在谈及人工智能与人类程序员时这样说道。
周鸿祎还给出了未来程序员重要性的三个原因。一方面,未来世界会被软件重新定义,需要更多的计算机专家和程序员来实现。其次,随着大模型的爆发,对程序员人才的需求会越来越大,AI时代意味着计算机人才、数学人才的缺口会更大。另外,未来跨学科、跨领域的人才一定会带来更多的想象力和冲击力。他认为,最好的组合是人工智能+生物。
陈思认为,很多程序员的工作被AI取代,并不代表整个行业就没有好的工作,很多时候新事物并不一定取代传统的时代,就像移动互联网没有取代传统行业,而是提高了效率,程序员可以拥抱AI,适应变化。
周文涛表示,未来AI取代程序员或许并不是唯一的趋势,对于留下来的程序员来说,应该面临越来越高的要求。当AI能完成更多工作、加速更多流程时,人类程序员应该做更多高层次的思考和设计,以凸显自身价值。AI效率提升,并不意味着人类程序员的工作会更轻松。市场竞争会加速业务迭代,程序员的工作依然面临挑战。(郑佳、徐天、陈思、周文涛均为第一财经记者化名)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。