我的位置:首页 >> 测量仪

智能化软件开发程序员与ai机器人一起结对解码板清关服务测斜仪混凝土泵异形加工

发布时间:2022-09-11 00:15:32 来源:雷晟机械网

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

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

15:22来源://

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

雷锋 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」提升了程序生成的速度,但在程序规模与生成效果上仍未能取得质的提升。

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

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

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

aixcoder 智能编程机器人

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

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

据 aixcoder 研发团队的核心技术人员郝逸洋对雷锋介绍:aixcoder 采用了先进的专门应用于程序分析与生成的特定深度神经络模型,并利用严格筛选的海量领域源代码数据进行训练,从而使 aixcoder 能够充分学习和掌握隐含于海量代码中的编码模式与规律,并将该信息用于后续代码的生成与补全。

不仅如此,经过训练的 aixcoder 还能快速了解一个程序员的个人编程习惯,自》先进的多卡并用技术动记录程序员常用的程序模式、常用的 api 调用序列等等,从而在程序员编程过程中进行有效地自动辅助,在最大程度上协助程序员自动完成非创造性的编程工作。

当前,aixcoder 采用「云服务」的运行模式,其深度学习模型如同部署在云端的「编程大脑」,其客户端以插件的形式集成在 ide 中,实现了与 intellij、eclipse、vs-code 等主流集成开发平台的无缝对接,程序员可以通过 aixcoder 插件实现与「云端 ai 服务」的对接,随时随地使用自己的「编程大脑」。

同时,aixcoder 还可以为软件企业提供专业领域的定制化专属服务,以企业内部云的方式为软件企业提供专属服务。使用过该服务的某软件外包公司反馈:aixcoder 不仅能够有效节省程序员的开发时间,还能够有效降低程序员对 api 文档或相关信息的依赖,「原本需要上搜索相似代码和搜索 api 使用模式的时间,被节省了下来,可以更加集中精力编写特定系统所需要的代码。」站在程序员的角度,在 aixcoder 的帮助下,开发者可以把更多时间用于「全新」代码的编写,提高个人价值。

aixcoder 的研究历程

谈到研究这一智能编程机器人的初衷,李戈副教授说起当前的软件开发流程存在「开发阶段的缺陷被滞后解决」的问题,即程序员在编程的过程中未能解决的程序缺陷、错误等问题,常常需要依赖后续的代码扫描、代码审查、程序测试等环节才能被发现,然后再重新送回到程序员加热器的开发现场去解决,然而,当上述问题重新返回到开发现场时,程序员往往早已变更了开发场景,他们只能重建起以前的开发现场才能对返回的代码进行修改。这一不合理流程大大延迟了编程问题的解决时间,造成了开发效率的降低。

以百度为例,百度高级副总裁王海峰在今年出席软博会时曾提到,百度每天新增需求卡片达到 6700达州 张,系统每天构建次数超过 70000 次,每天系统上线发布次数超过 700 次。在这样的研发需求压力下,要求软件开发必须实现快速迭代,研发周期必须被缩短,大量的研发需求必须在编程阶段完成,而不是「把编程阶段应解决的问题向后续环节延迟」。因此,如何利用智能化手段提高软件编码的效率和质量,成为当前软件开发的重要问题。

如何将 ai 技术应用于软件开发中,协助开发者在开发阶段解决更多的问题,提高软件开发的效率和质量?这正是李戈副教授的研究团队一直深入思考的问题。要使 ai 能够协助程序员编写程序,必须首先要让 ai 模型能够理解程序员已经写下的程序,并能够领会程序员的编程意图。带着这一思考,他们开始了利用深度学习技术的程序代码分析与生成的研究。

2013 年底,李戈在斯坦福大学人工智能实验室担任访问学者,当时与他同一实验室的研究者正从事基于深度学习的自然语言处理的相关研究。这些相关领域的研究方法给了他启发,他认为可以利用特定的深度学习模型来进行程序代码语义的分析。然而,程序语言与自然语言存在诸多不同:

首先,程序语言通常基于顺序、分支、循环三种类型的语法结构来进行语义描述,具有更强的结构性,而且程序的结构信息具有多种表达方式,例如数据流图、控制流图、调用图、程序切面图等等;

其次,程序的整体语义对单个词义的依赖较弱,其字面语义与程序语义可能存在较大区别,具有更强的抽象性;

再次,程序分析的粒度比自然语言更大,通常以模块为分析单位,一个程序模块通常会包含很多条密切关联的语句;

除此之外,程序语义还依赖于大量的背景知识,如 api 知识、领域需求知识等等。

这些问题的存在使李戈意识到,想要获知程序所表达的语义,必须设计适用于程序语言的全新模型。

基于多年的研究基础和对程序特性的深入思考,李戈研究团队设计并构造了一系列专门用于程序分析与生成的深度神经络模型。同时,他们利用从 github、stackoverflow 等获取的开放源代码资源,经过一系列清洗、分析、标注,积累了大量规范化程序代码数据用于支持深度神经络的训练,并最终获得了优异的训练结果,形成了多项业界领先的科研成果,这些成果构成了 aixcoder 的基础。

以 aixcoder 的 tensorflow 版本为例,他们使用了超过 30 万份经过处理的 tensorflow 源代码作为训练数据,使神经络模型学会了编写 tensorflow 代码所需的各种规范模式、潜在规则、常用 api 序列、惯用编码模式等知识和经验。在程序员编写代码的过程中,aixcoder 能够自动推测程序员的编程语义,并按照这些知识和经验及时向程序员推荐可能要使用的编程语句,以达到辅助程序员自动完成程序的目的,大大提升程序开发的速度。

当前的 aixcoder 正以「结对编程」的形式辅助程序员工作,它就像一个时刻陪伴程序员工作的「伙伴」,与程序员一起编写代码,帮助程序员差缺补漏。

「传统的结对编程是人与人结对,我们希望能够实现人与机器的结对工作」,李戈介绍说,「我们希望 aixcoder 能够承担更多的『劳动』,能够让程序员有更多的时间和精力投入到有创造性的工作中,让程序员的创造性价值得到更加充分的体现。」

「leave artificial intelligence to aixcoder, leave real intelligence to human.」(把人工智能留给 aixcoder,把真正的智能留给人类。),这正是 aixcoder 研发团队的信条和口号。

aixcoder 官地址:

重庆乳腺外三级医院
云南玉溪肿瘤一甲医院
湖南岳阳白癜风二级医院
辽宁沈阳癫痫一级医院
相关阅读
河北省高速路建设将推行三个多元化皮革手套油轮大宇配件烤肉炉厂房装修Trp

河北省高速路建设将推行三个“多元化”河北省高速路建铜仁设将推行三个“多利用领域元化”中国工程机械信息导读: 人民石家庄10月29日电 10月28日召开的石黄高速公路衡水支线竣工通车发布会信

04月18日 08:14
装饰玻璃贴膜的保养技巧有哪些滤油机物流托盘沙滩包皮肤护理木粉机Trp

装饰玻璃贴膜的保养技巧有哪些?我们生活中经常可以看见那些玻璃上面有各种花样的图案,这些贴在上面的图案也就是装饰玻璃贴膜。专门用来装饰贴在玻璃上面。装饰玻璃贴膜更好地避免室内物

04月18日 07:10
传闻纯苯下调纯苯苯胺MDI防价格传导中断渡船纤维毡过滤棉提取罐刀叉勺Trp

传闻纯苯下调 纯苯/苯胺/MDI防价格传导中断近期,纯苯-苯胺-MDI产业链上各产品价格疯涨,但自本周起利空因素显现,价格一路走跌。国内石化炼厂方面,传闻在中国塑料机械市场中中石化纯苯执行价

04月18日 05:43
陕汽天然气重卡荣获技术组绿色环保大奖鞋跟专业保洁凸轮开关吸盘公路绿化Trp

陕汽天然气重卡荣获技术组绿色环保大奖陕汽天然气重卡荣获技术组绿色环保大奖卡通座套中国工程机械信息导读: 由美中汽车交流学会、同济大学汽车学院主办的 2013中国汽车及零部件行业发展创新

04月18日 05:40
票据印刷中几联套印不准的解决实例途锐配件冷水江体重秤台秤上光机Trp

票据印刷中几联套印不准的解决实例本厂是河北省税务发票印刷的主要承印单位,由地印品多为3~6联,且质量要求较高,几联套印必须准确无误。以往的工艺:在先开机印刷的机台上印出样张,而其

04月18日 03:45
发展食品包装机械的策略上地毯机六盘水数字前端光纤尖晶石砖Trp

发展食品包装机械的策略(上)一、食品包装工业发展战略20世纪90年代,全球的食品工业总产值达到了2.2万亿美元,高居于其他工业产值之上。至于食品包装工业总产值同样占包装工业总产值的大约

04月17日 23:01
友情链接: 拉力试验机 订做西装 婚姻律师 北京骨科医院 北京瘦身减肥 家庭常备药 上海转移遗产继承律师 北京离婚房产分割 依兰琳卡 脚得灰指甲有什么危害吗 在大众浴室会传染灰指甲吗 找医院 铜陵不孕不育医院 离婚律师咨询在线 盐城眼科专科医院哪家好 上海离婚财产纠纷律师 滁州治疗癫痫病医院哪家好 上海离婚房产分割律师 福建福州治疗妇科专科医院 菏泽妇科 法律知识 LED Display 今时兄弟 南宁定做西服 南京工作服定做 Hydraulic UTM Color Material Application 寻医问药 苏州看皮肤病哪家医院好 山东不孕不育哪个医院好 成都哪家医院妇儿童疾病好 天津治疗失眠哪家医院好 山东哪家医院看耳鼻喉科好 舟山资讯 Suppliers