百度王海峰: 未来机器人与真人程序员将会合作
小沐 2018-07-11 来源 : 阅读 506 评论 0

摘要:网易科技讯,6月29日消息,由工业和信息化部、北京市人民政府共同主办的第二十二届中国国际软件博览会今日在北京展览馆举行。


 

网易科技讯,6月29日消息,由工业和信息化部、北京市人民政府共同主办的第二十二届中国国际软件博览会今日在北京展览馆举行。工业和信息化部部长苗圩和北京市市长陈吉宁出席。在高峰论坛上,百度高级副总裁王海峰发表主题演讲表示,软件产业是引领科技创新的核心力量。目前软件开发面临一系列挑战,包括急剧提升的产品交付需求、快速膨胀的编程现场数据规模、常态化大规模跨地域的交互协同等。通过人工智能技术赋能则会使整个软件开发过程发生巨大变化。

同时,在提到人工智能方面,他表示,人工智能发展了60多年,过去这若干年带来了非常高速的发展,最核心的支撑有三点,就是算法、算例和数据,这三者共同作用导致人工智能迅速在各行各业产生非常重大的影响,而在很多方面人工智能的能力已经超过了人类,比如说计算机下棋,包括计算机语音识别,包括一些场景下的图象识别等等,很多方面在逐渐超过人类。

此外,他表示,展望未来,用于软件开发的机器人会渐渐投入使用,它们和真人程序员不是互相替代的关系,而是一起合作开发,让程序员的工作效率变得更高,质量变得更高,程序员的生活也会更美好。

以下为王海峰的全部演讲内容:

王海峰:各位来宾、各位朋友大家上午好,非常有幸有机会在软博会上跟大家交流一下我们的一些工作,我今天讲的题目是“软件智能开发”。当然我们这个大会的主题就是软件,软件也是我们这个时代一个非常重要的基础,刚才尤校长讲起软件定义,而人工智能也是这个时代最热门的词汇之一。那么软件和智能在一起会发生什么。

首先我们看一下软件,今天这个数字已经被提及好几次,2017年中国软件和信息技术服务业的产值已经达到5.5万亿,而全球19个国家软件支出占整个GDP都已经超过0.5%。在我国软件是很多重要国家战略和重大任务部署的基础,不管是大数据、人工智能、互联网+等这些战略,还是十三五要强化科技创新引领作用,着力推进供给侧改革等等,软件都是很重要的基础。

那么软件现在越来越重要,而规模也越来越大,在影响各行各业。那么软件面临一些什么挑战呢?

我们看一下,首先软件产品交付的需求在极具提升。以百度为例,我们百度公司每天新增的需求卡片就达到6700张,而每天线上发布的次数也达到了700次等等。另一方面,在需求量越来越大,代码产生的量也越来越大的同时,在软件整个开发过程中,在写程序现场的数据规模也极具在膨胀。比如说还是以百度公司为例,每天新增的代码量就超过150万行,同时又很多旧的代码在删除,每天删除的代码量也超过60万行,每天评审的次数,每天云端编译的次数,每天触发代码检查的次数也都过万次。还有一个特点现在软件不再说一个人拿一台电脑自己写程序这样一个开发过程,而是一个大规模的跨地域的交互协同,已经常态化。

比如说以百度大脑为例,百度大脑的工程师分布在北京、上海、深圳、硅谷、西雅图等很多不同的地区,超过三千人每天在协同开发。相应在这样一个大规模的开发过程中,就产生了编程现场大数据,这个过程中就即时产生以编程为中心的海量数据,呈现出非常典型的大数据的特点,比如说瞬时性、海量性、多样性和可变性。那么这些大数据在软件开发过程中,是软件开发过程中的产物,另一方面为软件开发带来什么呢?利用这些编程现场大数据,通过人工智能技术赋能会使软件整个开发过程会带来很大的变化。接下来我们再说一下人工智能。

现在都知道人类的第四次工业革命一个核心科技就是人工智能,人工智能的迅速发展已经带来了各行各业非常多的改变。人工智能发展了60多年,过去这若干年带来了非常高速的发展,最核心的支撑有三点,就是算法、算例和数据,这三者共同作用导致人工智能迅速在各行各业产生非常重大的影响,而在很多方面人工智能的能力已经超过了人类,比如说计算机下棋,包括计算机语音识别,包括一些场景下的图象识别等等,很多方面在逐渐超过人类。因此也有很多人在说,会有对人工智能有一些担心,比如说这是一个片子里提到的,人工智能是不是会取代人类很多工作,导致人的失业。相应我也在百度搜索里面查一下人工智能会取代程序员,大家看到有三百多万条结果,很多人关心人工智能会不会使程序员失业。

我们观点是什么?我们认为人工智能会利用刚才我提到的编程现场大数据去赋能软件开发,使整个软件开发的过程更高效,软件开发的结果更高质量,而不是说替代了程序员。为什么是这样?下边给大家解读。为了解读人工智能到底怎么样去赋能软件开发,先看一下一个典型的百度程序员他工作大概是什么样的?他需要接需求、需要开发,需要代码的评审、编译、构建而且发布等等大量的工作做。下面这些数字就是百度上万名工程师每天产生的代码的相关的这些总量的数据。我们在微观上看一下程序员的工作,比如说有了需求,要开始开发了,要看代码,要查很多文档。因为并不是每一行代码要重头写,需要调用很多模块,需要调试,需要改代码,需要编译测试等等。同时出了问题,也要去追查问题,追查问题要分析问题,要复现,要定位,定位之后可能又进入到一个开发这样一个迭代的过程。我们都知道现在的软件开发是一个高速迭代的过程。

刚才说了程序员做事情的全景,程序员每天干的事情最多的时间花在什么地方?就是读代码、写代码和调试代码。这个过程中有大量的数据,怎么样去提升程序员的效率,以及工作的质量?刚才我们说了读代码、写代码、调试代码这些,如果提升这个过程的效率,就会使整个软件开发的效率得到很大的提升,这是一个我们整个通过编程现场大数据做这种软件智能开发的一个整体的技术构架图。我们看到有基础处理的编程现场大数据,进行采集、清晰、校对,同时有跨地域动态感知的编程环境,有这两层基础以后,我们可以进行一些更智能化的编程,环境框架的搭建,比如程序的学习和现场代码生成,包括编成规范与风格的指导,现场代码的构建以及接口的推荐,包括这种缺陷的分析诊治这些。有了所有的技术可以构建一个人机协同的面向软件开发的一个云平台,形成一个智能的编程机器人。

给大家一点具体的例子,比如说有一些源代码自动生成的补全的例子,这个背后除了我们有这些数据,我们用人工智能技术会用到很多相关的人工智能技术,比如说百度深度学习框架(英文)的平台,就会用在现在大家看到场景的背后,有这样一个深度学习的框架来支撑去学习这些编程现场大数据,进而可以进行这种代码的生成和补全。当然也可以从这些数据里,自动去学习建模,怎么样对代码里面的问题进行辅助的定位和修复。

稍微总结一下,我们在逐渐构建这样一个以编成开发为核心的快速迭代的过程,这里边从需求到设计到测试,到部署发布、运维等等一系列的过程,而整个过程中,我们基本可以实现软件生产过程中这些都可以实时进行反馈,同时整个生产过程是高度并行化的。展望未来,我们看到这个图实际上是在软件整个编程,软件开发这样一个演进的过程,我们从最早期,比如说在我上学那个年代,我用到更多是一些工具,比如编辑的工具、编译的工具等等这些,而逐渐智能化水平越来越高会逐渐发展成从这些软件开发工具变成助手,慢慢形成软件开发的机器人和真人的程序员,他们俩之间不是一个互相替代的关系,而是会成为这样一个同台的关系,一起合作开发,让程序员的工作效率变得更高,质量变得更高,程序员的生活也会更美好。当然了最后,程序员产生的软件也会让我们每一个人的生活更美好,让我们的世界更美好,谢谢大家。



本文由职坐标整理并发布,了解更多内容,请关注职坐标热门话题行业热点频道!

 


 


本文由 @小沐 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程