0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AI如何助力、驱动软件研发?

vliwulianw 来源:软件质量报道 2023-08-01 15:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

人工智能AI)正在颠覆一切,软件工程也不能幸免。生成式人工智能(AIGC)在编码、设计、测试和 DevOps 方面的最新展示确实令人印象深刻,甚至可以说令人敬畏。 AIGC是人工智能的一个分支,专注于创建和生成新的内容,如图像、文本、音频甚至视频,这些内容很难与人类生成的内容区分开来。近几个月来,由于大型语言模型(LLM)的进步,以及 OpenAI、Stable Diffusion 和其他大厂的产品发布,AIGC备受关注。

虽然很难量化AIGC的准确传播范围,但可以肯定的是,研究人员、开发人员和软件从业人员正在积极探索和利用AIGC的各种功能领域,如图像和文本生成、音乐和声音合成、视频生成、虚拟人物和化身创建以及数据增强。 软件工程是AI革命的一部分,而AIGC可以为软件开发生命周期(SDLC)的各个阶段带来显著的帮助

由于软件有着天生的数字化特性,软件工程尤其适合借助AIGC的力量

具体的工程任务,如数值分析和数据工程、文档编制、编码和质量控制,在某种程度上可能是重复性的;因此,非常适合由训练有素的AI模型提供帮助。其次,复杂的算法代码结构适合由AI助手生成。此外,软件开发人员面临的许多挑战可能已经解决。因此,对于训练有素的AI模型来说,代码模块已经可用,生成整个函数或类也就变得可行了。

AIGC是增强人类能力和加速软件开发的有力工具

对于业务依赖于创建、维护或销售软件的公司来说,使用正确的AIGC工具可以提高开发人员的效率、创造超越竞争对手的机会。企业可以通过多种方式利用AIGC工具,包括开发人员的优化和和培训的工作,以及为关键工程任务启用AIGC工具。 本文将对AI驱动/辅助软件工程生态系统、可用的最新工具、可帮助完成的工程任务以及应避免的注意事项进行高屋建瓴的阐述。

1. 当前的 SDLC(软件开发生命周期)

要了解AIGC对软件工程的帮助有多大,快速了解一下目前公认的敏捷软件开发生命周期(SDLC)可能会有所帮助。 经典的敏捷软件开发生命周期(SDLC)以较小的、可操作的、迭代的和增量的周期启动并进行演化,直到代码完全开发、测试并部署到生产环境中。同样,分析、设计、编码和测试也被分成较小的块来执行,而 DevOps 则在整个过程中持续进行。

在敏捷分析阶段一般会包括用户故事和史诗(Epic)的编写,而设计阶段则会引入架构图的创建和数据结构的设计。编码和测试阶段通常包括用不同的语言编写软件和制作测试线束,以确保它们按照特定要求运行。测试和QA还可能包括独立测试,以确保一切按预期运行。同样,DevOps 也采用不同的方法,如环境配置、基础设施即代码和 CI/CD 流水线。

5767cfd0-3026-11ee-9e74-dac502259ad0.png

图1 当前的敏捷 SDLC

2. AI驱动的 SDLC

AI可以协助 SDLC 的每个阶段,缩短整个SDLC的反馈环路,使公司能够更快地推出产品。结果如何?企业通过在 SDLC 中使用人工智能驱动的工具来提高竞争优势。

OpenAI 开发的 ChatGPT 等工具可以帮助进行市场调研和趋势分析。AI可以分析客户偏好,并通过简单的文本提示帮助编写用户故事。从技术角度来看,它们还可以在产品发布前自动执行 CI/CD 流程、环境脚本、安全测试和性能测试。

GPT-4 还能帮助开发人员生成功能代码、测试线束和自动化。此外,还可以创建数据模型、DDL 和序列图。

5779931e-3026-11ee-9e74-dac502259ad0.png

图1 AI的敏捷 SDLC

GitHub Copilot 、AWS CodeWhisperer 、华为CodeArts Snap等AI工具可在集成开发环境中自动完成大型代码块并检查代码质量问题,从而提高开发人员的工作效率。GitHub 和微软最近进行的一项研究表明,当开发人员使用 Copilot 提供代码帮助时,开发人员的效率提升超过 55%。从历史的角度来看,这是生产率的显著提高,超过了 19 世纪中期蒸汽机的引入,当时蒸汽机 "仅 "将大型工厂的生产率提高了 15%。

人工智能在整个 SDLC 中的累积效应可使综合效率提高 30-50%。

3. 在软件工程中应用AI

现在众所周知,AI具有为技术组织增值的巨大潜力。但是,AI能直接帮助哪些关键的软件工程活动呢?下面列出的只是AI能为创建软件的团队做些什么。

1)代码生成

GitHub Copilot 、CodeWhisperer 、CodeArtsSnap等AI工具可以根据简单的文本提示生成整个代码功能。

让我们来看看下面这个例子:在 Visual Studio Code 中,安装 AWS CodeWhisperer 扩展后,当用户键入下面的提示时,就会得到一个能解决问题的完整函数:

57bc5db6-3026-11ee-9e74-dac502259ad0.png

(在 JavaScript 中生成 CSV 字符串解析函数的文本提示)

生成的结果是一个完全可用的函数:

57e18316-3026-11ee-9e74-dac502259ad0.png

当我们尝试上述提示的变体,增加额外的复杂度时,我们很可能会发现当前AI工具的一个缺陷。

让我们试试下面的提示:

58291a8c-3026-11ee-9e74-dac502259ad0.png

(提示:用于生成美国邮政编码的解析函数,同时将邮政编码转换为经度和纬度)

结果生成如下所示的函数:

583fecd0-3026-11ee-9e74-dac502259ad0.png

(生成的代码确实会根据提示接收字符串并解析 CSV,但不会进一步将邮政编码地理编码为经纬度值。) 虽然这项更为复杂的任务需要进一步引导它去查询,例如访问 REST API(如美国人口普查局 Geocoder REST APIs8 提供的 REST API),但还是需要谨慎和警惕,因为该工具甚至没有尝试彻底解决问题。相反,它只是提供了一个模板代码,没有达到预期效果。

这个例子凸显了当前AI工具的局限性之一:不能盲目相信生成的代码,开发人员仍处于主导地位。“检查代码的准确性、完整性和错误” 对于AI驱动的开发人员工作流程至关重要。随着工具日臻完善并向每位开发人员学习,生成代码的准确性和复杂性也会随之提高。尽管如此,如今开发人员仍然牢牢掌握着控制权。

2)代码解释 作为开发人员,我们有时会加入一个项目或继承复杂的应用程序代码。我们可能需要花上好几天的时间才能理解项目的结构和代码的工作原理,尤其是在文档很少的情况下。在这种情况下,ChatGPT 可以帮助我们解释代码。 例如,让我们看看下面的 Angular 函数:

585a42d8-3026-11ee-9e74-dac502259ad0.png

我们可以给出提示 "解释下面的 Angular 代码是做什么的"。 下面 ChatGPT 的回复相当全面准确地解释了函数的作用:

58b65230-3026-11ee-9e74-dac502259ad0.png

正如该示例所示,ChatGPT 可以减少阅读、理解和解释现有应用程序代码所需的时间,并进一步帮助开发人员加快入职或在新代码库中提高工作效率。

3)AI驱动的软件工程的其他任务

除了编写和解释代码,AI每天都在掌握新的技能。下面列出的只是AI辅助软件开发能力不断增长的少数例子:

编写用户故事

生成数据模型

生成 DDL 和 DML

用人鱼脚本生成数据图表

生成序列图

生成系统图

用任何语言生成 OO 类模型

生成代码

将代码从一种语言翻译成另一种语言

编写自动测试

编写代码文档

为基于 REST 的应用程序接口编写 Swagger 定义

改进(重构)现有代码

编写代码注释

生成线框(GalileoAI)

调试代码 + 静态分析(Deepcode)

自动代码重构(Sourcery)

设计模式识别

代码审查(DeepScan

更完整的清单超出了本文的范围,将在后续文章中介绍。不过,在开始一项复杂的任务之前,最好先在网上查看一下AI功能。可能已经有AI工具或插件可以解决问题。未来还将带来更多工具,并扩展现有工具的功能。

在AI的帮助下,开发人员、架构师和参与 SDLC 的每个人都将变成能够更快地编写出更好代码的超人

4. 结论

AIGC的出现为技术组织提供了提高效率的工具和技术。团队可以创建更好的软件产品,缩短开发生命周期,并对新原型进行市场测试,从而接触到更多客户,提高团队效率。

企业可以通过拥抱变化并将AI定位为技术转型的核心(AI+X),从AI革命中获益;我们需要将AI的力量视为一种推动力,而不是一种威胁;我们的员工必须根据新出现的新一代AI工具接受再培训,以了解其真正的潜力。此外,企业还可以将AI的应用范围从软件工程扩展到产品管理、质量保证、网络安全和 DevOps。 总之,本文表明,虽然AIGC仍处于起步阶段,但每天都会出现新的、功能更强的工具,这为专注于不断学习、适应和发展的企业提供了可持续的长期竞争优势。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1821

    文章

    50523

    浏览量

    267777
  • AWS
    AWS
    +关注

    关注

    0

    文章

    445

    浏览量

    26711
  • javascript语言

    关注

    0

    文章

    3

    浏览量

    1058
  • OpenAI
    +关注

    关注

    9

    文章

    1263

    浏览量

    10328
  • LLM
    LLM
    +关注

    关注

    1

    文章

    351

    浏览量

    1412

原文标题:AI如何助力、驱动软件研发?

文章出处:【微信号:软件质量报道,微信公众号:软件质量报道】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Token烧了几十亿,代码还是一团乱!AI原生开发该怎么管理?

    工程师,纯纯的“人治”时代。现在 AI 可以代劳大多数 Coding 工作,未来势必成为研发的“主力军”。工程师以后可能只参与 10% 的工作,甚至更少。 这种变化将彻底改变我们生产软件的方式,管理
    发表于 04-14 19:50

    智造引擎,仿真之巅:Altair HyperWorks 重塑工程研发新格局?

    、顶尖优化、AI 赋能、开放兼容四大核心竞争力,重新定义 CAE 平台标准:· 为企业缩短研发周期 30%-70%,减少物理原型 60%-90%,大幅降低研发成本;· 助力产品轻量化
    发表于 04-03 14:45

    Altair OptiStruct:重构结构研发逻辑,引领工业仿真与优化新纪元

    ,打破了传统CAE软件“仅做分析验证”的局限,构建起“分析-优化-迭代-验证”的闭环研发体系,真正实现从被动校核到主动创成设计的跨越。其核心技术优势,精准直击工业研发的核心痛点,兼顾精度、效率与实用性
    发表于 03-20 10:25

    软通动力ASDM AI优先软件研发流水线助力软件工程发展

    AI 深度融入软件工程的当下,软通动力 ASDM(AI 优先的系统化研发方法和平台)打造的AI 优先的
    的头像 发表于 02-27 11:21 724次阅读
    软通动力ASDM <b class='flag-5'>AI</b>优先<b class='flag-5'>软件</b><b class='flag-5'>研发</b>流水线<b class='flag-5'>助力</b><b class='flag-5'>软件</b>工程发展

    Robotec.ai与AMD Silo AI的合作实践

    。秉承 Robotec.ai 的使命,AMD Silo AI 正通过 Robotec.ai 的开源 AI 驱动数字孪生仿真工具,
    的头像 发表于 01-28 16:23 932次阅读

    生命科学领先企业采用 NVIDIA BioNeMo 平台加速 AI 驱动的药物研发

    新闻摘要: l 礼来与 NVIDIA 宣布成立 AI 联合创新实验室以应对药物研发挑战。 l NVIDIA 携手赛默飞打造自主实验室基础设施,加速可规模化的科学发现。 l Chai
    的头像 发表于 01-14 11:40 745次阅读
    生命科学领先企业采用 NVIDIA BioNeMo 平台加速 <b class='flag-5'>AI</b> <b class='flag-5'>驱动</b>的药物<b class='flag-5'>研发</b>

    安霸推出开发者社区以助力部署端侧AI应用

    安霸开发者社区为合作伙伴提供优先体验通道,助力其在安霸 AI SoC 及 Cooper 开发软件上评估、构建并大规模部署端侧 AI 应用。
    的头像 发表于 01-08 14:50 489次阅读

    12月19日,武汉见!| AI×系统工程:2025汽车电子软件研发技术研讨会

    12月19日,经纬恒润将在武汉举办2025汽车电子软件研发技术研讨会。本次研讨会将深度剖析AI如何作为核心驱动力,赋能汽车电子的系统工程。期待您的参会!
    的头像 发表于 12-10 15:55 1762次阅读
    12月19日,武汉见!| <b class='flag-5'>AI</b>×系统工程:2025汽车电子<b class='flag-5'>软件</b><b class='flag-5'>研发</b>技术研讨会

    融合AI的OpenHarmony应用软件开发:ai学习自律辅助软件

    *附件:ai study.zip*附件:融合AI的OpenHarmony应用软件开发:ai学习自律辅助软件.pdf 基于开源鸿蒙编写的
    发表于 11-12 15:38

    AI 芯片浪潮下,职场晋升新契机?

    在科技飞速发展的当下,AI 芯片已然成为众多行业变革的核心驱动力。从互联网巨头的数据中心,到我们日常使用的智能手机、智能家居设备,AI 芯片的身影无处不在,深刻改变着产品形态与服务模式。而对于身处
    发表于 08-19 08:58

    睿海光电800G光模块助力全球AI基建升级

    领先的技术研发实力、行业领先的交付速度(较同行快2-3天)以及高度兼容的解决方案,迅速崛起为AI光模块领域的标杆企业。目前,睿海光电已为全球1560余家客户提供包括800G SR8在内的多场景产品矩阵
    发表于 08-13 19:05

    睿海光电以高效交付与广泛兼容助力AI数据中心800G光模块升级

    引领AI时代网络变革:睿海光电的核心竞争力 在AI时代,数据中心正经历从传统架构向AI工厂与AI云的转型。AI工厂依赖超大规模GPU集群
    发表于 08-13 19:01

    喜讯!华微软件AI领域再获发明专利

    近日,华微软件自主研发的“基于深度学习动态图神经网络技术检测电力系统网络安全行为的方法”正式获得国家知识产权局授予的发明专利证书。这一新进展,标志着公司在AI领域的技术实力迈上新台阶。这项专利也将
    的头像 发表于 07-25 10:16 709次阅读
    喜讯!华微<b class='flag-5'>软件</b><b class='flag-5'>AI</b>领域再获发明专利

    大家都在用什么AI软件?有没有好用的免费的AI软件推荐一下?

    大家都在用什么AI软件?有没有好用的免费的AI软件推荐一下?直接发个安装包,谢谢。比如deepseek、Chatgpt、豆包、阿里AI、百度
    发表于 07-09 18:30

    润和软件AIRUNS 3.0助力企业打造私有化AI模型

    当下,AI技术发展迅猛,各行业积极拥抱AI的同时,也面临着AI工程化技术门槛高、国产化适配难、算力资源管理难、业务落地效率低下等痛点。为解决这些问题,江苏润和软件股份有限公司(以下简称
    的头像 发表于 06-28 17:03 1703次阅读