科技行者会写代码的人工智能来了

会写代码的人工智能来了

会写代码的人工智能来了

会写代码的人工智能来了

2020年2月10日 14:49:13 科技行者
  • 分享文章到微信

    扫一扫
    分享文章到微信

  • 关注官方公众号-科技行者

    扫一扫
    关注官方公众号
    科技行者

人工智能技术是编码开发的结果,而如今,程序代码又成了人工智能的造物。

来源:科技行者 2020年2月10日 14:49:13

关键字:程序员 AI 人工智能 编程

科技行者 2月10日 北京消息:人工智能技术是编码开发的结果,而如今,程序代码又成了人工智能的造物。

会写代码的人工智能来了

越来越多的企业乃至编程人员,开始利用AI辅助软件开发流程——软件开发人员能够利用AI工具,编写并审查代码、检测bug、测试软件甚至优化开发项目;而凭借这些强有力的技术支持,企业不仅能够高效部署新的软件与应用,同时也能引导新一代开发人员更轻松掌握编码技能。

以上观点来自德勤公司发布的一份最新报告。该报告的两位作者David Schatsky与Sourabh Bumb,长期关注AI辅助软件开发领域,他们在报告中剖析了过去一年半以来,多家企业陆续推出的数十种AI驱动型软件开发工具。可以肯定的是,此类辅助开发软件市场正在蓬勃发展,当中的一些初创企业在截至2019年9月的一年周期之内筹集到7.04亿美元资金。有鉴于此,德勤方面做出预测称,随着企业客户对于软件方案的需求不断增长,基于AI技术的开发工具也将发挥愈发重要的辅助性作用。

AI辅助编码具有一系列天然优势,其中最受企业青睐的当属「效率层面的提升」。目前,大部分基于AI技术的新型工具基本延续着以往拼写检查与语法检查器的功能,且已经能够将编程人员的键盘敲击次数降低50%左右。此外,这些工具还能在代码编写过程中及时发现bug,自动执行约半数测试步骤,从而有效保障软件质量。据德勤报告强调,我们正生活在一个日益依赖于开源代码的时代,因此这种软件质量保障手段将越来越重要,并有望最终解决开源项目中广泛存在的bug横行以及优化水平不高等难题。

当然,对于企业来说,在开发过程中大量引入AI技术也在员工群体中引发了不小的骚乱。人们难免要担心,自己的编程岗位最终会不会被自动化取代。德勤公司David Schatsky表示,这种情况不太可能出现,AI驱动型开发体现的实际是技术“民主化”进程,而且给从业者们带来的更多是助益——而非威胁。

他在采访中表示,“在大多数情况下,这类AI工具是在帮助并增强人类,而不是要彻底取代人类。这些工具正在推动编程与软件开发的民主化,意味着,没有接受过编程培训的个人也能快速掌握这方面新技能,并有效填补业务层面的人才空缺。另外,AI驱动型代码审查同样重要,甚至能够在代码实际运行之前就发现问题,以保障编程产出质量。

IDC最新报告预测称,全球定制化应用程序开发服务市场规模将从2018年的470亿美元增长至2023年的610亿美元。这一增长,在很大程度上将受到AI驱动型软件开发业务的并行支持与推动。重要的是,这种新兴开发手段不仅能够实现自动代码编写与bug检测,同时也能在软件开发项目的自动组织与部署层面发挥积极作用。以法国电信企业Orange为例,该公司近来开始尝试利用AI驱动型项目管理工具自动处理以往只能依靠手动更新的项目时间表。

Schatsky指出,“AI技术将在整个软件开发生命周期之内,为人类提供全面支持。与大多数自动化方案一样,AI技术将显著加快工作速度。具体来讲,AI虽然能够消除部分操作需求,但整体流程仍然需要人类的介入。很多企业正在引入「低代码开发」工具,这类工具的存在将使得未经编程培训的人员也能开发出部分应用程序。总结来讲,AI发挥的仍然是辅助作用,应用程序的构建还是离不开人这个核心因素。

人的意义除了体现在应用程序的创建与监督之外,同时也体现在学习这个基本面上。Schatsky强调,AI技术有望帮助新一代编程人员从同样的软件开发过程中汲取到更多经验与知识。他指出,“AI技术能够在编程过程中为人类提供指导,发现潜在的bug并推荐特定的任务解决方法——这一切,都将给新手程序员带来巨大助力。

2018年Forrester公司发布的一项研究结果显示,参与软件开发的企业中已经有37%在采取AI驱动型编程工具。如今,随着Tara、DeepCode、Kite、Functionize以及Deep TabNine等厂商陆续发布自己的自动化编程服务,这一比例无疑又增长到了新的水平,且提升势头将继续保持下去。在David Schatsky看来,在编码中运用AI技术终将带来效率更高、整体性更好的软件开发成果。

他总结道,“通过采用这类AI工具,不少企业除了有效降低开发成本与时间周期之外,也实现了最终产品的质量改进。由于质量更高,工具本身的水平也将有所提升,从而更快、更准确地检测bug,并以更为全面的方式在整个开发过程内实现产品测试。最终,我们的软件产品将运行得更好、而且使用门槛更低。这将形成一套值得期待良性循环。