办公室里,两个人坐在办公桌前,用笔记本电脑讨论代码,显示器上显示着编程屏幕

面向开发人员的生成式 AI:优势与挑战

生成式 AI 正在改变软件开发人员的编码方式,从被动辅助工具转变为主动编程协作伙伴。它能够拓展开发人员的能力边界,提升软件开发生命周期 (SDLC) 整体效率与交付质量。

管理咨询公司麦肯锡的一项调研显示,头部软件组织借助 AI,团队生产力、上市周期等指标提升 16%–30%,软件质量提升 31%–45%。1但生成式 AI 同样存在短板。在一份研究生成式 AI 对软件开发影响的报告中,Google Cloud DORA 项目研究人员发现,扩大 AI 采用规模反而会拖累软件交付效率,该结论超出预期。2研究人员认为核心诱因是 AI 会快速生成海量代码,拖慢代码审查进度,更容易造成软件交付环节不稳定。2

这类优势与隐患已在真实业务场景中显现。IBM AI Open Innovation 首席架构师 Gabe Goodhart 表示,即便开发工作流几乎每一步都嵌入多款 AI 助手,他仍会自主判断、全权负责,每一段 AI 生成代码提交前都会人工复核。IBM Docling 软件经理兼技术负责人 Peter Staar 分享了相近的实操感受,生成式 AI 工具能够提升产出效率,但严密的人工复核依旧不可或缺。

生成式 AI 在编程软件中的工作原理

大语言模型 (LLM) 构成了编程中生成式 AI 的基础。这些深度学习模型建立在一种称为转换器神经网络架构之上,这种架构擅长处理序列数据。Code LLM 使用大型源代码数据集进行训练,这使它们能够理解编程语言的结构和语法。

预训练模型

生成式 AI 模型在海量数据集上进行预训练,这些数据集包含以各种编程语言编写的各种代码示例。在预训练期间,模型会根据前面词元的上下文来学习预测代码序列中的下一个单词或词元。在这一过程中,模型能够捕捉不同编程语言固有的语法、语义和模式。

机器学习模型还使用公司自己的代码库和相关专有数据进行微调,从而获得特定领域的知识。

理解上下文

当收到编程提示或询问时,生成式 AI 模型会处理输入并利用其学习到的知识来理解上下文和意图。该模型考虑不同代码元素(如变量、函数和控制结构)之间的关系,以生成相关且语法正确的代码。

许多模型还具有检索增强生成 (RAG) 能力。RAG 使用来自最新版本的 API、代码库嵌入、编程风格指南、框架、库、安全编程标准和技术文档的信息来丰富询问或提示,以提供最新的增强上下文。

代码生成

模型依托学习到的代码范式与上下文理解能力,输出代码片段。生成代码会依据输入提示,贴合模型训练所用编程语言的结构与编码规范。

基于用户反馈迭代优化

生成式 AI 模型通常具有根据用户反馈进行调整和改进的机制。开发人员可以就生成的代码提供反馈,帮助模型完善理解,增强未来的输出。这种迭代反馈循环有助于模型随着时间推移产出更准确且具上下文相关的代码。

面向开发人员的生成式 AI 用例

AI 可以通过多种方式简化软件开发工作流。下面是一些常见的用例:

  • 错误检测

  • 代码文档

  • 代码重构

  • 代码审查

  • 提供编码建议

  • 代码测试

  • 代码翻译

  • 原型设计

错误检测

生成式 AI 可以支持软件工程团队的漏洞调试和识别任务,甚至自动修复漏洞。这样可以开发出更稳健、更可靠的软件,并缩短开发周期。

代码文档

生成式 AI 帮助自动编写代码文档,建议内嵌注释,辅助更新以及时反映代码变更,并实施风格和结构标准。这有助于维护清晰、最新的项目文档。

代码重构

AI 驱动的编码工具可加速代码重构,识别冗余、低效代码段并给出优化方案。长期来看,这有助于持续保障代码质量、优化程序性能。借助 AI 给出的优化方案(支持自动执行),以往难以定位的问题能够更快被识别并快速修复。

代码审查

生成式 AI 模型可承担初步代码审查工作,从功能、编码规范、质量三个维度评估代码。工具能够标记潜在风险,并给出对应的解决办法。

代码建议

AI 驱动的编码助手可为新手提供帮助,编写代码时实时输出贴合上下文的解读、操作指引与优化建议。这能够降低新开发人员的上手门槛。

代码测试

生成式 AI 可以分析代码并自动创建测试用例。它可以生成反映实际使用情况和行为的测试数据,并概述详细的测试场景(即使对于边缘用例),有助于提高测试覆盖率。

代码翻译

人工智能辅助应用程序可以将代码从一种语言翻译成另一种语言,从而简化代码转换或应用程序现代化项目。示例包括通过将 COBOL 转换为 Java更新旧版应用程序,或者逐步将旧版代码从 C 改写为 Python。

原型设计

生成式 AI 可辅助设计简易小型原型,加快软件工程团队构思流程,快速验证全新算法与创新方案。团队后续可修改、完善 AI 生成的原型,匹配自身业务需求。

生成式 AI 对开发者的优点

生成式 AI 是开发人员工具箱中的另一种工具。它为软件工程团队带来以下优势:

  • 自动执行日常工作

  • 提高开发人员的工作效率

  • 优化开发周期

  • 个性化开发环境

  • 提供自然语言接口

自动执行日常工作

编码工作时常包含繁琐重复任务,生成式 AI 应用程序在此类场景优势突出。代码补全功能可快速完成标准方法录入等常规工作。生成式 AI 工具可依据自然语言描述,推荐单行代码或完整函数。它们同时能够辅助开发人员遵循规范的代码文档格式。

提高开发人员工作效率

通过实现日常工作自动化,生成式 AI 使开发人员能够专注于软件开发的更宏观、更高层次的战略方面,例如安全性、架构和系统设计。这可以提高开发人员的工作效率,甚至可能提高工作满意度。

优化开发周期

SDLC 中引入 AI,可让软件发布流程更加顺畅。例如,在持续集成/持续交付 (CI/CD) 管道中,DevOps 团队可借助生成式 AI 自动化负载均衡、弹性扩容等基础设施任务,实时检测性能问题以缩短停机时长,预测管道潜在故障、规避业务中断。

对开发环境进行个性化设置

生成式 AI 可打造适配个人编码风格与使用偏好的个性化集成开发环境 (IDE)。这可以优化开发人员使用体验,让开发人员高效产出

提供自然语言接口

生成式 AI 可为各类软件开发工具提供自然语言交互界面。开发人员可通过自然语言指令操作集成开发环境 (IDE)、版本控制系统,降低无深厚编程基础人员的使用门槛。

AI 学院

成为 AI 专家

获取相关知识,以确定 AI 投资的优先级,从而推动业务增长。立即开始观看我们的免费 AI 学院视频,引领 AI 在组织中的未来应用。

使用生成式 AI 进行编程的挑战

虽然生成式人工智能是一种强大的工具,但它无法替代人类开发者的创造力和能力。它可以在编程时增强和协助人类程序员,但程序员仍然必须负责任地使用生成式 AI。

以下是软件工程团队在将生成式 AI 融入软件开发流程时可能遇到的一些挑战:

  • 不准确

  • 更全面的代码审查

  • 过度依赖

  • 安全漏洞

结果偏差

人工智能驱动应用程序可能会产生不正确或误导性的结果、不实用的函数或未经优化的代码,从而降低性能。这意味着开发人员必须在提交之前彻底验证和测试生成的代码。

更全面的代码审查

随着生成式 AI 处理大量编程任务,重点转移到了验证上。AI 生成的代码可能需要经过多次详细评估,以确保其已准备好进行交付。这会增加代码审查过程消耗的时间和精力。

过度依赖

长期依赖生成式 AI 工具容易产生过度依赖问题。开发人员容易将工具视作核心解决方案,凡事优先依靠 AI、形成重度依赖。长此以往会削弱自身独立判断与问题解决能力。开发人员必须结合自身专业知识与业务认知,校验、补充生成式 AI 的输出内容。

安全漏洞

AI 辅助编码的核心风险是代码中可能引入安全漏洞。工具生成的代码可能不符合安全编码规范、使用老旧不安全依赖包,或是无意泄露、错误处理敏感数据。

开发者必须接受安全编程标准和机密检测的培训,以便知道需要注意什么。团队可能需要添加以代码安全为中心的审查步骤。

面向开发人员的生成式 AI 工具

软件开发领域可供选择的生成式 AI 工具品类繁多。在团队挑选适配工具时,需考量与自身技术栈的兼容性,以及工具能否无缝融入现有工作流。同时,他们还需要制定清晰规范的负责任 AI 使用准则,配套安全防护机制保障整体安全。推动工具落地需要实操工作坊、教程讲解工具运行逻辑,并开展提示工程等相关技能培训。

AI 智能体和人工智能驱动的编程助手

编码智能体与 AI 驱动的编码助手功能不止于生成代码。他们还可创建拉取请求、调试重构代码、更新配套文档。其中主流工具包含 Claude Code、开源 Cline、OpenAI Codex、Cursor、GitHub Copilot、IBM Bob、AWS Kiro、Tabnine、Windsurf。

代码审查

一些生成式 AI 应用程序可以进行首轮代码审查,识别人工代码审查可能会忽略的常见问题和细微错误。这些应用程序包括 Codacy、CodeRabbit、Graphite、Greptile 和 Qodo。

聊天机器人

会话式 AI 技术可以帮助集思广益、解释代码、研究算法和总结文档。能够提供开发支持的聊天机器人示例包括 Anthropic 的 ClaudeGoogle Gemini、Microsoft Copilot、OpenAI 的 ChatGPT和 Perplexity。

原型设计

一些 AI 工具擅长根据提示生成原型。其中包括 Bolt、Lovable、Replit 和 v0。

作者

Cole Stryker

Staff Editor, AI Models

IBM Think

Rina Diane Caballar

Staff Writer

IBM Think

相关解决方案
IBM Bob

借助您的 AI 合作伙伴 Bob,加速软件交付,实现安全的意图感知型开发。

深入了解 IBM® Bob
AI 编码解决方案

利用可信的 AI 驱动型工具优化软件开发工作,最大限度地减少编写代码、调试、代码重构或代码补全的时间,从而拓展创新空间。

深入了解 AI 编码解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策能力和商业价值。

深入了解 AI 咨询服务
采取后续步骤

利用生成式 AI 和高级自动化技术加速创建企业就绪代码。Bob 通过建模增强开发人员技能,简化并自动执行开发与现代化工作。

  1. 了解 IBM Bob
  2. 深入了解 AI 编码解决方案
脚注

1. Unlocking the value of AI in software development,McKinsey,2025 年 11 月 3 日
2. Impact of Generative AI in Software Development,DORA,2026 年 4 月 13 日