生成式 AI 提升开发者生产力的九种途径

女商人在办公室使用平板电脑进行头脑风暴活动,以完成研究

软件开发是当前已能显著体现生成式 AI 工具价值的领域。其优势众多,那些积极采用这些工具的企业目前正在获得显著的生产力提升。麦肯锡研究指出,借助生成式 AI,软件开发者完成编码任务的效率可提升高达两倍。

该咨询机构的研究发现,复杂编码任务并未因生成式 AI 的使用受到显著影响——这无疑让“AI 取代开发者”的担忧得以消解。然而在那些“低垂果实”型应用场景中,AI 确实能极大加速团队产出并改善开发体验

但在探讨生成式 AI 工具如何发挥作用之前,我们不妨先从方法论、框架与最佳实践的广义视角讨论开发者生产力提升。生成式 AI 仅是技术工具箱中的组成部分。

衡量和提高开发人员的工作效率

衡量开发人员工作效率(员工工作效率的一部分),是一项多方面的挑战。传统指标,如编写的代码行数或工作时间,往往无法准确反映复杂工作流的复杂性。这些指标可能无法充分反映开发人员工作的质量或更广泛的影响;要进行适当的评估,可能需要纳入客户满意度等外部因素。必须认识到的一点是,开发人员的工作效率不仅仅体现在代码生成速度上,还包括持续交付令客户满意的高质量输出成果,同时降低倦怠风险。倦怠的开发人员通常效率低下。

开发运维研究与评估指标 (DORA)(涵盖部署频率、交付周期、平均恢复时间等)是衡量软件交付效率的标尺。这些开发者生产力指标助力工程经理与首席技术官精准评估个人及团队效能。

诸如 Jira 这类广泛应用的项目管理工具,能够追踪进度、管理任务并辅助贡献度分析。实施 SPACE 框架(软件工程、生产力、分析、协作与效率)为软件开发提供整体性解决方案。而故事点等关键绩效指标 (KPI) 与实时生产力工具,则成为持续衡量与改进开发者生产力的基准体系。

拓展生产力评估维度,超越个人表现需要全面理解团队协作机制。GitHub 等协作平台能促进开放沟通文化、协作式代码评审和便捷的拉取请求流程。这类平台不仅帮助团队成员相互学习,也为技能提升提供集体空间。战略性地引入新功能与持续交付高质量代码,既能增强产品竞争力,也对最终用户满意度产生显著影响。

开发运维作为一种变革性方法论,无缝整合开发与运维实践,优化软件开发生命周期的效率。通过促进开发团队与运维团队的协作,开发运维旨在简化流程、缩短交付周期并提升部署频率。这样可为持续创新与改进创造有利环境。它有助于消除瓶颈并主动管理技术债务,营造能保持开发者积极性并稳步推进工作的氛围。

工程经理可以定期进行贡献分析,利用这些信息整合新工具并解决员工体验问题,从而营造有利于提高开发者工作效率的环境。采用 YES (Your Engineering Success) 模式,强调了培养积极向上、互帮互助的团队文化以及营造鼓励创新和创造力的氛围的重要性。这种整体方法可确保以有效方式衡量和优化开发人员的工作效率,在提高个人和团队绩效的同时增进开发人员的整体福祉。

生成式 AI 如何提供帮助

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

消除重复性任务

编码过程通常涉及一些简单但有时繁琐的任务,而这正是生成式 AI 工具可以大显身手的地方。自动完成功能可以加快重复性的日常工作,例如输入标准函数。OpenAI Codex 等工具可以根据自然语言描述推荐代码行甚至完整的函数。此外,通过帮助开发人员自动遵守特定的文档格式,可以加快代码文档的编写速度。

自然语言界面

生成式 AI 可以为软件开发工具提供自然语言接口。开发者能用自然语言命令与开发环境、调试系统和版本控制系统交互,降低非资深编程人员的操作门槛。

提供编码建议

生成式 AI 还可以通过提供上下文相关的建议、解释和指导,来帮助初学者编写代码。这可以加快新开发人员的学习曲线,并让更多人有机会接触软件开发。

代码优化

生成式 AI 可通过识别冗余或低效部分,为现有代码提供改进建议。这有助于长期维持代码质量与性能。通过实施 AI 建议的解决方案(甚至可自动执行),以往难以定位的问题能更快速地被发现与修正。

代码翻译

生成式 AI 还可以将代码从一种语言转换到另一种语言,简化代码转换或应用程序现代化改造项目,例如通过将 COBOL 转换为 Java 来更新旧版应用程序。

代码测试

生成式 AI 可用于自动创建测试用例。它可以分析代码并生成测试输入,帮助提高测试覆盖率并在开发过程早期发现潜在问题。

错误检测

通过分析大型代码库,生成式 AI 可以帮助软件开发团队识别甚至自动修复错误。这可以使开发的软件更加稳健可靠,并加快开发周期。

个性化开发环境

生成式 AI 可帮助创建适应开发者个人偏好与编码风格的个性化开发环境。这将提升生产力,让程序员的编码体验更舒适。

增强文档功能

生成式 AI 可以总结代码功能、解释算法和提供上下文,从而协助工程团队生成文档。这有助于维护清晰、最新的项目文档。

生成式 AI 编码软件运作原理

生成式 AI 通过利用在大型代码数据集上训练的机器学习模型,来支持编码工作。这些模型能够理解编程语言的结构和语法。

模型预训练

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

理解上下文

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

代码生成

通过利用学到的模式以及对上下文的理解,生成式 AI 模型会生成代码片段作为输出。生成的代码符合输入的提示,并遵循训练模型时所用的编程语言的结构和风格。

适应用户反馈

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

尽管编码领域的生成式 AI 是强大工具,但它无法取代人类开发者的创造力、问题解决能力与领域专业知识。它作为一种增强工具,协助开发者完成编码任务、提供建议,并有可能加速开发流程的某些环节。开发者应负责任地使用生成式 AI,全面验证生成代码,并运用自身专业知识和理解对其输出进行补充完善。

假设的用例

想象一下,有一位程序员的任务是为 Web 应用程序项目实现一项复杂功能。面对复杂的数据处理和动态内容渲染的挑战,这位程序员决定将生成式 AI 集成到自己的开发工作流中,以加快编码流程。她首先仔细定义新功能要满足的要求,将核心逻辑和结构概括到编码提示中。她使用的生成式 AI 工具基于多样化 Web 开发代码数据集进行过训练,因此在她输入编码提示后,模型能够自动生成符合指定要求的初始代码片段。生成的代码包含数据处理、事件处理和动态内容渲染等功能。

她随后进入对生成的代码进行完善和微调的迭代过程。通过这种互动,她确保 AI 生成的代码符合项目的编码约定和架构细节。在对生成的代码感到满意后,她将其集成到现有的 Web 应用程序代码库中。尽管生成式 AI 加速了开发过程,但她也认识到在全面测试中,人工验证对于确保功能的正确性、响应性和可靠性发挥着不可或缺的作用。

通过将生成式 AI 整合到自己的工作流中,这位程序员不仅加快了编码过程,而且能够将更多时间分配给更高级别的设计工作、用户体验考量和全面测试工作。这个用例生动体现了生成式 AI 如何成为有价值的盟友,增强开发人员的能力,并提高软件开发生命周期的整体效率和质量。

立即开始

IBM® watsonx Code Assistant 运用生成式 AI 加速开发进程,同时恪守可信、安全与合规的核心原则。开发者和 IT 运维人员可借此加速应用现代化进程,并生成自动化脚本以快速扩展 IT 环境。watsonx Code Assistant 由 IBM® Granite 基础模型驱动,该模型包含专为代码设计的最先进大型语言模型,旨在帮助 IT 团队基于自然语言请求或现有源代码,通过 AI 生成建议来创建高质量代码。

 
采取后续步骤

利用生成式 AI 和高级自动化技术加速创建企业就绪代码。IBM watsonx Code Assistant™ 利用 Granite 模型来增强开发人员技能,简化并自动执行您的开发和现代化工作。

深入了解 watsonx Code Assistant