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

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

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

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

作为局外人,麻省理工学院的 Armando Solar-Lezama 评论说:“眨眼间,编程可以如此高效,以至于许多以前似乎难以构建的模型现在触手可及。”

就职于英国剑桥微软研究院,也是 DeepCode 创始人之一的 Marc Brockschmidt 认为,通过这种方法,无论是谁,只要简单描述一下目标程序程序员编程所用的地址,系统就会编译出相应的语句本身。

DeepCoder 使用一种称为程序合成的技术,它的工作原理很像程序员从现有软件中获取已知代码片段并将它们拼接在一起以执行新程序。只要给出 DeepCoder 中每个片段对应的输入和输出,程序就可以“学习”出哪些代码是我们需要的。

图片[1]-愚蠢的人类,快走开—我的代码我自己写!-老王博客

“麻瓜也会写程序”

让AI(人工智能)自己编码的好处之一是,相比人类,AI在搜索方面比人类更彻底,因此AI可以以人类无法想象的方式编写程序。此外,DeepCoder 还将使用机器学习来查阅数据库,并根据可能的使用情况整理出各种数据片段。

所有这些都使系统更具响应性。在使用 DeepCoder 之前,遗留应用程序可能需要几分钟来处理问题,而对于 DeepCoder 来说,这可能只是几秒钟的事情。当 DeepCoder 自己编程时,它还可以确定哪些语句有用,哪些语句是错误的并纠正它们。因此,在处理新问题时会越来越有经验。

技术可以在许多层面上使用。2015 年,麻省理工学院开发了一个自动修复软件错误的程序:如果在某组代码中检测到错误程序员编程所用的地址,它会从另一个程序中抓取一条语句并将其覆盖到错误语句中以修复错误。布罗克施密特说,在未来,从网络上抓取信息会很容易,比如在 Facebook 上自动对照片进行分类,而我们根本不需要触摸鼠标。

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

Brockschmidt 给出的答案是否定的。因为自动拟合的程序中很可能存在大量不合逻辑的代码,而我们仍然需要程序员来“保存”这些复杂的程序。

目前,DeepCoder 只能用于解决五行以内的代码问题。但只要选择正确的语句,即使是复杂的编程问题也可以只用几行代码就可以解决。

“一夜之间写出大程序是非常困难的,”Solar-Lezama 说,“但千里之行始于一步,正是许多短代码的组合,才造就了各种大程序。”

来源:网易科技

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论