网易首页 > 网易号 > 正文 申请入驻

AI辅助代码生成究竟有多好?

0
分享至

虽然在软件开发中使用生成式AI工具越来越普遍,但代码质量、安全性和代码重用问题却一直被忽视。

生成式AI辅助编码让开发人员可以使用自然语言提示或部分代码输入来基于数字工具更快、更准确地编写代码。(就像一些电子邮件平台一样,这些工具还可以在实时编写代码时自动建议补全代码。)

AI辅助代码生成工具在软件工程领域越来越普遍,出乎意料的是,它们已成为大多数组织尝试生成式AI(genAI)的低垂果实。采用率正在暴涨。原因是即便这些工具仅建议新应用程序的基线代码,自动化工具也可以消除原本需要耗费在手动代码创建和更新上的大量时间。

专门从事软件开发的市场研究公司Evans Data Corp.对434名AI和机器学习开发人员进行了一项跨国调查。当被问及他们最有可能使用genAI工具创建什么时,最多回答是软件代码,其次是算法和大型语言模型(LLM)。他们还表示,期望生成式AI能够缩短开发周期并更容易添加机器学习功能。

根据Gartner Research的数据,到2027年,将有70%的专业开发人员使用AI驱动的编码工具,而2023年9月这一比例不到10%。Gartner还表示,在未来三年内,80%的企业将把AI增强的测试工具集成到其软件工程工具链中——比去年年初大约15%的水平显著增加。

用于生成式AI自动化软件开发的顶级工具之一是GitHub Copilot。GitHub Copilot由GitHub、OpenAI和微软开发的生成式AI模型提供支持,并从公共存储库中出现的所有自然语言中训练而来。

自从去年推出GitHub Copilot for Business以来,已有超过50,000家组织注册使用它,包括Etsy和HelloFresh等数字化公司,以及Autodesk、Dell Technologies和高盛等领先企业,据微软开发者部门公司副总裁Amanda Silver表示。(微软于2018年收购了GitHub。)

根据Silver的说法,GitHub Copilot现在拥有超过130万付费订阅者。她说:“有着5万份许可证,Accenture现在是GitHub迄今为止最大的Copilot客户。”

除了GitHub的Copilot之外,一些最受欢迎的代码生成工具还包括Google Bard、Amazon CodeWhisperer、由GPT驱动的Microsoft 365 Copilot、Replit、Divi AI、Tabnine、Refact.ai和Codeium。大多数工具都是免费的或作为更大AI驱动订阅服务的一部分提供。

AI驱动的软件增强工具对于开发人员的效率和生产力影响巨大。例如,Amazon Web Services (亚马逊云科技)进行了一项生产力挑战,发现使用其CodeWhisperer代码开发工具的开发人员比不使用该工具的开发人员平均快57%完成任务的可能性高27%。

(Amazon Q 是由Amazon为企业使用而开发的基于生成式AI的聊天机器人,也是其CodeWhisperer工具的支撑。Amazon Q由Amazon Bedrock提供支持,后者可访问一系列模型,包括来自Amazon Titan家族的模型。)

根据一项Amazon-Persistent研究,使用Amazon CodeWhisperer的定制功能的开发人员完成任务的速度比不使用定制功能时快28%。

例如,5名亚马逊开发人员使用Amazon Q Code Transformation仅用两天时间就将1,000个生产应用程序从Java 8升级到Java 17。据一位亚马逊发言人透露,每个应用程序的平均时间不到10分钟,而以前升级一个应用程序需要两天时间。

自从2023年4月正式上市以来,Amazon CodeWhisperer已吸引了超过10万客户。例如,软件开发和外包服务公司HCLTech正在为5万多名HCLTech工程师、云从业人员和开发人员部署Amazon CodeWhisperer,为内部使用和为客户构建安全应用程序。

未来两年,Accenture计划让5万名开发工程师注册Amazon Web Services AI服务,包括Amazon Q和Amazon CodeWhisperer。

由于基于LLM的生成式AI软件开发工具训练数据包括数百万甚至数十亿行代码,最受欢迎的平台能够处理任何编程语言,从C到Python。

Amazon的CodeWhisperer作为Amazon Toolkit for Visual Studio (VS) Code和JetBrains的一部分提供。它目前支持Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell脚本、SQL、Scala、JSON、YAML和HCL。

GitHub首席运营官Kyle Daigle在早前接受Computerworld采访时表示:“在我们早期的试验中,我们做了很多Python、JavaScript和类似语言的工作。GitHub主要是一家Ruby公司,但我们也使用Go、C和FirGit等语言。因此,我们扩展了Copilot的使用案例,并在不同的语言中使用它。但总的来说,Copilot能够处理大部分在公共领域中的语言。”

仅依赖基于自然语言处理的用户提示,生成式AI辅助代码生成器就能提供从代码片段到完整功能的软件代码建议。更新还可以使这些工具变得更好。

例如,亚马逊表示,对其CodeWhisperer工具的更新将代码接受率从所有语言和使用案例的平均约20%提高到35%。

亚马逊CodeWhisperer和Amazon Q软件开发总监Doug Seven在一篇博客中表示:“现在,通过包含在CodeWhisperer中的Amazon Q,开发人员可以询问他们的代码,并利用Amazon Q的功能来查找代码中的错误、优化代码并翻译他们正在处理的代码。”

为什么AI辅助编码如此强大?

AI辅助编码广受好评的一个原因是,用户不必精通软件开发。自然语言处理允许即使是业务用户也可以简单地写一个提示,然后得到满足任何项目需求的软件。

例如,用户可以用自然语言写一条注释来概述一个特定任务,比如”使用服务器端加密上传文件”。基于这一信息,CodeWhisperer会直接在开发平台中推荐一个或多个代码片段来完成该任务,据一位亚马逊发言人透露。

许多编码工具还附带增强的代码安全功能扫描和代码修复建议。有些甚至带有”偏差”过滤和引用追踪器,可以检测一个代码建议是否类似于开源训练数据。后者是AI驱动编码助手的重要功能。

亚马逊和其他供应商还在尝试辅助非开发人员为业务目的生产应用程序的工具。例如,一位亚马逊发言人表示,该公司将非开发人员的参与视为使AI无处不在的一个优先事项。他们在内部病毒式传播后公开发布了PartyRock,这是一款娱乐教育生成式AI应用程序构建器,允许非开发人员在沙箱环境中与生成式AI和LLM一起工作。

Seven在接受Computerworld采访时表示:“你可以尝试构建不同的应用程序。我们将看到各种不同的工具出现在不同的场景中使用生成式AI。我认为我们只是触及了表面,还会在更多不同的地方看到生成式AI的身影。”

准确率各不相同

Seven表示,CodeWhisperer的代码接受率在30%到40%之间,但这并不意味着它编写的代码存在错误或问题。接受率是指生成式AI工具是否正确理解了开发人员的要求。

Seven形容开发人员和AI代码生成器之间的互动类似于一场对话,开发人员要求它生成某些内容,然后通过后续请求来修改要求。CodeWhisperer生成无错误且可用代码的能力”相当高”,尽管Seven说亚马逊没有透露内部指标。

从实际情况来看,开发人员和IT领导人认为,流行的基于AI的代码增强工具正确生成可用代码的能力在50%到80%之间。

AI驱动的软件交付提供商Digital.ai的首席执行官Derek Holt表示:“我们曾经对此有一个假设。现在,我们开始在实际研究中看到这一点。”

根据去年康奈尔大学的一项研究,不同的生成式AI编码工具之间存在很大差异。该研究显示,ChatGPT、GitHub Copilot和Amazon CodeWhisperer正确生成代码的比率分别为65.2%、64.3%和38.1%。

尽管该研究已经有一年的历史,但这些AI辅助代码工具的准确率”或多或少与今天相同”,这是加州大学洛杉矶分校Henry Samueli工程与应用科学学院的研究生布拉克·耶蒂斯蒂伦(论文主要作者)的观点。

GitClear是一款用于GitHub和GitLab的开发人员工具,提供代码分析和git统计。 它研究了2020年至2023年间超过1.53亿行代码,重点关注了代码修改率、重复和代码年龄等关键指标转变,探讨了像GitHub Copilot这样的AI工具对编程实践的影响。

GitClear的发现之一是,使用Copilot后,开发人员的编码速度提高了55%。当GitClear将GitHub的代码质量和可维护性与人工编写的代码进行对比时,发现对于经验不足的开发人员来说,使用AI辅助编程的优势更大。

GitHub自己的数据显示,初级开发人员使用Copilot的频率比经验丰富的开发人员高出约20%。

GitClear还对500名开发人员进行了相应的调查,问题是”在积极使用AI时,你应该被评估哪些指标?“他们列出的三大问题是代码质量、完成任务的时间和生产事故数量。

GitClear的论文说:“当开发人员被快速简单的建议所淹没,而这些建议只能在短期内有效时,他们就会不断受到诱惑,添加更多代码行,而不去仔细检查是否可以优化现有系统以重复使用。”

更多代码,但更多错误?

据Digital.ai的Holt透露,通过使用自动化工具,开发人员生产的代码增加了45%,但这未必是一件好事。

CodeScene的创始人兼首席技术官亚当·托恩希尔在X/Twitter上说:“然而,AI辅助编程的主要挑战在于生成大量本不应编写的代码变得如此容易。”

另一个问题是,当代码不是由人工生成时,它就会变得更加不透明。因此,出现了质量挑战,包括代码是否能有效地测试错误和安全漏洞等问题。

在开发人员安全平台Snyk去年对使用基于AI的编码工具的软件工程师(96%)进行的一项调查中,超过一半的人表示不安全的AI代码建议很常见。

Holt说:“这并不奇怪。现在还处于初级阶段,我们正在使用某些存储库中的所有代码来训练这些模型。你所做的只是重复最初编写那些代码的开发人员所犯的错误。”

鉴于开发人员大部分时间都花在修复现有代码上,而不是编写新功能上,当代码不是由人工编写时,阅读代码并发现问题就成了另一个问题,Holt说。

即便存在这些问题,开发人员之所以采用Copilot这样的工具,是因为他们相信它能加快生成代码的速度。GitHub的研究发现,“在使用Copilot时,开发人员的工作满意度提高了75%”。

在对450名使用Copilot六个月的Accenture开发人员进行的一项研究中,88%的建议代码被保留下来,构建成功率提高了45%,每个受访开发人员都表示Copilot很有用,这是微软的Silver透露的。

代码修改率、移动和复制/粘贴代码问题

但GitClear也发现,随着AI辅助编程的使用增加,“修改率”、“移动”和”复制/粘贴”代码的比例显著增加。

“修改率”是指推送到存储库的代码在两周内被还原、删除或更新的百分比。在开发人员编写所有自己的代码之前,这种情况相对罕见,只有3%到4%的代码被修改过。

但是,总体代码修改率在Copilot推出测试版的第一年就增加了9%,这也是ChatGPT推出的那一年。

从2022年到2023年,AI助手的兴起与将”错误代码”推送到存储库密切相关。GitClear发现,Copilot的使用率(即用于生成代码的比例)在2021年为0%,2022年为5%到10%,2023年为30%。

GitClear的报告指出:“如果当前模式持续到2024年,届时将有超过7%的代码更改在两周内被还原,是2021年水平的两倍。”

对于长期代码可维护性来说,没有什么比复制/粘贴代码更为严重的了。因为简单重用的代码也可能包含以前的错误、安全漏洞或其他问题。

Holt说:“我毫无疑问我们能够解决这些问题,我们能够在仅由我们最优秀的开发人员编写的少量代码上训练模型。但是现在,如果你得到了一个初级开发人员,而你没有关注这对更广泛的软件开发生命周期意味着什么,你就可能冒一些风险。”

但Seven认为,CodeWhisperer和其他产品的一大优势在于,它们能够检查现有代码中的错误,然后提出修改建议。他说:“所以,它会为你提供进行那种更改的代码。在这种情况下使用Amazon Q [CodeWhisperer]的优势在于,作为开发人员,你有了一个调试伙伴。”

他补充说:“这在检查不熟悉的现有代码中的差异时可能特别有用。而且Amazon Q在这方面确实很出色。”

自动化工具的另一个优势是,它们可以在设置好后自动运行,无需人工干预,开发人员或工程师只需解释一个任务,工具就可以独立完成,无论是开发新应用程序还是调试现有应用程序。Seven说:“在任何一种情况下,代码的准确性和质量都相当高。”

毫无疑问,随着时间的推移,软件生成工具将继续改进,尽管始终需要人工参与。

Holt说:“我的直觉告诉我,开发人员将永远有工作,无论是审查、编目还是两者的结合。我们甚至还没有谈到,交付代码并不是目标。交付客户喜爱的出色功能才是真正的目标。

“所以,依我看,在软件开发领域,我前面还有漫长的职业生涯。”

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
局势再度升级!首艘开往中国的油轮遭到袭击,是误伤还是警告

局势再度升级!首艘开往中国的油轮遭到袭击,是误伤还是警告

铁锤简科
2026-04-03 15:20:07
曾创作雍正王朝主题曲的徐沛东,因失误被迫下课,如今过的怎样

曾创作雍正王朝主题曲的徐沛东,因失误被迫下课,如今过的怎样

米果说识
2026-04-02 14:47:07
女生主动起来有多黏人?网友:这些女的太开放了

女生主动起来有多黏人?网友:这些女的太开放了

带你感受人间冷暖
2026-01-27 00:20:06
董宇辉道歉冲上热搜,被全网审判

董宇辉道歉冲上热搜,被全网审判

电商派Pro
2026-04-03 09:51:12
遇冷!4月轿车销量完整版排名:燃油车惜败,速腾第10,雷凌第74

遇冷!4月轿车销量完整版排名:燃油车惜败,速腾第10,雷凌第74

爱论历史
2025-05-13 23:16:00
瓦罕走廊已经被牢牢封死,中国对塔利班从未放下过戒心

瓦罕走廊已经被牢牢封死,中国对塔利班从未放下过戒心

刘森森
2026-04-02 22:10:37
英国德国法国日本等40多国拒绝向伊朗支付海峡通行费,想通过联合施压让伊朗结束封锁

英国德国法国日本等40多国拒绝向伊朗支付海峡通行费,想通过联合施压让伊朗结束封锁

极目新闻
2026-04-03 16:49:46
杜月笙独自逛码头,被地痞收保护费,他淡笑:给你钱你有命花吗?

杜月笙独自逛码头,被地痞收保护费,他淡笑:给你钱你有命花吗?

千秋文化
2026-04-02 20:29:53
他是央视名嘴,北大外交系出身,隐婚女演员,妻子是我们熟悉的她

他是央视名嘴,北大外交系出身,隐婚女演员,妻子是我们熟悉的她

以茶带书
2026-04-03 14:17:57
龙头 | 【光模块CPO】全产业链,最核心的 10 大上市公司

龙头 | 【光模块CPO】全产业链,最核心的 10 大上市公司

飞跑的鹿
2026-04-03 20:23:11
防不胜防,又有6万股东踩雷了,今晚两家公司被立案调查!

防不胜防,又有6万股东踩雷了,今晚两家公司被立案调查!

小嵩
2026-04-03 00:13:00
“高铁小少爷”事件,让普通家长幻想破灭:麻辣烫骗不来真少爷

“高铁小少爷”事件,让普通家长幻想破灭:麻辣烫骗不来真少爷

妍妍教育日记
2026-03-14 09:25:11
中国已无退路了!美军为中美选好了主战场,决心要跟中国打场大战

中国已无退路了!美军为中美选好了主战场,决心要跟中国打场大战

瓦伦西亚月亮
2026-04-03 15:18:19
特朗普炒掉司法部长邦迪!美陆军参谋长也被要求立即辞职!白宫还被曝考虑解职更多高官,包括美联邦调查局局长、陆军部长、劳工部长

特朗普炒掉司法部长邦迪!美陆军参谋长也被要求立即辞职!白宫还被曝考虑解职更多高官,包括美联邦调查局局长、陆军部长、劳工部长

每日经济新闻
2026-04-03 10:02:08
8天已到,高市拒绝道歉!外交部宣布动手,日本有人财产全被冻结

8天已到,高市拒绝道歉!外交部宣布动手,日本有人财产全被冻结

晓徙娱乐
2026-04-02 19:09:30
户外一姐唐艺惊现意外走光,粉丝为何越看越上头?

户外一姐唐艺惊现意外走光,粉丝为何越看越上头?

娱乐领航家
2026-03-12 22:00:04
你敢地面入侵,我就派志愿军,伊朗迎来新帮手,海湾7国沉默不语

你敢地面入侵,我就派志愿军,伊朗迎来新帮手,海湾7国沉默不语

起喜电影
2026-04-03 16:34:37
有生之年看到这部电影,我想庆祝

有生之年看到这部电影,我想庆祝

虹膜
2026-04-01 20:46:23
伊朗为战后霍尔木兹海峡管理做准备,通行正式体系正在形成,由巡逻艇护送通过

伊朗为战后霍尔木兹海峡管理做准备,通行正式体系正在形成,由巡逻艇护送通过

红星新闻
2026-04-03 12:21:07
收下中国26万桶柴油转头就改岛名?马科斯:中国帮大忙,想谈合作

收下中国26万桶柴油转头就改岛名?马科斯:中国帮大忙,想谈合作

阿绐聊社会
2026-04-03 13:52:35
2026-04-04 04:11:00
大A小i2024
大A小i2024
小小AI爱好者
366文章数 0关注度
往期回顾 全部

科技要闻

5万辆库存车,给了特斯拉一记重拳

头条要闻

伊朗:美飞行员跳伞在伊境内落地 美方曾试图营救未果

头条要闻

伊朗:美飞行员跳伞在伊境内落地 美方曾试图营救未果

体育要闻

被NBA选中20年后,他重新回到篮球场

娱乐要闻

夏克立官宣再婚当爸?否认婚内出轨

财经要闻

专家称长期摄入“飘香剂”存在健康隐患

汽车要闻

你介意和远房亲戚长得很像吗?

态度原创

数码
家居
本地
公开课
军事航空

数码要闻

消息称三星显示器部门面临巨大危机,最坏结果将退出中国大陆市场

家居要闻

温馨多元 爱的具象化

本地新闻

跟着歌声游安徽,听古村回响

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

俄国防部:一架苏-30战机在克里米亚坠毁

无障碍浏览 进入关怀版