0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

2024年AI编程技术与工具发展总结

OSC开源社区 来源:OSC开源社区 2025-02-13 09:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近,开源中国 OSCHINA、Gitee 与 Gitee AI联合发布了《2024 中国开源开发者报告》

报告聚焦 AI 大模型领域,对过去一年的技术演进动态、技术趋势、以及开源开发者生态数据进行多方位的总结和梳理。

在第二章《TOP 101-2024 大模型观点》中,同济大学特聘教授、CCF 杰出会员朱少民对 2024 年 AI 编程技术与工具发展进行了总结。

825a2f40-e91a-11ef-9310-92fbcf53809c.png

全文如下:

2024 年 AI 编程技术与工具发展综述

文 / 朱少民 2024 年 8 月下旬,一款 AI 代码编辑器 ——Cursor 火爆全球,火到一位 8 岁小女孩拿着它学编程,几十分钟内搭起来一个聊天机器人,其演示吸引来 180 万人在线围观。这导致有人大胆预言,未来编程只需要狂按 Tab 就够了。Cursor 确实好用,包括新推出的“光标位置预测”功能。 但是 AI 编程发展没有那么快,在国内生成代码采纳率还比较低,根据《2024 软件研发应用大模型国内现状调研报告》,多数团队在 10-40% 之间,如图 1 所示。

82b0e4f2-e91a-11ef-9310-92fbcf53809c.png

图 1 大模型(LLM)在编程上的应用及其生成代码的采纳率 在 2024 年,我们还看到了“AI 程序员” Devin 的诞生,Devin 能够独立完成复杂的编码和调试任务、自主查找和修复代码库中的错误,构建和部署应用程序。在 SWE-bench 编码基准测试中,Devin 能够解决 GitHub 中 13.86% 的真实问题,有了很大提升。 说起 SWE-bench 编码基准测试(https://www.swebench.com/),2024 年进步很快,以 OpenAI 建立的 verified 子集(500 个问题)为例,4 月开始时,成功率只有 2.8%,到现在已提升到 53%,这表明 AI 在编程能力方面取得了显著的进步。这一提升反映了 AI 编程几个关键因素,正好用来总结 2024 年 AI 编程的进展。 模型能力的增强:AI 模型的架构和算法不断优化,如从 Claude 3 Opus、GPT-4o 到 Claude 3.5 Sonnet、Claude 3.5 Haiku,大模型自身的能力不断提升,使得模型能够更好地理解和解决复杂的编程问题。 智能体(AI agent)的引进:智能体可以收集和学习与任务相关的知识,可以直接调用静态代码分析工具、直接调用搜索引擎和 API 为编程任务服务,并通过构建代码仓库知识图来帮助大模型全面理解软件仓库的结构和依赖关系,从而更好地定位问题根源并生成有效的代码补丁。 智能体还可以动态获取代码片段和问题相关的信息,并分析和总结收集到的信息,以便规划出更好的解决方案。例如从 RAG+GPT 4 (1106) 的 2.8% 提升到 SWE-agent+GPT 4 (1106) 的 22.4%、从 RAG+Claude 3 Opus 的 7% 提升到 SWE-agent+Claude 3 Opus 的 18.2%,效果都比较显著。 多模态能力:多模态 LLM 使智能体能够综合利用视觉和文本信息,可以理解软件用户界面、处理的图表、可视化数据、语法高亮和交互映射等内容,更好地理解任务陈述以及获取任务相关的产品信息、开发过程信息,从而更全面地理解和解决问题。目前排在 SWE-bench verified 前 4 位都使用了 Claude-3.5-Sonnet,而它是多模态的、具备处理文本和视觉信息的能力,使其能够理解和修复包含图像或其他视觉元素的 GitHub 问题。 和工具集成的框架:可以支持智能体在处理复杂任务时进行更好的任务管理和执行,并促进不同 AI 模型和工具之间的协作。 例如 Composio SWE-Kit 集成文件操作、代码分析、Shell 命令执行、知识库管理和数据库操作等工具或能力,优势互补,将 SWE-bench verified 大幅度提升到 48.6%。 再比如 OpenHands+CodeAct v2.1 将智能体的行为整合到统一代码行动空间的框架,允许 OpenHands 在编程任务中扮演全方位的智能助手角色,目前排在 SWE-bench verified 第一位(53%)。 基于代码大模型的自身进化,以及 RAG 技术、智能体的有力支持,从而 LLM 有更好的上下文感知能力。例如,在代码大模型预训练时,其训练语料中加入抽象语法树(AST)、代码依赖关系等数据,新的代码生成模型则具有更强的上下文感知能力。 在此基础上,基于 AI 的编程工具能够根据给定的上下文(如函数名、注释、部分代码等)检索出最相关的代码片段和文档,能够提供完整的函数或代码块建议。这也使得 LLM 能够参考海量的代码库和技术文档,这不仅能缓解大模型的幻觉问题,显著提升代码生成与理解的准确性,而且能符合上下文的代码,更能满足开发的业务需求。 未来,研发人员和多个智能体、工具协同工作来完成编程工作,如论文 Flows:Building Blocks of Reasoning and Collaborating AI 所描述的(图 2 所示),构成一个复合竞争性编码流程,研发人员更多是提需求,由 LLM 和智能体实现自主编程的过程。

82b882a2-e91a-11ef-9310-92fbcf53809c.png

图 2 由 LLM 和智能体实现自主编程的过程 随着大模型技术的迅速发展,在今年,我们明显能感到,AI 已从单一的辅助工具,逐渐演变为软件开发人员不可或缺的助手或伙伴。 除了前面已介绍的 Cursor、Composio SWE-Kit、OpenHands CodeAct 等工具之外,国内主要使用 chatGPT、GitHub Copilot、通义灵码、CodeGeeX、文心快码、蚂蚁 CodeFuse 等编程工具,国外还出现一些受欢迎的、新的编程工具,如 Codeium IDE Cascade、Solver ai、Websim ai 等。

82e0c8de-e91a-11ef-9310-92fbcf53809c.png

图 3 国内编程助手使用状况(来源同图 1) 这些工具让我们能感受到 AI 卓越的生成能力和理解能力,帮助我们更高效地完成代码生成、代码评审、代码解释到单测生成、缺陷定位、代码优化等任务。这种进步也体现在今年国内企业一些落地实践中:

在一些大厂,LLM 已经实际应用到代码审查或 CI/CD 流程中(如 pull request),自动识别代码质量问题并提出改进建议。

有些企业结合智能体和相关工具的支持,让基于 LLM 的研发平台生成代码流程图和类图,辅助自然语言解释,使得开发者更直观地理解代码结构和执行流程,增强智能编程的可视性和交互性。

有些开发团队借助智能体和 RAG 技术检索历史上已知的代码缺陷模式和已知问题,从而比较准确地识别潜在的缺陷和安全漏洞,甚至能够分析代码的功能意图,全面提升代码评审的能力。

有些团队,根据 UI 设计图,让 LLM 自动生成相应的前端代码,大大减少了手动编码的时间,加快了从设计到实现的流程。

从应用效果看,前面调研的数据可供参考。在国内 AI 编程开展比较好的大厂,超过 80% 的工程师在使用 AI 编程工具完成日常的编程工作,近 30% 入库的代码由 AI 生成,生成代码平均采纳率超过 40%,有些产品线达到 60%。仅仅在编程这一项工作(虽然只占开发人员 20-30% 的工作量)上,研发效率能提升 20-30%。

8300d340-e91a-11ef-9310-92fbcf53809c.png

图 4 大模型时代的软件研发正确方式 当然,我们不能局限于这一个编程环境,最好要从需求开始就应用大模型。ATDD(验收测试驱动开发)是大模型时代软件研发的正确打开方式,让大模型帮我们生成需求及其验收标准,业务约束更明确了,上下文更清楚了,在此基础上分别由不同的模型生成产品代码和测试代码,再让它们之间相互验证和博弈(如图 4 所示),最终交付高质量的软件。 未来,随着 AI 技术的不断成熟和创新,AI 编程工具将进一步提升智能化和可解释性,支持更多的编程语言和平台,并通过强化学习实现自适应优化。为了全面发挥 AI 编程技术的潜力,开发团队需要不断学习和适应新技术,优化开发流程,确保 AI 工具的有效应用和高质量输出。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3725

    浏览量

    97528
  • AI
    AI
    +关注

    关注

    91

    文章

    42016

    浏览量

    303087

原文标题:2024年AI编程技术与工具发展综述

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Codex AI编程实战课资源

    AI 编程时代来临,Codex 实战带你抢占未来开发先机 站在 2026 技术奇点,编程的边界正在被无限拓宽。随着 OpenAI Cod
    的头像 发表于 04-27 13:55 151次阅读

    2024工业AR质量检测方案横评:5大主流工具深度对比》

    环境实时融合,为工业质量检测带来了革命性的变革。本文将深入对比2024市场上5大主流AR质量检测工具,帮助您选择最适合的解决方案。 一、AR质量检测技术核心价值 AR质量检测系统通过
    发表于 04-27 10:42

    AI辅助编程设计之道:从Spec到Code工程实践

    逻辑。 技术选型和约束。使用什么编程语言和框架?代码分层遵循什么规范?有哪些性能或安全方面的约束?这些信息确保AI生成的代码符合项目的技术栈要求。 四、人与
    发表于 03-16 13:33

    使用NORDIC AI的好处

    CPU 快 15× 能效最高可比最近的竞品 NPU 好 8×,推理速度快 7×。[Axon NPU 技术页] 开发门槛低、工具链完整 Nordic Edge AI Lab :只需准备好数据集,无需
    发表于 01-31 23:16

    2024技术总结——MCU与MEMS和TOF应用实践

    2024对我来说是技术成长与突破的一。在这一里,我不仅在技术领域拓展了深度和广度,还通过与
    的头像 发表于 12-22 15:04 1564次阅读
    <b class='flag-5'>2024</b><b class='flag-5'>年</b>度<b class='flag-5'>技术</b><b class='flag-5'>总结</b>——MCU与MEMS和TOF应用实践

    京微齐力亮相2025国际现场可编程技术大会

    12月2日-5日,2025国际现场可编程技术大会(FPT)在上海成功举办,京微齐力应邀参加此次行业盛会,与全球领先的行业专家学者,共同探讨可编程技术的创新与发展
    的头像 发表于 12-10 15:00 760次阅读
    京微齐力亮相2025国际现场可<b class='flag-5'>编程技术</b>大会

    哪些 AI 编程工具能够根据项目需求进行定制?企业级研发场景的能力评估与实践趋势

    特点、技术架构、代码规范而深度适配的 AI 编程工具,正在成为提高研发效率、保障交付质量的关键。 在这一趋势下,企业开始更加关注: 哪些工具
    的头像 发表于 12-08 16:10 866次阅读

    思尔芯邀您共聚 FPT 2025,赋能可编程技术新未来

    技术先锋,再启新程!思尔芯将亮相12月2日至5日的2025国际现场可编程技术大会(FPT),与全球顶尖专家学者及行业伙伴,共同探索可编程技术的前沿
    的头像 发表于 11-25 09:57 929次阅读
    思尔芯邀您共聚 FPT 2025,赋能可<b class='flag-5'>编程技术</b>新未来

    AI 芯片浪潮下,职场晋升新契机?

    对复杂场景中目标检测与识别的速度和精度。在此过程中,对算法的理解深度、芯片架构与算法的协同能力,都会成为职称评审中的加分项。 除技术能力外,创新能力同样不可或缺。AI 芯片行业发展日新月异,新
    发表于 08-19 08:58

    HarmonyOSAI编程DevEco AI辅助编程工具

    DevEco AI辅助编程工具(CodeGenie)基于BitFun Platform AI能力平台,为开发者提供高效的应用与服务AI
    发表于 08-18 14:54

    HarmonyOS AI辅助编程工具(CodeGenie)概述

    DevEco AI辅助编程工具(CodeGenie)基于BitFun Platform AI能力平台,为开发者提供高效的应用与服务AI
    发表于 08-11 14:31

    HarmonyOS AI辅助编程工具(CodeGenie)代码智能解读

    本功能从DevEco CodeGenie 5.1.0 Beta版本开始支持。 CodeGenie提供智能AI能力对框选的代码片段进行逐条解释,总结代码段含义,帮助开发者提升阅读代码的速度和效率
    发表于 07-17 17:02

    HarmonyOS AI辅助编程工具(CodeGenie)代码续写

    利用AI大模型分析并理解开发者在代码编辑区的上下文信息或自然语言描述信息,智能生成符合上下文的ArkTS或C++代码片段。 一、使用约束 建议在编辑区内已有较丰富上下文,能够使模型对编程场景有一定
    发表于 07-15 16:15

    鸿蒙CodeGenie AI辅助编程工具详解

    【HarmonyOS 5】鸿蒙CodeGenie AI辅助编程工具详解 一、前言 1、CodeGenie是什么? CodeGenie (代码精灵)作为鸿蒙DevEco IDE自带的AI
    的头像 发表于 07-07 11:54 1694次阅读
    鸿蒙CodeGenie <b class='flag-5'>AI</b>辅助<b class='flag-5'>编程</b><b class='flag-5'>工具</b>详解

    【HarmonyOS 5】鸿蒙CodeGenie AI辅助编程工具详解

    【HarmonyOS 5】鸿蒙CodeGenie AI辅助编程工具详解 一、前言 1、CodeGenie是什么?CodeGenie (代码精灵)作为鸿蒙DevEco IDE自带的AI
    发表于 06-11 16:34