意见:用于软件开发的AI已经在这里

匿名用户 2020年2月11日 pm11:02 阅读 604

成为开发人员比以往任何时候都要求更高。构成软件开发大量工作的重复性任务既耗时又容易出错。人才紧缺,团队工作过度,许多企业无法跟上日益复杂的现有代码以及新应用程序开发不断增长的市场。 

对于AI爱好者来说,思考人工智能如何改善软件开发是令人兴奋的。人工智能会在几天(而不是几个月或几年)内帮助创建原型吗?它会教人类开发人员如何更好地编码吗?人工智能研究广泛,并且计算机编程的灵活性本质上是无限的,因此很难想象当智能程序可以帮助我们与代码进行交互时,软件开发将是什么样子。

但是许多开发人员和技术经理没有意识到的是,人工智能对开发团队的作用在最近几年中取得了巨大飞跃。实际上,人工智能辅助软件开发的早期阶段已经来临。

“ai人工智能”的图片搜索结果

没有AI协助的自动化是不完整的

很难找到没有以高效,敏捷的软件开发为目标的组织,并且自动化技术已使大规模实现敏捷成为可能。在过去的十年中,自动运行的测试通过允许开发人员获得有关其代码更改的即时反馈并进行相应调整来提高了软件质量。自动化软件流水线利用生成辅助请求的机器人助手,实现了持续交付更新。 

但是,采用该技术的公司有时会发现仅靠自动化是不够的。自动化过程仍然存在瓶颈,其中大部分围绕新代码的创建。例如,可以快速完成数百或数千个单元测试的自动化执行,但是开发团队需要花费数小时或数周的时间自行编写测试。如果没有用于验证提交的测试,则自动管道会导致垃圾邮件。当添加新代码(和新测试)时,由于需要进行持续的手动工作,因此本来可以成为自动过程的地方被打破了。 

人工智能代码

当前,现有的代码技术AI可以通过自动编写可验证其余自动化管道的测试代码,一次性解决这两个问题。这类任务以前需要开发人员的时间,这使他们无法进行更充实和增值的工作,例如创建新功能。用于单元测试的AI为重要但缓慢且繁琐的流程的更全面自动化打开了大门。

可以预料,由AI创建的测试看起来与由人类编写的测试有所不同,但是它们将在很短的时间内生产出来,并且它们的功能也一样好,即使不是更好,也可以确保在捕获任何代码中断的更改时修复它们仍然很容易。毕竟,正如马丁·福勒(Martin Fowler)在其2006年关于持续集成的文章中所总结的那样:“经常运行的不完美测试比根本没有编写的完美测试要好得多。”

通过这种方式,AI可以开始打破开发人员和IT经理所苦的时间,成本和工作质量之间的权衡。人工智能辅助的开发可以使开发人员能够更快,更经济地创建新产品,而不会影响质量。通过可靠且快速地完成重复任务,开发人员可以重新开始将他们吸引到工作中的创造性任务。

AI难以置信的效率 

在某些重视代码质量的行业中,例如金融业,已经使用了AI辅助软件开发。例如,高盛(Goldman Sachs)最近将AI用于代码,以提高其软件开发效率。通过利用AI工具为具有1500行代码的一个遗留应用程序编写三千多个单元测试,他们在数小时内创建了一个完整的测试套件。与平均花费30分钟手动编写每个单元测试相比,该AI工具编写测试的速度提高了180倍以上。总而言之,该银行设法节省了超过一年的开发时间。

下一步是什么?

随着AI技术的不断发展和针对更多用例的解决方案的开发,针对软件开发的AI投资将在各个行业中变得越来越普遍。为了保持竞争力和规模增长,不久就需要将新级别的提高效率的工具集成到开发过程中。但是与此同时,AI辅助软件开发的第一个迭代已经在这里,并且让我们瞥见了我们对编码未来的期望。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://ispeak.vibaike.com/30743

发表评论

登录后才能评论