人工智能正在改变软件开发的模式

作者: HERO 2020-05-19 10:36:28

如今,很多软件开发人员正在使用人工智能技术帮助编写和审查代码、检测错误、测试软件,并优化开发项目。这帮助企业更有效地部署新软件,并使新一代开发人员更轻松地学习编程。

这是调研机构德勤公司最近发布的一份有关软件开发采用人工智能技术的调查报告得出的结论。报告的作者David Schatsky和Sourabh Bumb描述了在过去的18个月中多家公司如何推出几十个人工智能驱动的软件开发工具。并且其市场正在增长。致力于软件开发的人工智能初创企业在2019年获得了7.04亿美元的投资。

新工具可以帮助软件开发人员减少工作量,在编写软件时检测错误,并自动执行许多确认软件质量的测试。在当今越来越依赖开放源代码的时代,这一点很重要,因为开放源代码可能会带来一些错误。

尽管有些人担心采用自动化技术可能会使编程人员失去工作,但调查报告的这两位作者认为不太可能。

Schatsky说:“在很大程度上,这些人工智能工具是在帮助和增强人类的能力,而不是取代他们。这些工具有助于使编码和软件开发民主化,使一些编程新手能够填补人才缺口,学习新技能。人工智能技术还可以进行代码审查,并提供质量保证。”

调研机构Forrester公司在2018年进行的一项研究发现,从事软件开发的企业中,37%的企业正在使用由人工智能驱动的编码工具。Tara、DeepCode、Kite、Functionize和Deep TabNine等许多公司提供自动化编程服务,而在2020年这一比例将会更高。

成功应用似乎正在加快这一趋势。Schatsky说:“除了节省成本和时间以外,许多采用这些人工智能工具的企业还改善了最终产品的质量。”

德勤公司的研究表明,人工智能可以帮助缓解软件开发人才长期短缺的现象。去年,软件质量不良使美国企业损失了3190亿美元。人工智能的应用具有缓解这些挑战的潜力。德勤公司的分析人员认为人工智能可以在软件开发的许多阶段提供帮助,其中包括:项目要求、编码审查、错误检测和解决,以及通过测试、部署和项目管理提供的更多帮助。

IBM工程师从Watson项目中学到的人工智能开发经验

IBM公司的杰出工程师Bill Higgins是IBM Watson开发人工智能任务团队负责人,有着20年的软件开发工作经验。他最近发表了一篇有关人工智能对软件开发的影响的研究报告。

Higgins说,“企业需要放弃以往开发软件的模式。如果开发人员难以适应,那么企业适应的难度将远远超出开发人员。事实证明,企业管理人员缺乏人工智能方面的经验也是一种优势。因为他必须经历这一学习过程,因此对需要适应的开发人员有了更深刻的理解和同情。”

他表示,为了了解软件开发中的人工智能,他研究了其他人如何应用人工智能(提出问题)以及使用人工智能优于其他替代方法(解决方案)的情况。这对于理解可能发生的情况并避免误区很重要。

他说,自从在宾夕法尼亚州立大学获得计算机科学学位以来,学习人工智能这一过程是他感到最紧张、最困难的一次学习经历。他说:“让我重新思考从经验中改进软件系统实在是太困难了,而软件系统只做开发人员让它们做的事情。”

IBM公司开发了一种概念模型来帮助开发人员思考基于人工智能的转型,称之为人工智能阶梯(AI Ladder)。这个阶梯有四个梯级:收集、组织、分析和注入。大多数企业拥有大量数据,这些数据通常是以孤立的IT工作或通过收购的形式组织起来的。例如一家企业可能有20个数据库和3个数据仓库,其中包含冗余和不一致的客户信息。其他数据类型(如订单、员工和产品信息)也是如此。Higgins说:“IBM公司使AI Ladder从概念上摆脱了困境。”

在注入阶段,该公司致力于将训练的机器学习模型集成到生产系统中,并设计反馈循环,以便可以从经验中不断改进模型。注入式人工智能的一个示例是Netflix推荐系统,该系统由复杂的机器学习模型提供支持。

IBM公司已确定API、预先构建的机器学习模型和可选工具的组合,以封装、收集、组织和分析用于常见机器学习域的人工智能阶梯(AI Ladder),例如自然语言理解、与虚拟代理的对话、视觉识别、语音和企业搜索等。

例如,Watson的自然语言理解变得丰富而复杂。机器学习现在擅长于理解语言的许多方面,其中包括概念、概念之间的关系以及情感内容。现在可以通过完善的API和支持的SDK,向开发人员提供基于机器学习的自然语言处理的NLU服务和研发工具。

Higgins 说:“因此,即使开发人员没有进行数据科学或机器学习方面的培训,他们现在也可以开始在应用程序中利用某些类型的人工智能。虽然这并没有消除人工智能的学习曲线,但会使其变得更平缓。”

人工智能 AI 软件开发
上一篇:机器学习必备:TensorFlow的11个使用技巧整理 下一篇:一口气发布1008种机器翻译模型,GitHub最火NLP项目大更新:涵盖140种语言组合
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

微软用 AI 取代人工编辑,解雇多名新闻工作者

微软将解雇 Microsoft News 和 MSN 团队中的数十名新闻工作者和编辑人员。大部分受影响的员工属于 Microsoft SANE(搜索、广告、新闻、Edge 浏览器)部门。

佚名 ·  17h前
云计算人工智能的发展显著改善IT安全性

随着数据泄露越来越普遍,IT安全性变得越来越重要。幸运的是,人工智能工具和云计算资源正在提供新的解决方案。

Harris ·  21h前
人工智能在半导体市场的发展潜力及其意义

IHSMarkit在本周发布的一项人工智能应用调查中预测,到2025年,人工智能应用将从2019年的428亿美元激增至1289亿美元。

佚名 ·  22h前
沙发变身遥控器,涂鸦里藏PCB,MIT技术宅的智能家居竟然是这样

把墙壁、沙发、柱子或者家中任何东西,埋进电路和传感器,整个房子也就被改造成了大型PCB电路板,每一条线路、每一个节点、每一个控制装置,都嵌入到房间自身的装修中,像个变色龙一样,你再也看不到突兀的开关了。

鱼羊 郭一璞 ·  22h前
马云:机器不可能取代人类!那会取代什么呢?

在上海纽约大学2020届毕业生典礼上,阿里巴巴创始人马云表示,“机器是不可能取代人类的”。那什么会被取代呢?

月初 ·  23h前
人工智能的三大领域及其工业应用

在本文中,我将解释人工智能技术的三个主要方向,即语音识别,计算机视觉和自然语言处理。

工业应用 ·  23h前
2020年十大人工智能趋势

人工智能在工作场所中崛起以支持和维持数字化劳动力的趋势是2020年的明显趋势。人工智能,机器学习,神经网络或其他任何花哨的术语行业都应运而生,它被定义为复杂的计算机技术,被广泛用于理解和改善业务和客户体验。

闻数起舞 ·  1天前
人工智能项目:需要注意的七件事

维度R的一份报告显示,十分之八的AI失败了,而96%的AI则在标注,标明和建立模型置信度方面遇到了问题。以下是人工智能项目失败的7个常见原因。

闻数起舞 ·  1天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载