人工智能(AI)在围棋、星际争霸等策略性游戏方面已经碾压人类选手,在绘画、蛋白质结构研究乃至数学问题求解方面也展现了惊人的应用前景。现在,两大人工智能系统Open AI 和DeepMind均可以产生有意义的代码行,但研究表明,软件工程师们还不用急着转行。
AI研究人员对AlphaCode的技能印象深刻,AlphaCode是一种人工智能系统,在解决简单的计算机科学问题方面通常可以与人类匹敌。谷歌姊妹公司DeepMind是一家总部位于伦敦的人工智能巨头,于2月发布了该工具,目前已在《科学》杂志上发表了其结果,显示AlphaCode在代码竞赛中击败了约一半的人类。
在过去一周左右的时间里,社交媒体用户被另一个聊天机器人ChatGPT的能力迷住了,该机器人可以应要求编写一些偶尔听起来有意义(有时甚至荒谬至极)的短文,包括简短的计算机程序。但这些最先进的AI只能执行相当有限的任务,研究人员表示,它们远不能取代人类程序员。
11月30日,加利福尼亚州旧金山的软件公司OpenAI发布了最新版本的自然语言系统ChatGPT。ChatGPT和AlphaCode都是“大型语言模型”——基于神经网络的系统,通过学习大量现有的人工生成文本来执行任务。事实上,宾夕法尼亚州匹兹堡卡内基梅隆大学的计算机科学家齐科·科尔特(Zico Kolter)表示,这两个系统使用“几乎相同的架构”。“当然,虽然在训练和执行方面存在细微的差异,但主要的差异(如果有的话)是,他们只是根据不同的数据集进行训练,从而完成不同的任务。”
虽然ChatGPT是一个通用的对话引擎,但AlphaCode更为专业:它专门针对人类如何回答软件写作比赛中的问题进行训练。“AlphaCode是专门为竞争性编程而设计和训练的,而不是为软件工程而设计的,”DeepMind的研究工程师、《科学》论文的合著者大卫·崔(David Choi)在电子邮件中告诉《自然》杂志。
研究人员指出,大型软件工程项目的大部分工作——比如设计一个网络浏览器——都涉及到了解将要使用它的人的需求。这些很难用AI可以用来生成代码的简单、机器可读的规范来描述。
Kolter表示,目前还不清楚机器是否有可能从头开始生成大规模的软件系统。但“我最好的猜测是,像这样可以生成程序部分的工具很可能会成为程序员的‘第二直觉’工具”,他说。
Choi说:“我们希望进一步的研究将产生提高程序员生产力的工具,并使我们更接近解决问题的人工智能。”。
Kolter补充道,已经有一些足够好的人工智能工具可以让程序员的工作变得更容易,比如一种叫做Copilot的工具,这是代码库Github去年推出的一种基于OpenAI技术的代码自动完成服务。
报道链接:
https://doi.org/10.1038/d41586-022-04383-z