生成式 AI 如何释放开发者的生产力?

news2024/9/24 11:26:14

生成式 AI 可以将程序员的开发速率提高两倍。技术管理者有望通过 AIGC 应用,大幅缩短四类关键开发任务的完成时间,进而提升组织生产力。

——麦肯锡《通过生成式 AI 释放开发者生产力》

01 生成式 AI 将如何影响研发效能?

麦肯锡最近的一项实证研究发现,生成式 AI 工具可以显著提升程序员的开发速率,进而显著提升组织生产力

该研究对来自美国和亚洲各地的 40 余名开发者展开了观察和实验。参与者们需要执行三种常见的开发任务——代码生成、代码重构和文档编写,而开发者特征、任务的完成时间和复杂性,以及代码质量等数据被科学地记录下来。

研究结果表明,在生成式 AI 的辅助下,可维护性代码文档可以在一半的时间内完成,新代码生成效率提升近一倍,而代码重构类任务的完成时间也节省近三分之一。在新工具和流程的推动下,结合正确的技能提升和企业赋能,这些速度的提升可以转化为生产力的提高,并超越过去工程生产力的进步。

在这里插入图片描述

不过,任务完成时间的减少也可能会因开发任务的复杂性和开发者经验而有所差异。对于高复杂度任务,由于开发者缺乏必要的背景知识,其时间节省不足 10%。此外,在某些情况下,使用了 AIGC 工具的初级开发者(指经验不足一年的开发者)比不使用工具要多花 7%-10% 的时间。

研究还发现,当开发者和工具协作时,研发质量并不会因为速度提升而牺牲或降低。有 AI 辅助的代码在缺陷率、可维护性和可读性等方面的表现更佳。参与者们指出,开发者们正在迭代中积极地应用工具以实现更高的质量,是以该技术应该用于赋能开发者,而不是取代他们。

综合来看,想要使用生成式 AI 并最大限度地提高生产力和降低风险,技术管理者需要采取结构化方法,比如生成式 AI 的培训和辅导、用例选择、技能提升和风险控制。

02 生成式 AI 在四个方面卓有成效

1. 更快完成手动和重复的工作

生成式 AI 可以处理常规任务,例如自动填充标准函数、完成键入中编码语句、根据给定提示按一定标准格式书写代码功能文档等。在此过程中,AI 就能解放开发者,让他们能够解决更复杂的业务挑战,快速开发新功能。

2. 更高效地启动新代码的初稿

面对空白文件时,开发者可以在 AI 工具中获得编码建议。参与者反馈到,AI 辅助工具提供了有用的代码建议,这使他们摆脱了写作障碍,可以更快地开始创作。「这类工具使我能够更快地进入心流状态」,一位参与者如是说到。

3. 加速现有代码的更新

如果能提供有效的提示词,开发者使用生成式 AI 还可以更快地对现有代码展开更多更改。例如,为了减少从在线编码库调整代码和改进预写代码的时间,开发者可以将代码作为提示词,提交迭代查询,要求工具根据事先提供的标准进行调整。

4. 提高开发者应对新挑战的能力

虽然生成式 AI 对复杂任务的提升效果比较有限,但它可以帮助开发者快速温习完成工作所需的陌生代码库、语言或框架。在面临新挑战时,他们可以转向工具来获得如概念解释和框架使用指南等帮助,以更好地完成工作。

因此,使用 AIGC 工具执行复杂任务的开发者在规定时间内完成任务的可能性要比不使用工具的开发者高出 25%-30%。

在这里插入图片描述

除了生产力的提高,研究还发现,让开发者发挥出最大生产力可以显著改善开发者的体验,从而帮助公司留住并激发最优秀的人才。使用生成式 AI 工具的开发者,其总体幸福感、满足感和心流状态是其他人的两倍多。

在这里插入图片描述

03 依赖开发者专业知识的三个领域

生成式 AI 可以做很多事情,但其使用效果取决于使用它们的开发者的技能水平。从参与者的反馈来看,人类的监督和参与在以下三个领域至关重要:

1. 检查代码的漏洞和错误

生成式 AI 有时会提供不正确的编码建议,甚至会在代码中引入错误。一名开发者表示,她必须输入大量的提示来纠正工具的错误假设,然后才能得到答案。

2. 贡献必要的背景信息

虽然现成的 AIGC 应用拥有很多编码知识,但它们不知道项目和组织的具体需求。要确保最终的软件产品能与其他应用程序无缝集成,满足公司的性能和安全要求,并最终解决用户诉求,这些信息必不可少。

开发者需要通过提示词为 AI 提供背景信息,包括代码如何使用、由谁使用、接口类型以及软件将与之交互的其他系统,使用的数据等等。

3. 应对或分解棘手的编码要求

参与者还提到,生成式 AI 更适合回答简单的问题(如优化代码片段),而不是复杂的需求(如将多个框架与不同代码逻辑相结合)。

一位开发者分享到,为了获得可用的解决方案来满足多方面的需求,他首先必须手动地组合各个组件,或将代码分解为更小的片段。「当问题变得更加复杂并且需要考虑全局时,生成式 AI 提供的帮助最小。」

写在最后

ChatGPT 之后,不计其数的 AI 应用和辅助工具涌现,从代码生成、调试到审查、优化,我们都能发现许多令人兴奋的新面孔。也许在不久的将来,生成式 AI 会构建出新的规则,改变代码编写、审查和优化的方式,甚至成为开发者工作的必备工具。

麦肯锡认为,生成式 AI 应该成为开发者探索复杂任务的最强辅助,为其赋能,而不是取而代之。 这与 LigaAI 的观点不谋而合。

作为一款面向开发者的、以人工智能技术为核心的研发管理工具,LigaAI 自成立的第一天起就坚信,开发者最宝贵的时间和精力不该被机械重复的繁杂琐事绊住,形如信息同步、状态更新、任务流转等工作就该交给机器完成。只有这样,开发者才能专注地钻研技术、解决问题、交付价值,释放更多生产力。

相较于上一代工具,LigaAI 创新提出了「智能协作」概念,致力于以 AI 赋能每个用户,真正为研发团队提升效能。如果你正苦于滞后的、失真的进度数据、无法了解团队和项目的真实进展,或者疲于应对各种通知、提醒和干扰,欢迎注册使用我们的产品,体验新一代智能研发协作。立即注册使用:新一代智能研发协作平台 LigaAI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1131441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如果你要去拜访国外客户需要做哪些准备

由于产品不同,我们出国拜访客户的机会很少,一般出去都是受客户邀请,会同时带上设计师或者工程师,很少有独自出国的,毕竟样品是没法带的,最多只能带上画册和项目图。 想起几年前,公司要出国参展…

MIT6.5830 Lab1-GoDB实验记录(一)

MIT6.5830 Lab1-GoDB实验记录(一) – WhiteNights Site 标签:Golang, 数据库 了解接下来的实验要做什么。 实验目的 实现GoDB 从lab1开始一直到实验结束,我们的目的只有一个–实现GoDB,一个基础的数据库管理系统。而…

派克斯电脑全局改IP如何辅助捉妖游戏

捉妖游戏是一款非常受欢迎的手机游戏,玩家需要通过探索地图来捉到各种可爱的妖精。为了让游戏更具趣味性,玩家可以通过地图制作来设计自己的捉妖之旅。在这篇教程中,我们将向您展示如何使用电脑全局软件工具——派克斯,来制作捉妖…

echarts案例之仪表盘如何单独设置指针颜色?

一、此案例基于Vue3ts,效果展示: 二、单个属性的值: 1、单独设置指针的颜色 series:[ ...... { ...... itemStyle: { color: rgba(161, 255, 249, 1), }, ...... } ...... ] 2、设置最外圈数值的样式 series:[ ......…

【linux】安装openjdk8

openjdk的官网 点我就到官网 jdk8的网址 安装 yum install -y java-1.8.0-openjdk-devel 出现Complete! 就是安装完成。 验证 java -version选择对应的包 java-1.8.0-openjdk-devel 开发 Java 程序,请安装该java-1.8.0-openjdk-devel软件包。 java-1.8.0-op…

零代码开发、可视化界面!飞桨AI Studio星河社区带你玩转Prompt应用

号外号外!飞桨AI Studio星河社区上线新版文心一言专区,帮助开发者完成一言插件&大模型应用开发,与此同时推出Prompt模板库供开发者使用。 零代码开发、可视化界面!飞桨AI Studio星河社区带你玩转Prompt应用

使用Python的Flask框架开发验证码登录功能

目录 一、安装和配置Flask 二、生成验证码 三、处理用户输入和验证验证码 四、实现安全的用户认证 五、创建HTML模板 总结 验证码登录功能是现代Web应用程序中常见的安全特性之一,它有助于防止自动化机器人或恶意用户进行非法登录。在本文中,我们将…

windows添加定时任务命令

windows添加定时任务 一.schtasks命令 windows中常用来添加定时任务的命令 二.常用操作 1.添加定时任务 每天下午14:58:00执行test.bat脚本 C:\Users\DELL>schtasks /create /tn doc /tr C:\Users\DELL\Desktop\test.bat /sc DAILY /st 14:58:00 成功: 成功创建计划任务…

【期中复习】深度学习

文章目录 机器(深度)学习的四大核心要素为什么深度学习,不增加网络宽度黑盒模型的问题计算图线性神经网络梯度下降学习率优化方法softmax函数用于多分类交叉熵线性回归与softmax回归的对比为什么需要非线性激活函数感知机线性回归、softmax回…

mysql-面试50题-2

一、查询数据 学生表 Student create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10)); insert into Student values(01 , 赵雷 , 1990-01-01 , 男); insert into Student values(02 , 钱电 , 1990-12-21 , 男); insert into Student v…

Unity3D 打包发布时生成文件到打包目录

有时候需要自己创建批处理文件或日志文件,在启动程序的同级目录使用,减少手动操作的时间和错误率。主要使用到的是OnPostprocessBuild方法。 1、在工程中的Editor文件夹下创建脚本 2、将文件放入Plugins的相关目录 3.脚本内容 using System.Collection…

视频号视频下载教程,为视频博主提供的PC电脑版下载方法

在如今这个数字时代,视频博主们成为了社交媒体平台上的明星。他们创作出精彩纷呈的视频内容,吸引着大量粉丝的关注和喜爱。然而,对于那些想要在自己的电脑上收藏这些视频的人来说,可能需要一些技巧和工具来实现。幸运的是&#xf…

SD-WAN专线:一带一路市场布局的商业加速器

刚刚结束的“一带一路”国际合作高峰论坛再次彰显了跨境合作的重要性。在这个全球化时代,随着一带一路倡议的不断推进,企业需要更加高效、稳定的网络连接来实现与参与国家的合作。在这一背景下,SD-WAN专线成为了加速一带一路合作的新选择&…

【C++】c++引用和小细节

文章目录 一、引用的特性:引用的实质引用权限使用场景引用和指针的区别 c引用不是定义了新的对象,而是对一个已有的对象起了一个别名,如鲁迅和周树人的关系,鲁迅是周树人的笔名,两者是一个东西,只是名字不同…

2023年9月青少年机器人技术(三级)等级考试试卷-理论综合

2023年9月青少年机器人技术等级考试(三级)理论综合试卷 单选题 第 1 题 单选题 Arduino Nano主控板,通过光敏电阻控制LED灯亮度的变化。电路搭设及程序如下图所示,当光照强度逐渐增强时,LED的亮度逐渐减弱&#xff…

k8s-----19、Helm

Helm 1、引入2、概述2.1 重点2.2 V3版本的Helm2.2.1 与之前版本的不同之处2.2.2 V3版本的运行流程 3、安装和配置仓库、一些附带操作3.1 安装3.2 配置仓库3.3 常用命令3.4 添加helm的自动补齐 4、快速部署应用(weave应用)5、 自行创建Chart5.1 Chart目录内容解析5.2 简单安装部…

基于springcloud+web实现智慧养老平台系统项目【项目源码+论文说明】

基于springcloudweb实现智慧养老平台演示 摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗…

stm32f10系列的独立看门狗与窗口看门狗

在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造 成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会 造成整个系统的陷入停滞状态…

[Note] 汉明码与汉明距离的思考

Hamming distance 定义 汉明距离,定义是两个码字之间的不同的位的数量,例如4’b0000和4’b0011的汉明距离为2,4’b0000和4’b1110的汉明距离为3。 一种编码方式的(最小)汉明距离,它的定义就是,…