谷歌大脑教AI写代码,是不是为了取代程序员?( 五 )

既然大公司的程序员和流水线工人没什么区别(严格按照设计稿和需求用代码将产品一模一样地实现出来),那么用AI将他们从超负荷的工作量中解脱出来,就是极为必须且有价值的了。

谷歌大脑最新放出的论文,就能够让神经网络来完成这项高价值的工作——源代码编辑。具体是怎么实现的呢?

想要让神经网络学会“编程”,首先要让它了解人类程序员是如何完成这一工作的。谷歌大脑的解决方案就围绕理解人类编写代码的过程(例如 GitHub 的 commit)展开,并使用深度神经网络模拟了整个编辑过程。

具体的过程是这样的,研究人员收集了来自数千Python开发者的数百万次细粒度的源代码,构建了一个大型编辑序列数据集,训练出了一个模型,试图让它学会“编程”。

效果显示,在给定编辑序列的情况下,模型能知道后面该怎样继续「写代码」。这就和语言模型一样,给定一小段话,模型就能接着用自然语言「编下去」。

比如给出两个编辑序列(History A 和 History B)。经过两次编辑后,两个序列都有了相同的编码状态(State 2),但History A正在给foo函数添加一个额外的参数,History B正在从foo函数中移除第二个参数。

推荐阅读