AI辅助开发比人工编写代码快180多倍
极客时间编辑部
讲述:丁婵大小:6.93M时长:05:03
在过去短短几年里,人工智能对开发团队的重要性产生了质的飞跃。近日,Diffblue 首席执行官马修·洛奇(Matthew Lodge)在其文章中表示,“目前我们已经走到了人工智能辅助软件开发的初级阶段。”以下为他的观点和业界的一些实践。
AI 在自动化领域不可或缺
所有的软件开发组织都追求高效、敏捷开发,自动化技术已经能实现大规模敏捷开发。过去十年,在进行自动化测试时,一旦代码发生变化,开发人员能够立即做出反馈,同时进行相应的调整,因此软件质量有了很大提升。自动化软件流水线利用机器人助手来生成 Pull Request 请求,从而保证更新的持续交付。
但是许多已经运用了这项技术的公司发现,仅依靠自动化是不够的。自动化过程仍然存在瓶颈,在新代码的创建上仍然要进行人工操作来保证代码质量。
好消息是,现有的人工智能代码技术已经可以解决掉这个问题了。尽管在单元测试中使用人工智能并不容易,但它可以让自动化更加完善。另外,虽然人工智能创建的测试与人类编写的测试存在差异,但这些测试能在很短的时间内生成,而且功能也算合格。如果不能做到比人类编写的代码更好,那就要保证出现问题时代码能很容易地被修复。
总体来看,人工智能辅助开发不仅能让开发人员在不牺牲质量的情况下更快、更经济地创建新产品,也能帮助他们快速地完成重复性任务,把注意力回归到创造性任务中,让他们在工作中更有获得感。
落地是关键
像金融业这些高度重视代码质量的行业,也已经开始使用人工智能辅助软件开发了。例如,为提高软件开发效率,高盛(Goldman Sachs)最近已经开始使用人工智能编写代码了。他们利用 AI 工具为一个遗留的应用程序编写了 3000 多个单元测试和 1.5 万多行代码,在几个小时内就创建了一个完整的测试套件。与人工编写测试每个平均耗时 30 分钟相比,AI 工具能以超过 180 倍的速度编写测试。总的来说,银行利用这项技术节省了一年多的开发时间。
设计师和工程师们在设计上达成一致意见后,会将草图拍摄下来,然后手动将草图翻译成 HTML 代码,这个翻译过程耗时耗力,还会拖慢整个设计过程。因此,开发人员设想,如果将白纸上手绘的这些设计草图立即反映在浏览器中会怎样呢?结果是设计师们在头脑风暴结束后,立即可以拥有一个已经由设计师、开发人员甚至客户验证过的现成原型,这样可以为网站和应用程序开发省去不少时间,因此也就有了 Sketch2Code 的诞生。
Facebook 在这方面也不甘落后,早在去年公司就开发了一款名为 Getafix 的工具,可以自动查找出 Bug 的修复方案,并提供给工程师审批,这极大提高了工程师的工作效率和整体代码质量。Getafix 不仅能够为工程师提供直观的修复方案,还能利用更强大的聚类算法,分析问题代码的上下文找到更合适的修复方案。Getafix 已经被部署到拥有数十亿用户的 Facebook 生产环境中,大大提升了应用程序的稳定性。
人工智能辅助开发未来可期
值得一提的是,目前人工智能辅助开发还停留在非常初级的阶段,只能辅助开发人员编码和进行自动测试,无法实现大规模工业化应用,复杂和高难度的编程还要依靠人类开发人员。但我们依然需要这样的 AI 辅助技术帮助开发人员抗下那些基础性的“粗活累活”,让他们有更多时间和精力完成更加复杂的开发。
以上就是今天的内容,对于 AI 辅助开发编程,身为技术人的你是喜是忧呢?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- 十里坡剑神程序员努力干掉自己系列5
- 终于找回了人类进化的过程中是要淘汰一部分人的2
- Denson期待能做到“乐高”式 不过 感觉如果想让所谓人工智能辅助发挥最大作用,首先要想办法让绝大多数软件工程师日渐转变为只设计组装而不允许其写任何代码!!! 因为机器真的搞不懂这都写的是些什么鬼东西,😄
收起评论