人工智能辅助软件开发引发的变革

新知榜官方账号

2023-07-06 04:42:48

随着人工智能技术的不断进步,人工智能辅助软件开发已经初见端倪。开发人员的准入门槛比以往任何时候都要高,重复性的任务占据了软件开发的大部分时间,并且很容易出错。市场上软件开发人才短缺,团队超负荷工作,许多企业既无法完全掌握现有的日益复杂的代码,又追不上新程序开发日新月异的发展步伐。

人工智能能否在几天之内创建好原型框架而不用耗时几个月甚至几年?它会教人类开发人员如何更好地编写代码吗?人工智能的研究范围很广,计算机编程的灵活性基本上也是无边界的,所以很难想象当智能程序可以帮助人类与代码交互时,软件开发会是什么样子。但许多开发人员和技术经理没有意识到的是,在过去短短几年里,人工智能对开发团队的重要性就已经产生了质的飞跃。

市场上所有的软件开发组织都追求高效、敏捷开发,自动化技术已经能实现大规模敏捷开发。过去十年,在进行自动化测试时,一旦代码发生变化,开发人员能够立即做出反馈,同时进行相应的调整,因此软件质量有了很大提升。自动化软件流水线利用机器人助手来生成PullRequest请求,从而保证更新的持续交付。

但是许多已经运用了这项技术的公司发现,仅依靠自动化是不够的。自动化过程仍然存在瓶颈,大多数问题出现在新代码的创建上。例如,自动化可以快速完成成百上千个单元测试,如果开发团队自己来编写这些测试,则需要几个小时甚至几周。但是如果这些提交没有经过测试验证,那么自动化的流水线就会产生垃圾。尽管会打破原本自动化的过程,但在添加新代码(和新测试)时,还是需要进行人工操作。

人工智能编码技术好消息是,通过自动编写验证自动化流水线其余部分的测试代码,现有的人工智能代码技术已经可以一次性解决掉这两个问题。这样的任务过去需要耗费开发人员很多时间,妨碍了他们去做创建新功能等这种更有价值的工作。在单元测试中使用人工智能让自动化更加完善,尽管这个过程并不容易。正如曾经预期的那样,人工智能创建的测试与人类编写的测试存在差异。但这些测试能在很短的时间内生成,而且功能也算合格。

利用人工智能帮助开发者编写代码,让开发人员和IT经理不再被时间、成本和工作质量无法权衡的问题而困扰。不少开发人员在最初进行软件开发时都颇具创造力,但是大量的重复性的工作消磨掉了他们原本的创造力。人工智能辅助开发不仅能让开发人员在不牺牲质量的情况下更快、更经济地创建新产品,也能帮助他们快速地完成重复性任务,把注意力回归到创造性任务中,让他们在工作中更有获得感。

像金融业这些高度重视代码质量的行业,也已经开始使用人工智能辅助软件开发。例如,为提高软件开发效率,高盛(GoldmanSachs)最近已经开始使用人工智能编写代码。微软也曾开源Sketch2Code,利用人工智能辅助技术帮助设计师和工程师将手绘的用户界面草图转换为可用的HTML代码。Facebook在这方面也不甘落后,开发了一款名为Getafix的工具,可以自动查找出bug的修复方案,并提供给工程师审批,这极大提高了工程师的工作效率和整体代码质量。

目前人工智能辅助开发还停留在非常初级的阶段,只能辅助开发人员编码和进行自动测试,无法实现大规模工业化应用,复杂和高难度的编程还要依靠人类开发人员。但随着人工智能技术的不断进步以及成功应用在更多案例中,各个行业未来都将加大人工智能在软件开发方面的投入。全球科技巨头们跃跃欲试开源各种AI辅助开发工具,市场主体还需要将提高效率的新工具集成到开发过程中。与此同时,人工智能辅助软件开发技术正在完成首次迭代更新,也让我们初步了解了未来编码技术将如何发展。

本页网址:https://www.xinzhibang.net/article_detail-6187.html

寻求报道,请 点击这里 微信扫码咨询

关键词

人工智能 软件开发 自动化

分享至微信: 微信扫码阅读

相关文章