(相关资料图)
白色代码来自AlphaCode人工智能系统,紫色代码则由人类编写以解决类似问题。图片来源:DeepMind公司
在全球范围内,程序员短缺。如果人工智能(AI)会写代码——只要人类告诉AI想通过程序做什么,将带来许多便利。根据发表在最新一期《科学》杂志上的研究,一款名为“阿尔法扣”(AlphaCode)的新AI系统正在让人类离这一愿景更近一步。该系统来自“深度思维”研究实验室,整体性能相当于经过几个月到一年培训的新手程序员。
在测试中,“阿尔法扣”通过预测代码段并创建数百万个潜在的解决方案,实现“接近人类水平的性能”,还能在竞争中解决以往未发现的自然语言问题。在生成了过多方案后,“阿尔法扣”会将它们筛选为最多10个方案,所有这些方案都是在“没有任何关于计算机代码结构的内置知识的情况下”生成的。
在Codeforce竞争性编码平台最近的编码模拟评估中,“阿尔法扣”在每个问题的第10代解决方案中平均排名前54.3%,而其中66%的问题第一次提交就得到了解决。
美国卡内基·梅隆大学博世人工智能中心教授齐科·科尔特说:“无论‘阿尔法扣’在多大程度上‘真正’理解了这项任务,它在前所未见的编码挑战中表现得非常出色。”
“阿尔法扣”并不是唯一会编码的AI模型,但其性能超越了“前辈”Codex——OpenAI研究实验室于2021年发布的系统。GitHub也有自己的流行AI编程工具Copilot。然而,在解决复杂的竞争性问题方面,这两款AI都未表现出与人类匹敌能力。
深度思维公司表示,经过培训,“阿尔法扣”解决了约34%的指定问题。为进一步测试它的能力,公司让它参加了在线编码比赛。在至少有5000人参加的比赛中,“阿尔法扣”的表现超过了45.7%的程序员。研究人员还将其与训练数据库中的程序进行了比较,发现它没有复制大段代码或逻辑,这表明它有惊人的创造力。
除了提高总体生产率外,“阿尔法扣”还可让新一代开发人员更容易地进行编程。其未来有一天可能会改变人们的编程理念,即人类主要是为了制定问题,然后由AI来解决问题。(实习记者张佳欣)