皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

AI 可以自己编程了,程序猿们该何去何从?

“愚蠢的人类,快走开——我的代码我自己写!”

现在,机器学习系统获得了一种自动编写代码的能力。

这种程序叫做 DeepCoder,由剑桥大学和微软公司的研究人员所研发。对于不会写代码的人来说,DeepCoder 简直就是福音。因为这个程序解决了编程的基础问题,不需要任何代码知识,人们就可以编写出一些简单的程序。

作为一个局外人,麻省理工学院的 ArmandoSolar-Lezama 评论道:“ 转眼之间,编程的工作效率就可以如此之高,很多以前看来难以建立的模型,现在居然都触手可及。

工作于英国剑桥微软研究院,同时也是 DeepCode 创始人之一的 Marc Brockschmidt 认为,有了这种方式,无论是谁,只需要简单地描述一下目标程序,系统就会自己编出对应的语句。

DeepCoder 使用了一种叫做程序合成 (program synthesis) 的技术,其运行原理与程序员所做的事情差不多,就是从存在的软件中获取已知的代码段,并将它们拼接到一起执行新的程序。只要赋予 DeepCoder 中每个片段对应的输入和输出,程序就可以“学习”到哪些代码是我们所需要的。

“麻瓜也可以写程序”

让 AI(人工智能) 自编代码的好处之一就是,相比人类,AI 在搜索时比人类更加全面彻底,因此 AI 可以用人类完全想不到的方式来编写程序。除此之外,DeepCoder 还会使用机械学习方式查阅数据库,并根据可能的用法,整理出各个数据段。

而这一切都让系统变得更加灵敏。在 DeepCoder 之前,老版的应用程序处理问题可能要花费好几分钟,而这对 DeepCoder 来说可能只是几秒的事情。在 DeepCoder 自我编程时,它还能自己判断出哪些语句有用、哪些语句有误并进行修正。因此,它在处理新的问题时,会越来越有经验。

科技可以运用在多种层面上。在 2015 年,麻省理工大学开发出了一种程序,该程序可以自动修复软件中的 BUG: 如果某系列代码被检测出了错误,它会抓取其他程序中的语句,将其覆盖到错误语句上以修复 BUG。Brockschmidt 表示,在未来,我们将很容易抓取网页中的信息,比如自动给脸书里的照片分类,而我们根本都不需要碰一下鼠标。

那么这种程序会不会导致程序员大量失业?

Brockschmidt 给出的答案是否定的。因为自动拟合的程序中很可能会出现很多毫无逻辑的代码,而我们依然需要程序员来“拯救”这些复杂的程序。

目前,DeepCoder 只能用于解决五行以内的代码问题。不过只要选择对了语句,即使是再复杂的程序问题也可以用短短几行代码解决。

对于大型程序的编写,想要一蹴而就是很难的。” Solar-Lezama 表示,“ 但是千里之行,始于足下,正是很多短代码组合在一起,才有了各种大型的程序 。”

稿源: 网易科技

分享到:更多 ()