搜索
首页科技周边人工智能生成式AI将在十个方面改变软件开发

生成式AI将在十个方面改变软件开发

Mar 11, 2024 pm 12:10 PM
人工智能软件开发overflow软件编程

译者 | 陈峻

审校 | 重楼

上个世纪90年代,当人们提起软件编程时,通常意味着选择一个编辑器,将代码检入CVSSVN代码库,然后将代码编译成可执行文件。与之对应的EclipseVisual Studio等集成开发环境(IDE)可以将编程、开发、文档、构建、测试、部署等步骤纳入到一个完整的软件开发生命周期(SDLC)中,从而提高了开发人员的工作效率。

生成式AI将在十个方面改变软件开发

近年来,流行的云计算和DevSecOps自动化工具提升了开发者的综合能力,使得更多的企业能够更加轻松地开发、部署和维护软件应用。

如今,生成式AI作为下一代开发范式转变的催化剂,有望改变企业创建和维护软件的方式,并带来新的开发工具和范式。对此,许多开发人员开始疑惑,AI是否会让我们所熟知的编程技能走向消亡。同时,各个企业的IT领导也在考虑:在未来十年中,AI将如何影响SDLCDevSecOps的发展。带着这两个问题,我将和您在下文中一同寻找答案。

生成式AI是一种新工具,还是一种新的开发方式?

Pulumi首席执行官Joe Duffy认为:“AI将会增强编程的自动化,大幅提升企业的生产力和产出,从而提高人类操作的抽象水平,而不会真正取代编程。”Thomvest Ventures的负责人Ashish Kakran则认为:“生成式AI正在颠覆软件交付的生命周期。”开发和DevOps团队将变得更具生产力。

同时,随着生成式AI功能的不断完善,开发人员的职责会随之调整。Matillion公司的首席技术官Ed Thompson认为:“Copilots的当前形式,实际上是在提高开发人员的工作效率,消除他们过往的繁忙状态。那些认为Copilots已经从根本上改变了编程江湖的人,是错误地假设了开发人员的工作只是编写代码,而不是解决现实问题。”那么,生成式AI到底在会怎样改变软件开发江湖呢?

1.根据自然语言提示生成标准的代码

AstronomerAirflow工程总监Kaxil Naik认为:“通过AI生成的代码模板、以及AI辅助的Copilot将自然语言翻译成功能性代码,简化了对复杂代码库的理解,并确保了遵守开发最佳实践,从而让编程工作变得更加高效。”

StackOverflow2023开发者调查显示,有70%的开发者正在或计划在开发过程中使用AI工具。而在那些已经使用AI进行开发的人群中,有超过82%的使用了AI来编写软件代码。这些数字足以表明,开发人员传统的编写代码、重用现有代码、以及构建组件的方式,正在发生模式上的转变。

2.代码验证是开发人员的重要职责

除了让编程变得更加简单和高效,开发人员需要的担负着重要责任是,花费大量的时间、以及使用高效的工具,来验证代码,避免生成的代码存在安全问题、或有性能缺陷。

Sonar的开发者关系部主管Peter McKee认为:“随着开发人员更多地采用AI来提高生产力,他们有责任对AI生成的内容进行全面检查。”通常,边编程边清理,可以确保在交付过程中执行持续的检查和监控。据此,开发人员可以将更多时间花在新的任务上,而无需修复那些人工创建的、或由AI生成的代码里潜在的错误与漏洞。McKee补充说:“如果开发人员未能通过自动化来扫描和监控AI生成的代码,那就意味着后续需要修复的代码和技术债会成倍增加。

3.成为大企业新的开发模式

使用生成式AI工具开发代码,可能会如何影响各个开发团队在大型企业中,支持数千种应用工具和标准。如果开发人员只需编写较少的代码,并更多地与由生成式AI开发的代码相集成,那么大型企业的开发工作会成什么样子?

Red Hat开发工具与战略推广部的Markus Eisele认为:“不同团队的不同工具组合,会导致缺乏标准化和统一的开发实践,更不用说由此增加的开发人员的认知差异。”而由AI构建的集中式开发门户,能够方便开发团队的轻松访问,并通过消除协同过程中的摩擦,来成就跨团队应用的最佳实践。这就意味着集成开发环境可能会蜕变为装配平台,类似于制造业中的计算机辅助设计(CAD)或建筑业中的建筑信息建模(BIM)。其重点将从构建定制组件转移为组装已有组件,以及利用内置工具来验证设计。

4.编程量的减少,代码供应链风险的增加

使用生成式AI开发的代码的另一个影响,是涉及到企业领导者将如何制定相关政策,以及如何监控企业应用中嵌入了哪些供应链的代码。一直以来,企业需要持续跟踪的是开源和商业软件组件。将来,它们需要增加生成式AI的输出这一新的层面。

Sonatype的现场首席技术官Ilkka Turunen认为:“开发人员需要在维护和管理AI供应链方面发挥重要作用。他们将会在企业的日常运营中,对AI模型的安全性、真实性和来源予以更严格的审查。通过实施AI风险评估,并妥善管理AI模型物料清单,企业应确保开发基础架构拥有适当的AI安全和管理。”

在实践中,SASTDAST、以及其他安全与代码管理工具,能够提高代码扫描的自动化能力,并且可以在开发人员将代码集成到企业资源库之前,协助验证生成式AI的产出代码是否符合安全策略。

5.新模式加速整合

在过去十年中,通过应用程序接口(API)、IFTTTSaaS集成平台、集成平台即服务(iPaaS)、以及其他生态系统技术,开发人员的代码集成能力有了数量级的提升。尽管如此,开发人员仍然需要做大量的基础性工作,来映射数据字段、编程逻辑转换、以确保可靠性与性能。而利用生成式AI,开发人员可以构建出具备自然语言需求、可视化流程的无代码集成。

供职于SAP AI与创新团队的Emmanuel Cassimatis认为:“过去,从设计、构建、测试、集成、部署、交付到审查,整个开发生命周期中的不同步骤向来是分散的。而AI则可以从不同应用的数据中挖掘并实现一个统一的集成层面,从而加强开发人员之间的协作。”

6.开发人员将成为AI代理的管理者

Honeycomb的首席产品经理Phillip Carter认为,生成式AI将改变开发人员和质量保证(QA)工程师未来的工作任务。“将来,自然语言很可能会指导更多的代码生成和验证生成代码的测试。其中,AI代理将完成大部分工作,而开发人员则需要为这些代理设定需要遵循的编程目标和约束条件。”

Carter继续大胆地预测:“AI代理能够通过分析程序运行时的行为,检查未知的因素,以执行过去开发人员难以企及的QA、可观察性和安全任务。”据此,开发人员可以高屋建瓴地从上层定义系统架构、非功能性、以及操作要求,从而指导生成式AI进行代码开发和自动测试,而非亲历亲为。

7.AI被引入SDLC的多个阶段

虽然目前Copilots和许多生成式AI工具主要侧重于编程,但是其新的功能也会改变SDLC中的其他阶段。Gigster的首席解决方案工程师Humberto Moreira认为:“随着生成式AI被纳入SDLC,不同的模型会有其最为适合的特定周期阶段。例如,A模型可能会针对需求进行优化;B模型则是针对代码开发,而C模型却针对的是QA。”

实际上,由于各类工具提供了更为强大的测试用例,并且能够对代码的更改提供更快的反馈,因此生成式AI模式的转变已经对QA产生了一定的影响。Descope的联合创始人Gilad Shriki说:“随着AI的崛起,从SDK到测试、再到文档,所有围绕着软件工程的方方面面都会得到生成式AI的辅助。开发人员甚至需要以特定的AI使用格式,来记录他们的工作。”

8.生成式AI细分开发角色

生成式AI在软件开发中的角色可能会从目前传统的人类开发职能中分离出来。也就是说,由机器扮演的不同代码生成器、编译器、以及其他开发细分角色会逐渐出现。

Chainguard的工程副总裁Dustin Kirkland认为:“除了人类开发者熟悉的传统代码开发视角,另一种隐蔽的视角将会出现。这种视角虽然对于人类的可读性较低,但是可以被由AI扮演的编译器和解释器完全领会。它将作为另一种代码的中间层,提供所谓AI安全优化的防御视图。”不过,也有人质疑:AI本身的安全识别能力是否准确、高效。

9.AI提高开发过程的运营能力

LaunchDarkly的开发者体验总监Cody De Arkland提出了使用生成式AI、以及交互式学习,来协助提高软件应用的可靠性和操作性的用例。其中包括:

  • 开发并生成符合已学到的、满足设计标准的Web应用组件
  • 在检测到开发人员创建了新的功能时,创建相应的功能标记
  • 启动新的软件部署(CI/CD),并能在发现问题时将其回滚
  • 通过定制运行而非部署后运行,为QA提供实时的反馈回路

当然,这些用例也伴随着一个问题:生成式AI将启用或增强哪些下一代开发和SRE能力。

10.企业必须防范的AI风险

随着生成式AI更多地参与到整个SDLC中,一个新的问题可能会出现,即:生成式AI可能引发的知识产权(包括代码和数据)等风险。为此,企业需要权衡其收益是否大于风险。

Tabnine生态系统和业务开发副总裁Brandon Jung认为:我们需要密切关注进入模型的数据,特别是训练集中的数据,花费时间和精力去评估和选择AI模型,以保护企业最宝贵的资产--代码和数据。

虽然我们还处于用生成式AI开发软件的初期,但是生成式AI算法、以及支持这些算法的工具,是否能够建立起保护企业资产的保障措施,则在很大程度上需要依赖于生成式AI本身对于软件开发、测试、部署、以及维护的掌控能力上。

译者介绍

陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。

原文标题:10 ways generative AI will transform software development,作者:Isaac Sacolick

以上是生成式AI将在十个方面改变软件开发的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
如何使用LM Studio在本地运行LLM? - 分析Vidhya如何使用LM Studio在本地运行LLM? - 分析VidhyaApr 19, 2025 am 11:38 AM

轻松在家运行大型语言模型:LM Studio 使用指南 近年来,软件和硬件的进步使得在个人电脑上运行大型语言模型 (LLM) 成为可能。LM Studio 就是一个让这一过程变得轻松便捷的优秀工具。本文将深入探讨如何使用 LM Studio 在本地运行 LLM,涵盖关键步骤、潜在挑战以及在本地拥有 LLM 的优势。无论您是技术爱好者还是对最新 AI 技术感到好奇,本指南都将提供宝贵的见解和实用技巧。让我们开始吧! 概述 了解在本地运行 LLM 的基本要求。 在您的电脑上设置 LM Studi

盖伊·佩里(Guy Peri)通过数据转换帮助麦考密克的未来盖伊·佩里(Guy Peri)通过数据转换帮助麦考密克的未来Apr 19, 2025 am 11:35 AM

盖伊·佩里(Guy Peri)是麦考密克(McCormick)的首席信息和数字官。尽管他的角色仅七个月,但Peri正在迅速促进公司数字能力的全面转变。他的职业生涯专注于数据和分析信息

迅速工程中的情感链是什么? - 分析Vidhya迅速工程中的情感链是什么? - 分析VidhyaApr 19, 2025 am 11:33 AM

介绍 人工智能(AI)不仅要理解单词,而且要理解情感,从而以人的触感做出反应。 这种复杂的互动对于AI和自然语言处理的快速前进的领域至关重要。 Th

12个最佳数据科学工作流程的AI工具-Analytics Vidhya12个最佳数据科学工作流程的AI工具-Analytics VidhyaApr 19, 2025 am 11:31 AM

介绍 在当今以数据为中心的世界中,利用先进的AI技术对于寻求竞争优势和提高效率的企业至关重要。 一系列强大的工具使数据科学家,分析师和开发人员都能构建,Depl

AV字节:OpenAI的GPT-4O Mini和其他AI创新AV字节:OpenAI的GPT-4O Mini和其他AI创新Apr 19, 2025 am 11:30 AM

本周的AI景观爆炸了,来自Openai,Mistral AI,Nvidia,Deepseek和Hugging Face等行业巨头的开创性发行。 这些新型号有望提高功率,负担能力和可访问性,这在TR的进步中推动了

报告发现,困惑的Android应用程序有安全缺陷。报告发现,困惑的Android应用程序有安全缺陷。Apr 19, 2025 am 11:24 AM

但是,该公司的Android应用不仅提供搜索功能,而且还充当AI助手,并充满了许多安全问题,可以将其用户暴露于数据盗用,帐户收购和恶意攻击中

每个人都擅长使用AI:关于氛围编码的想法每个人都擅长使用AI:关于氛围编码的想法Apr 19, 2025 am 11:17 AM

您可以查看会议和贸易展览中正在发生的事情。您可以询问工程师在做什么,或咨询首席执行官。 您看的任何地方,事情都以惊人的速度发生变化。 工程师和非工程师 有什么区别

火箭发射模拟和分析使用Rocketpy -Analytics Vidhya火箭发射模拟和分析使用Rocketpy -Analytics VidhyaApr 19, 2025 am 11:12 AM

模拟火箭发射的火箭发射:综合指南 本文指导您使用强大的Python库Rocketpy模拟高功率火箭发射。 我们将介绍从定义火箭组件到分析模拟的所有内容

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境