微软开发出一款会写程序的人工智能“DeepCoder”!不过现在只能写 5 行而
随着人工智能的进步,可以被机器取代的工作也越来越多,而这次,轮到软件工程师了。
微软研究院和剑桥大学研究人员开发出一套可自己写程序的人工智能“DeepCoder”,未来就算不会写程序,也能也能透过 DeepCoder 打造出符合需求的程序,大幅缩短开发时间和成本。在那个机器人取代人类工作的未来,不论你是劳力型还是知识型工作,恐怕都难以而退。
DeepCoder 使用被称作“程序组合”(program synthesis)的方法,只要给定系统输入值和需要的输出结果,DeepCoder 便可透过搜寻其他程序的程序代码,挑出适合的程序代码片段,再组合成可运作的程序,让程序顺利生成需要的结果。事实上,这个步骤就像许多工程师常做的事:在程序问答网站 Stack Overflow 上搜寻适合的程序代码,再“复制贴上”他们认为可行的程序代码片段。
研究团队指出,和人类工程师相比,DeepCoder 能更全面、广泛地搜寻程序码范例,因此程序代码的组合方式可能是过去人类从未想过的。此外,DeepCoder 将机器学习应用在每次的搜寻和组合程序代码,相较于旧有系统需要花费好几分钟才能选出正确的程序组合,DeepCoder 只需几秒就能写好程序,且速度还会随着越来越快。
麻省理工学院研究人员曾在 2015 年将这项技术用于自动修复软件漏洞,其透过机器学习系统找出有漏洞的程序代码片段,并从其他程序找到适用的程序代码片段,用以取代错误的程序代码。
看完 DeepCoder 的介绍,或许不少以写程序为生的工程师开始担心未来是否将被人工智能取代。不过好消息是,该研究尚在早期阶段,目前只能写出 5 行左右的程序代码,难度相当于程序竞赛网站中最简单的问题。
此外,DeepCoder 只能透过组合程序代码片段来写程序,并不能靠自己生成一段全新的程序代码,也还没办法写出企业等级的软件,或是 App 等更复杂的程序代码。
研究人员也指出,该系统的目的并非想要取代人类工程师,而是让电脑协助完成写程序过程中最无趣的地方,工程师可以将时间拿去做更复杂、更有创造力的工作。