使用人工智能进行软件开发的挑战

Blog
Author:
Incredibuild TeamIncredibuild Team
Published On:
9月 21, 2025
Estimated reading time:
1 minute

目录

用于软件开发的人工智能是科技领域最热门的趋势之一。从 GitHub Copilot AI 驱动的 IDE,越来越多的开发人员依赖 AI,甚至更多的开发人员给了它太多的回旋余地。

Microsoft 报告称,如果失去 AI 助手,80% 的开发人员会感到失望,许多人表示任务完成速度更快,满意度更高。

但新的研究也表明,这个故事并不全是阳光。其他研究强调了团队必须直面的真正挑战(从交付速度较慢到安全漏洞)。

让我们更深入地了解随着对人工智能工具的依赖急剧增加,开发人员正在努力解决什么问题。

主要总结

  1. 人工智能提高了生产力,但结果各不相同 :开发人员通常感觉更快,但在实践中,人工智能可以减慢复杂的任务。
  2. 速度会降低质量 :未经审查就匆忙将人工智能生成的代码投入生产,存在错误和长期技术债务的风险。
  3. 人工智能代码并不总是安全的 :幻觉和理解不清的建议可能会引入隐藏的漏洞。
  4. 开发人员可能会失去实践学习: 如果人工智能接管入门级任务,初级学生获得经验就会变得更加困难。
  5. 成本和可持续性很重要 :复杂的人工智能工作流程会增加费用并带来巨大的能源足迹。

生产力提升与隐形低效

我们一开始讨论的 Microsoft 研究发现,人工智能编码助手提高了生产力和开发人员的幸福感。然而,2025 年的一项对照研究**揭示了一些令人惊讶的事情:与非 AI 用户相比,使用 AI 工具的开发人员实际上需要 19% 的时间来完成某些开源任务。与此同时,在这个过程中,人工智能用户真正相信他们更快。

总结: 人工智能可能感觉像是生产力的助推器,但实际结果可能会因任务和工作流程而异。

人工智能速度陷阱            

当团队过快地将 AI 生成的代码推送到生产环境中时,软件质量可能会退居二线。TechRadar 称其为 “ 人工智能测速陷阱”。“*** 从本质上讲,这是一种急于发布,往往会牺牲稳定性、测试和长期可维护性。

风险代码和幻觉

人工智能助手并不总是生成干净、安全的代码。“氛围编码”(在没有完全理解的情况下接受人工智能代码)的概念正变得太广为人知了。它引入了新错误和漏洞的风险,从而减慢了开发过程。

现实世界的事件支持了这一点:

  1. 亚马逊的 Q Developer 工具曾经在攻击者将恶意指令滑入其 AI 工作流程后删除了文件
  2. 据报道,一名 Replit AI 编码员未经许可删除了生产数据(人工审查会发现这个错误)

这些错误的危险在于它们的隐形性。抓住它们可能比预防它们更难。

安全盲点

传统的漏洞检测方法并不总是为 AI 生成的代码做好准备。如今,人工智能代码需要新的漏洞处理方法,因为幻觉会产生全新的安全风险。

一项研究表明 ,开发人员经常将人工智能代码视为人类编写的代码,跳过额外的检查。同时, 人工智能输出通常比人类代码需要更仔细的审查。

法律和道德问题

谁拥有人工智能生成的代码?如果它引入偏见怎么办?人工智能辅助软件开发领域仍在努力解决未解决的法律和道德问题。要探索的关键领域是所有权、问责制和公平性。

在法规跟上之前,公司将需要内部政策来审查和归因人工智能代码。

部署挑战

虽然代码问题仍在继续,但团队也面临着人工智能的实际障碍:

  1. 隐私与安全 2025 年的一项全球调查发现,47.5% 的公司将数据隐私和安全列为首要障碍
  2. 集成问题 许多组织都在努力将 AI 融入旧版 DevOps 管道。
  3. 技能差距 人工智能专业知识并不普遍,因此通常需要培训。

当然,大家都知道如何使用 AI 工具生成简单的代码,AI 其实也做得很好。然而,当涉及到更具挑战性的事情时,错误开始像滚雪球一样滚雪球。

人性化:工作与知识转移

人工智能工具正在改变开发人员角色的形状。一个日益增长的担忧是,如果入门级编码任务越来越多地由人工智能处理,初级开发人员将如何积累经验。

如果没有这些早期机会,获得成长为高级职位所需的实践知识就会变得更加困难。

同时,即使是经验丰富的开发人员也可能陷入依赖人工智能建议而没有完全理解它们的陷阱。这可以在短期内加快速度,但会让球队更容易犯错误。

成本和环境影响

人工智能不是免费的。远非如此。虽然基本使用的价格正在下降,但运行复杂的工作流仍然会迅速增加,尤其是在大规模的情况下。

人工智能还会带来环境足迹。大型模型在训练和运行时都会消耗大量能量。这已经开始引发人们对可持续性的质疑。

如何在构建中安全地使用 AI

虽然人工智能使用安全值得另一篇文章甚至电子书,但实施到工作流程中的一些最简单步骤是:

  1. 审查一切 :不要在没有测试和审查的情况下合并 AI 代码。
  2. 衡量影响 :跟踪人工智能采用前后的交付速度、错误率和质量。
  3. 培训你的团队 :确保开发人员了解人工智能工具的优势和盲点。
  4. 负责任地优化 :选择更精简的型号,减少不必要的使用,并平衡能源影响。

开发团队需要更好、更复杂的工具来检查他们的工作,然后才能完成复杂的项目。如果没有调整的工作算法,很容易成为毫无戒心的人工智能错误的受害者。

充分利用人工智能进行软件开发

用于软件开发的人工智能将继续存在。它可以提高生产力和开发人员的幸福感,但也会给质量和安全带来新的风险。

Incredibuild,我们相信以负责任的方式加速构建。就像分布式构建加速可以帮助你在不偷工减料的情况下更快地移动一样,人工智能可以改变游戏规则。我们紧跟这些发展,为你带来更高质量的解决方案。

敬请期待。

关于软件开发人工智能的常见问题解答         

人工智能能否取代软件开发人员?                     

不太可能。人工智能是强大的助手,但不是替代品。它可以生成片段、自动执行重复性工作并提出修复建议。然而,它缺乏背景、创造力和问责制。开发人员仍然需要审查代码并做出人工智能无法自行处理的架构决策。

哪种人工智能更适合软件开发?

没有一个“最好”的人工智能工具。选择取决于用例。一些开发人员更喜欢 GitHub Copilot 进行 IDE 集成,而另一些开发人员则转向 ChatGPT 或专用模型来解决问题和代码审查。正确的选择归结为工作流程的契合度。

ChatGPT 适合编码吗?

是的,ChatGPT 对于生成函数、调试或解释棘手概念等编码任务非常有帮助。然而,就像任何人工智能一样,应该审查其输出。这是一个有用的合作伙伴,而不是一个无所不知的专家。

来源:

*https://www.itpro.com/software/development/microsoft-claims-ai-is-augmenting-developers-rather-than-replacing-them

*https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/

*https://www.techradar.com/pro/the-ai-speed-trap-why-software-quality-is-falling-behind-in-the-race-to-release