在码农界,有一个古老的传说,那些伟大的程序员们,大部分代码都是从StackOverflow问答里复制粘贴来的。在Flask中如何验证注册用户?怎样关闭sendmail服务?网上都有……
有了互联网上这些开源代码,年薪几十万的码农工作,机器人也能干。
剑桥大学和微软研究所联合开发了一个系统,名叫DeepCoder,就能够通过搜索一系列代码建立一个完整的程序,可达到编程比赛的水平。随着数据集规格的扩大,它还能用来构建更复杂的产品。
关于DeepCoder的论文中提到:
建设一个网络安全系统,需要解决两个问题。首先是搜索问题:为找到连贯的代码,我们需要在一系列合适的备选方案中进行搜索,并且需要设定基本参数(如程序空间等)和搜索方法。其次是排序问题:如果在搜索到的程序中,有多个程序的输入输出是一样的,我们该选择哪一个?这都需要具体问题具体分析。因此,首先需要为程序段合成选择合适的编程语言。
这个系统通过自我训练能够变得更聪明,能够构建出若干个代码段的最佳组合以及在特定位置选择最合适的程序段。随着这个系统的不断自我学习,它能够具有越来越快的运行速度。
剑桥大学的Matej Balog和微软研究所的Alexander L. Gaunt、Marc Brockschmidt、Sebastian Nowozin、Daniel Tarlow一起构建了这个系统并且共同发表了一篇文章来介绍这个系统。有程序员说,像这样的系统不能通过小代码片段构建更大规格的项目。这种说法,就像是吹着口哨过坟场——给自己壮胆罢了。
很多程序员的日常工作就是将代码进行分解然后进行重组。对于这样的工作,可以通过深度学习系统很好地完成。我想这应该是一个实现数据库基本增删改查功能的最伟大的解决方案。事实上,这种系统的出现可能意味着入门级程序员的集体失业。
“我,作为人类的一员,欢迎我们的AI机器人君主来抢饭碗。”