首个AI程序员已经出现,程序员这个职业还能干多久?

全球首位AI程序员来自一家位于旧金山、名叫 Cognition的初创公司。
新闻资讯 AI
2024-03-21 15:49:28  |   作者:航标  |   来源:航标IT精选

首个AI程序员已经出现,程序员这个职业还能干多久?

全球首位AI程序员来自一家位于旧金山、名叫 Cognition的初创公司。
新闻资讯 AI
2024-03-21 15:49:28
作者:航标
来源:航标IT精选

在中国到底有多少程序员?对此并没有一个很权威数据,但有个报告可以参考:根据GitHub发布的《Octoverse 2021年度报告》,2021年中国有755万程序员,排名全球第二。

222.jpg

程序员因计算机的兴盛而成为一个热门职业,然而,随着人工智能技术的不断进步,特别是在生成式AI取得突破,Github Copilot、AWS CodeWhisperer 等“编码神器”先后出现,程序员作为一个热门职业似乎走到了头,“程序员被AI取代”“程序员将消失”的观点就不时出现。

在3月9日央视的一个节目上,百度CEO李彦宏就表示,以后不会存在“程序员”这种职业了,他说“未来的编程语言只会剩下两种,一种叫做英文,一种叫做中文。”而最近一家美国公司推出的首个AI程序员更是加深人们对程序员将被取代的看法,Devin能编程,能自主学习,并且通过了一家AI公司的面试,程序员能干的很多事它都能干。既然如此还需要程序员吗?在人工智能技术广泛应用的当下,程序员的出路在哪里?

世界首位AI程序员Devin

全球首位AI程序员来自一家位于旧金山、名叫 Cognition的初创公司。在推出这款名为Devin的AI应用之前,这家公司成立还不到两个月,只有10名员工。不过这10名员工个个都十分了得,他们或者在Google DeepMind、Waymo、Nuro等自动驾驶与深度学习领域的领军企业工作过,或者在Cursor、Scale AI、Modal、Lunchclub等顶尖科技公司工作过,拥有10枚国际信息学奥林匹克竞赛金牌。

正是这十名天才工程师的努力才有了这一个了不得的创举——AI程序员Devin。尽管Cognition并没有公开Devin太多细节,而只是在社交媒体上发布了一段演示视频和公开一些资料,就引来了行业内不少程序员的高度关注。

根据Cognition公司公开的视频,Devin可以完成很多复杂的软件开发任务,比如从零构建网站、自动部署应用。Devin能学习不熟悉的技术,自主查找和修复程序Bug,训练和微调AI模型,并且能通过网络搜索所需要的资源,来帮助完成复杂的任务。

像程序员的工作一样,Devin有自己的开发工具,如Shell、代码编辑器和浏览器,其程序在沙盒计算环境中运行。Cognition公司在一篇博客中表示,用户只需下达指令,Devin就能完成开发过程。Devin在软件开发过程中还可以与用户进行合作,提供实时进度更新、接受反馈以及共同做出设计选择。

在SWE-bench基准测试中,Devin展现了其优秀的自主编程能力,它无需人类帮助,可解决13.86%的问题。而相比之下,GPT-4只能处理1.74%的问题,且都需要人类提示告知处理哪些文件。Cognition的一篇博客说,即使明确指定要编辑处理的文件,以前的模型也只能解决4.8%的问题。

尤其值得一提的是,Devin已经通过了实际的工作面试,并在知名自由职业平台Upwork上完成了真实世界的软件开发任务。

目前Devin尚未开放使用,Cognition还在继续完善其技术,其访问权限仅限于有限的客户。参与者需要填写表格,并向研发团队提交资料申请内测名额。尽管如此,业内对Devin充满期待。

生成式AI重新定义软件开发范式

Devin越是成功,越多的程序员会担心自己被AI取代。应该说,这种担心也并非多余,生成式AI给软件编程领域带来的改变显而易见。

随着Copilot等各种代码生成器的涌现,不少程序员已经开始在工作中使用代码生成器。StackOverflow 2023年进行的一项开发者调查显示,70%的开发人员正在或计划在其开发过程中使用AI工具,采用AI工具的人中超过82%使用它来编写代码。

GitHub的研究显示,用户接受了Copilot建议的30%的代码,尤其是一些经验不足的开发人员Copilot使用率更高。GitHub发现,87%以上的人表示他们使用GitHub Copilot更快地完成任务。

实际上,自动生成代码已经不新鲜。在此之前已经有低代码和无代码平台被用于简化软件开发,但这种平台本质上是对预先编写的代码进行复用。而生成式AI技术重新定义了软件开发范式,AI助理借助生成式AI可以真正自己生成开发软件所需的代码、测试用例、文档和其他工件,从而明显缩短编写需求和代码生成之间的时间,提高开发效率,加快产品上市速度。

而AI助理的最终目标是,只要向它提出问题,它就可以帮助快速构建应用程序或部署解决方案,甚至提问题的人都不会意识到是在做程序开发工作。正如李彦宏所说,真正实现每个人都可以成为程序员,根本不用专门掌握什么编程语言。

 “码农”容易取代,而业务专家不易

看起来程序员真的要被自己写的代码干掉了?

显然,目前这个说法还为时过早。360创始人周鸿祎就认为AI不会取代程序员,程序员还是朝阳职业。

的确,借助代码生成器的确可以自动生成代码建议、单行代码和小模块。但仍然需要开发人员来评估生成的代码,以调整接口、了解边界条件和评估安全风险。特别是,随着开发门槛的降低,可能有更多有缺陷的代码被发布到生产中,安全漏洞也越来越大,程序员的责任也越来越大。而代码的自动扫描和审核目前还不能完全由AI来执行,或者更准确地说是无法完全放任AI来执行。

实际上,程序员难以被完全被取代的最根本原因在于,写代码只是程序员的部分工作,其本质工作是要发现问题、解决问题,而AI助理还做不到,它需要程序员定义和安排。比如,代码的安全风险审核就离不开程序员。

虽然说程序员不会被AI取代,但AI对程序员的影响却是显而易见的。比如,未来程序员可能不用学习专门的编程语言,而是用自然语指导代码生成器工作和测试,而那些只能写代码的“码农”可能被代替,正如AI绘画会淘汰一部分低水平的画师一样。

同时,程序员写代码的时间肯定会越来越少,大部分代码由代码生成器来完成,程序员更多的时间会放在在需求定义、集成、模块集成、代码审核和供应链安全,放在业务逻辑上。

可以预见,尽管随着大模型的能力进一步提升,AI助理的能力肯定会越来越强,其在软件开发中的作用将越来越突出,然而,企业需要的是商业模式上的创新、更个性化的体验、更短的开发周期以及软件投资带来的更大商业价值,只有AI助理还不行。说到底,AI助理也只是程序员的工具。如果说程序员被取代也是只被会用AI助理的程序员取代了。

总之,“码农”可能会被AI取代,但真正的程序员不会。