摘要:生成式AI 创造了比以往任何时候都更多的代码。但尽管平台工程很流行,但正如Harness的2025年软件交付现状所揭示的那样,一场开发者危机正在酝酿之中,该报告总结了250位工程领导和250位软件开发人员的共同经验。
组织准备好应对AI生成代码可能带来的繁琐工作、漏洞和开发者倦怠了吗?
译自 More AI, More Problems for Software Developers in 2025,作者 Jennifer Riggins。
生成式AI 创造了比以往任何时候都更多的代码。但尽管平台工程很流行,但正如Harness的2025年软件交付现状所揭示的那样,一场开发者危机正在酝酿之中,该报告总结了250位工程领导和250位软件开发人员的共同经验。
“生成更多代码很棒,”Harness的首席现场技术官说,因为开发人员主要感觉使用AI编码助手提高了生产力。
“但这会产生代码之后发生的一切——而且后续工作很多。从安全测试到单元测试,到整体治理,发生的部署数量,以及引入的依赖项数量。”
大多数接受采访的开发人员在至少一半由AI编码助手辅助的部署中都遇到了问题。报告发现,67%的开发人员花费更多时间调试AI生成的代码,而68%的开发人员花费更多时间解决安全漏洞。虽然AI在软件开发生命周期的早期加快了代码编写速度,但更多的代码意味着对代码审查、安全验证和质量保证的需求更大。到目前为止,这一需求远未得到满足。
此外,当AI采用率提高时,交付稳定性和吞吐量下降。
尽管存在所有这些缺点,但在2025年的软件交付中,AI的采用率仍在继续上升。以下是组织可以采取的措施,以防止AI生成的代码变成完全令人厌烦的灾难。
报告发现,开发人员花费在调试上的时间比以往任何时候都多。这并不一定意味着AI生成的代码天生就更容易出错。
然而,使用AI生成代码可能会让用户——尤其是初级开发人员——无法了解代码编写的上下文以及代码的编写对象,从而难以找出问题所在。
“对于初级开发人员来说,风险通常更高。高级开发人员往往对生成的代码有更好的了解和更快的理解,”观察到。“初级开发人员承受着完成工作的巨大压力。他们想快速行动,并不一定具备对代码更改的上下文感知能力。”
如果没有贯穿整个软件开发生命周期的质量和治理控制——例如安全扫描和依赖项检查,以及单元、系统和集成测试——他警告说,错误的东西经常会被合并。
“许多组织在没有GenAI软件的情况下就为此苦苦挣扎,然后,当你生成更多代码时,它只会加剧这个问题,”说。
有趣的是,GenAI在解释代码方面非常有用,尤其对初级开发人员而言。
“为什么不把它作为流程的一部分,即当生成AI代码时,它也会生成关于该代码如何工作的文档呢?”他建议道。
事实上,生成式AI非常擅长解释复杂的概念。事实上,2024年DORA报告发现,生成式AI最大的优势是文档质量的显著提高。文档有助于减少认知负荷。在文档上叠加聊天机器人或将其集成到代码库中——就像Github的Copilot一样——进一步减少了上下文切换。
虽然更多AI生成的代码增加了对代码审查的需求,但最新的DORA报告还发现,AI采用率提高25%使代码审查速度提高了3.5%。这可能是通过简单的更多提示,或者通过利用AI来第一次识别合适的审查人员或更均匀地分配代码审查工作量来实现的。
但是文档和代码审查只是复杂软件开发生命周期的一小部分,Harness的报告发现,开发人员仍然至少花费30%的时间在手动、重复性任务上。这种繁琐的工作代价高昂。 随着AI生成代码的增多,开发人员的负担也随之增加。根据Harness的报告,88%的开发者每周工作时间超过预期的40小时,其中一半受访者承认这种加班导致工作与生活平衡不健康。
组织需要考虑AI不仅对软件开发生命周期,而且对软件开发人员的生命周期产生的影响。
影子IT让开发人员试图通过采用——通常甚至付费——未经雇主正式批准的工具来解决问题。报告发现,影子AI的延伸是52%的开发人员使用未经IT部门提供或明确批准的AI工具。
开发人员的行为并非不守规矩。现实情况是,在生成式AI广泛应用三年后,大多数组织仍然没有生成式AI策略。
调查受访者发现AI生成代码审查中存在严重差距:
60%的人表示他们不评估AI编码工具的有效性。60%的人表示他们没有评估代码漏洞或错误的流程。58%的受访组织没有概述AI安全使用的具体用例。43%的组织没有规定可以或不可以输入AI工具的代码。42%的组织没有首选或拒绝工具的列表。由于工程本身就是一门科学,你无法改进你没有衡量的东西。虽然83%的开发者回应他们认为自从引入AI工具以来软件开发效率有所提高,但这些感知到的开发者生产力提升仍未得到证实。
更令人担忧的是,在AI生成代码激增之前,组织并没有到位所有的控制和自动化测试。在受监管的环境中,这种担忧会加剧,因为正常运行时间会直接影响人们的生命。
“这又回到了制定策略[和]进行安全扫描,确保他们不会因为依赖关系而将有风险的漏洞引入他们的软件,这也在检查代码的安全质量,”Reynolds说。“工具是存在的。确保它们始终针对你的代码运行绝对是关键。”
组织还必须考虑公共AI工具可能接受个人身份信息、专有代码、商业秘密等训练的风险,并创建和编纂生成式AI策略,以应对自动回滚。
这些策略也必须经常更新,但要提前通知,在应用这些策略时提醒开发人员——理想情况下,还要说明原因。版本控制也很重要。
随着生成式AI工具采用和应用的增加,对生成式AI策略的需求将变得更加迫切。在2025年,工程领导者计划在以下领域实施AI:
持续集成和交付 (CI/CD) – 50%。性能优化 – 48%。安全和合规 – 42%。代码成本优化 – 40%。代码生成(目前使用最多)– 39%。QA/测试 – 28%。错误修复 – 26%。Harness旨在制定治理策略——使用开放策略代理对其进行编纂——因此不会有任何例外。
最近流行的标题似乎确信生成式AI已准备好取代初级开发人员和QA的工作。而Harness的90%的调查受访者也表达了这种担忧。
首先,这个结果令人担忧,因为工程领导者占受访者的半数,这意味着大多数人可能对生成式AI有不良企图。除此之外,对生成式AI的支出预计将增加在2025年再增长10%。
但是,如此依赖AI生成的代码——尤其是在没有到位检查的情况下——是轻率的。
“说‘减少对初级开发人员的需求’或‘我不需要初级开发人员,因为我有AI’——你未来的所有高级开发人员从哪里来?”Reynolds问道,称这是一种短视的解决方案。“我会依赖其他公司来培养初级开发人员吗?”
AI取代QA似乎尤其不现实。目前,AI生成的代码需要人工参与,尤其是在没有策略检查的企业中。 “我认为生成式AI可以减轻QA的负担,”他说道,并提到了Harness如何进行自动测试生成。“但这并不能消除人工确保他们在正确领域使用正确测试、将软件指向系统正确部分的需求。”
随着AI工具越来越融入日常开发者的体验,Harness报告预测开发者的角色将继续发展——并且可能会扩展到更多方面。报告指出,与其说是取代,不如说角色的职权范围必须继续扩展,包括AI提示工程、输出验证和能力集成等,组织也必须帮助员工提升这些方面的技能。所有这些都必须有明确的界限和培训。
正如Reynolds所说,AI生成代码的成功未来关乎在护栏内的创新。
来源:小轩科技天地