专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
OSC开源社区  ·  大模型训练中的开源数据和算法:机遇及挑战 ·  昨天  
OSC开源社区  ·  2024年AI编程工具的进化 ·  2 天前  
程序员的那些事  ·  马斯克狂吹的 Grok 3 ... ·  2 天前  
程序员小灰  ·  如何用DeepSeek来变现?90%的人都不知道 ·  3 天前  
程序员小灰  ·  深夜王炸,微信搜索:接入 DeepSeek ... ·  4 天前  
51好读  ›  专栏  ›  OSC开源社区

2024年AI编程工具的进化

OSC开源社区  · 公众号  · 程序员  · 2025-02-18 17:47

正文

OSCHINA

↑点击蓝字 关注我们

最近,开源中国 OSCHINA、Gitee 与 Gitee AI 联合发布了《2024 中国开源开发者报告》
报告聚焦 AI 大模型领域,对过去一年的技术演进动态、技术趋势、以及开源开发者生态数据进行多方位的总结和梳理。

在第二章《TOP 101-2024 大模型观点》中,Thoughtworks AI 辅助研发工具与开源解决方案负责人 黄峰达 (Phodal) 分析了 2024 年 AI 编程工具的进化路线。

全文如下:

2024 年 AI 编程工具的进化

文 / 黄峰达
与 2023 年相比,2024 年 AI 在软件工程中的应用已经变得更加广泛和深入。这一趋势体现在 AI 编程工具的进化上,主要体现在以下几个方面:
全面探索: AI 从辅助开发人员扩展到覆盖软件开发的整个生命周期,从需求分析到运维管理,每个阶段都显著提升了效率和质量。
演进路径: AI 工具从个体使用扩展到团队和组织层面。个体使用的 AI 工具如 AutoDev,团队助手如 Haiven,以及组织层面的 AI 集成到内部 IM 和 Chatbot 系统中,全面增强了协作和效率。
形态变化: 从本地 AI IDE 发展到领域特定的智能代码生成工具。智能云开发环境如 Google 的 Project IDX 等工具,使得未来的开发流程更加智能化和高效。
站在全球来看,在不同的国家、区域人们的关注点是不一样的,比如在中国,人们更关注于如何提高软件工程师的工作效率,而在其它一些区域,人们更关注于如何提高软件工程的质量、如何辅助进行遗留系统的迁移。除了各自所处的数字化阶段、水平不同,还存在一些技术人才数量、质量、分布等方面的差异。
全面探索:从辅助开发人员到全生命周期
AI 技术已经从简单的辅助开发人员发展到涵盖软件开发的整个生命周期。在这一过程中,AI 工具的应用范围不断扩展,从需求分析到运维管理,每个阶段都得到了显著提升。
从 2022 年 GitHub Copilot 的发布,我们可以看到越来越多的 AI 工具开始涉足到软件开发的不同阶段。比如,面向需求阶段的 Jira/Atlassian Intelligence,面向原型设计的 Vercel v0,面向编码阶段的 GitHub Copilot,以及运维阶段的 Dynatrace Davis AI 等等。
就 2023 年的结论而言,基于人工智能的工具与基础大语言模型可以增强软件开发在设计、需求、测试、发布和运维等各个环节中的能力,提高质量和效率。但是,这些工具往往是破碎、割裂的,还可能并不适合我们现有的研发流程。
在市场上,我们也可以看到市面上的主流研发工具,如 JetBrains、GitHub(网站)等,都在逐渐加入 AI 功能,使得 AI 功能逐渐融入到我们的日常工作中。
在 IntelliJ IDEA 中,我们可以看到 AI 功能的加入,如:原生的向量化模型、基于语义化搜索(SearchEverywhere)、结合补全统计的机器学习补全插件 Machine Learning Code Completion、适用于单个代码行的 Full Line Code Completion 等等。
而除了 GitHub Copilot 工具本身,它还开放了其插件能力,使得我们可以定义自己的 AI 智能体,以适应我们自己的工作流程。
在多阶段协同方面,2024 年有了更多的变化,比如在智能运维领域,AI 可以结合判别性 AI 分析日志,生成式 AI 分析原因,再结合智能体根据运行错误,自动修代码复问题等;在测试领域,AI 除了辅助进行测试用例的生成,还可以生成对应的单元测试代码,甚至是自动化测试代码;在 UI 设计领域,AI 可以直接生成对应的代码,基于提示词来修改 UI,所生成的是最终的 UI 代码,而不是设计稿。
诸如此类的变化,使得 AI 所能辅助的范围更加广泛,从而使得 AI 在软件工程中的应用更加全面。
演进路径:个体、团队、组织
从企业采用 AI 的路径来看,我们会发现:越来越多的组织开始探索在组织层面使用 AI 辅助整体软件研发。因而,AI 辅助研发组织的技术蓝图便也逐渐清晰起来。
从形态上可以分为:带扩展能力的 IDE 插件、团队 AI 助手、结合 AI 的内部 IM,以及作为基础能力的 Chatbot。
AI 编程工具应该怎么设计才能提效?在当前来说,国内的环境下,由于我们的目标是实现可见的效率提升,即要通过可度量的指标。因而,可以看到一些明显的变化:

1. 代码补全与生成是最容易度量的指标,并且市面上也以此类为主。

2. 在不同环节,从时间角度来计算,如代码审查、代码测试等。

3. 结合代码的问答,以减少工具切换、复制粘贴,提高效率。

过去,AI 编程工具主要针对的是个人开发者。但随着探索不断深入,我们发现,在结合团队或组织的力量后,AI 编程工具出现了以下趋势:多样的 AI 工具正在融入自己的开发流程中;AI 工具开始融入内部的一系列规范;不断结合内部知识库,提升内容生成的质量;开始构建自己的场景化能力。
故而,从个体到团队,再到组织,都在思考如何扩大 AI 的应用范围。
在设计团队 AI 助手时,我们需要考虑到团队的拓扑结构,以及团队的工作流程。在一个组织中,必然会有大量不同类型的团队,每个团队受限于业务盈利模式等因素,其采用的技术、工作流程等都会有所不同。比如,核心的业务部门可以享受自己特有的开发流程,而其它非核心部门则会采用一些标准化的流程。
考虑到盈利水平高的部门,通常是大型团队,他们不仅可能有自己的 AI IDE 插件,还会有自己的 AI 团队。因此,我们也建议设计一个可以让不同团队共享知识的 AI 团队助手。
回到整体组织层面,我们也会看到内部的 IM 工具也在融合 AI 功能,比如寻找负责人 / 专家、运维 Chatbot 辅助分析部署失败问题、CI/CD 问题分析、AI 会议创建与管理等等,以提升协作体验。
在另外一方面,我们也会有大量的其它 Chatbot 在不同的研发团队中使用,诸如于辅助平台的使用、文档查找等等。
形态变化:从本地 AI IDE 到领域特定的智能代码生成
与通用性的 AI 辅助相比,领域特定的 AI 辅助效果更好,因为它更了解领域的特点,更容易生成符合领域规范的代码。从智能代码生成的角度来看,由于过去包含大量的语料知识,生成的代码质量更高,更符合领域规范。
在前面,我们已经看到了 AI 辅助研发中心的概念,即在一个组织中,AI 辅助研发中心可以为不同团队提供 AI 能力,以提升整体的研发效率。需要注意的是,AI 在快速生成大量代码的同时,也会带来一些问题,如代码质量、安全性等。我们需要考虑如何在 AI 生成代码的同时,保证代码的质量。
生成式 AI 与低代码平台结合,可以在多个方面实现增强的生产力和创新。文本生成与聊天机器人、从 PDF 构建界面、工作流程自动生成、自助式分析都是经典场景。
此外,多模态 AI 代码的生成,诸如于 Google 的 ScreenAI。它可以将图像和文本结合起来,生成对应的 DSL,进而转换成不同的代码。
在云时代,大型组织构建了大量的云 IDE 和云基础设施,以尝试卖出更多的云服务以及解决最后一公里的部署问题。尽管,受限于云 IDE 能力、网络与计算能力,云 IDE 采用并不高,但是随着 AI 的发展,我们可以看到更多的智能云开发环境的出现。
我们非常看好诸如 v0.dev 这一类针对于领域特定的开发工具。它可以快速帮助我们构建出一个原型,然后再结合其它 AI 工具,如代码审查、代码测试等,可以大大提高我们的开发效率。
还有诸如 Google Project IDX 这一类 AI 辅助型工作区。IDX 支持众多框架、语言和服务,还与 Google 产品集成,可简化开发工作流程,让开发者可以快速、轻松、高效地跨平台构建和发布应用。尽管 IDX 还非常早期,但是我们可以看到,未来的云 IDE 将会更加智能化,更加适应我们的工作流程。在国内,我们也可以看到 Babel Cloud、MarsCode 等一系列云 IDE 工具,也在不断的发展中。

作者简介






请到「今天看啥」查看全文