位置:编程技术网 > 运维管理 > 正文 >

智能化软件开发:程序员与 AI 机器人一起结对编程

2020年09月24日 13:35来源:未知手机版

重庆最美女孩什么梗,长江之歌课件,铁齿铜牙纪晓岚第四部剧情介绍

雷锋网(公众号:雷锋网) AI 科技评论按:伴随着 AI 技术的发展和应用,人们对「人工智能」的认知也不断被刷新和拓展,在大众眼中,AI 正变得越来越强大,不仅可以下棋博弈战胜人类的顶尖选手,还可以进行语音识别、自动翻译、人脸识别,甚至可以自动驾驶汽车。最近,北京大学与硅心科技团队联合推出了一项新的 AI 成果——aiXcoder,它利用 AI 技术辅助开发者自动进行程序编写,引燃了人们关于「AI+软件」的巨大发展潜力以及「软件开发自动化」发展前景的讨论与思考。

让计算机自动编写代码,不仅是软件开发领域关心的问题,也是人工智能领域长期关心的问题。早在 1964 年,机器学习领域的先驱者 Solomonoff 就曾提出,「对人类而言,编写计算机程序是一项既困难又耗时的活动,通过自动代码生成或程序归纳来实现这个过程的自动化是人工智能领域的一个长期研究主题。」近年来,DeepMind 和 Facebook 在其论文中也提出了类似的论述。

那么,在没有人类程序员干预的情况下,完全依赖 AI 技术进行程序代码生成,当前的研究进展情况如何呢?下面是近年来的几项典型研究工作:

2016 年,Google Deep Mind 发表了论文「Neural Programmer-Interpreters」,提出了一种利用程序的输入输出结果生成简单程序的深度神经网络模型,但它生成程序的规模具有较大限制,通常是由简单指令组合而成的短小程序;

2017 年,Facebook 在论文「Unsupervised Program Induction with Hierarchical Generative Convolutional Neural Networks」中也提出了一种在包含 8 种基本指令的数据集上选择指令,组合出程序的方法;

同年,微软针对类似的问题发表论文「DeepCoder: Learning to Write Programs」提升了程序生成的速度,但在程序规模与生成效果上仍未能取得质的提升。

这些成果对程序自动生成的研究起到了重要的推动作用,但同时也可以看出,在完全不依赖程序员的场景下,进行工业级程序的编写,仍需要进一步研究。

与上述研究思路不同,来自北京大学的研究团队,正致力于「辅助人类程序员自动编写程序代码」。「虽然在完全不依赖人类程序员的场景中自动生成程序仍需进一步研究,但我们可以利用人工智能技术来辅助人类编写程序。」北京大学高可信软件技术教育部重点实验室副教授李戈对雷锋网表示,「我们已经在『利用 AI 辅助程序员编程,以提高程序编写的效率和质量』方面取得了重要的研究进展。」

李戈所在的研究团队是国际上最早从事基于深度神经网络的计算机程序分析与生成研究的团队之一,在代码功能语义分析、代码自动生成与补全等方面的研究成果受到国内外同行的高度关注。近年来,该团队取得了一系列重要研究成果,形成了一批重要的行业专利及学术论文。基于所取得的科研成果,李戈所在实验室正转向产业化应用,致力于将「智能化软件开发技术」转化为能够支持工业界生产的商业产品——aiXcoder。

aiXcoder 智能编程机器人

aiXcoder 是一款全新的智能编程机器人产品,它采用与程序员一起「结对编程」的方式为程序员提供服务,从而提高程序员的编程效率。在 aiXcoder 的辅助下,程序将彻底摆脱传统的编程模式,不再需要「逐字逐句」编写程序。

aiXcoder 能够自动预测程序员的编程意图,连续向程序员推荐「即将书写的下一段代码」,程序员可以通过「一键补全」的方式,直接确认接下来输入的代码,从而大大提升代码的编写效率。同时,aiXcoder 还能够在程序编程的过程中,不断智能地搜索并推荐与当前程序功能相似的规范程序代码,为程序员提供有力的编程参考。目前,aiXcoder 编程机器人已经推出了 Android、JFinal、Tensorflow 等多个版本,为不同领域的编程者提供辅助。

本文地址:http://www.reviewcode.cn/yunweiguanli/173135.html 转载请注明出处!

今日热点资讯