您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[甲子光年]:2024年AI代码平台及产品发展简报 - 发现报告
当前位置:首页/行业研究/报告详情/

2024年AI代码平台及产品发展简报

信息技术2024-10-24甲子光年机构上传
AI智能总结
查看更多
2024年AI代码平台及产品发展简报

智库 前言:生成式AI爆发后迎来商业加速,代码领域迎来创新及变革契机 随着人工智能技术的飞速发展,大模型(包括开源模型及闭源模型)的数量和能力都在显著增长,为生成式AI应用的爆发提供了坚实的技术基础。 代码及开发领域具备广泛的高质量数据、丰富的应用场景及多样的用户人群,因此生成式AI为代表的技术提供了生产力的创新空间和发展潜力。 大模型的数量及能力均不断上升,AIGC应用爆发具有技术基础 ArenaELO 1250 1200 GPT-4 闭源模型开源模型 GPT-4 GeminiPro GPT-4 Claude3Opus Claude3Sonnet GPT-4Turbo Llama370bInstruct 代码结合AI迎来创新机会开发领域亟待生产力升级 1150 Claude1 GPT-4 Claude2 MistralMedium Claude3Haiku MistralLarge Llama38bInstruct Qwen1.5-32B-Chat 模型技术的蓬勃发展为“AI+”领域/场景/行业的发展提供坚实的基础及发展 •高质量的数据 •通用性的需求 1100 GPT-3.5Turbo WizardLM70bYi-34B MixtralInstruct8x7B OpenChat-3.5 Zephy-orpo-141b创新的土壤 Starling-LM-7B-beta •广泛的使用人群 GPT-3.5Turbo Vicuna33B Llama-2-70b-chat Llama-2-13b-chat OpenHermes-2.5-Mistral-7B DeepSeek-LLM-67B-Chat DBRXInstruct Gemma-1.1-7B-it •…… 1050 MPT-30B-chatVicuna-13B-v1.5Llama-2-7b-chat SOLAR-10.7B-Instruct-v1.0 2023.32023.52023.72023.92023.112024.12024.32024.5 数据截止2024年5月 www.jazzyear.com Part01机遇:AIGC引发的数字生产变化 目录 Part02价值:重新构建代码开发的应用范式 Part03落地:智能时代AI+代码的先行者 Part04展望:人工智能普惠时代的期待 需求破局:“AI+”的工作方式成为首选,释放代码工程的生产力 编写代码,理解代码及互联网搜索、调试、写注释、写测试等工作是开发者的高频工作需求,因此解决围绕代码解决问题实际上解决开发者最高频刚需问题,随着生成式AI技术能力提升,更多的开发者都在尝试使用AI解决问题。 开发者最耗时的活动 理解代码 47% 互联网搜索 31% 调试 30% 编写代码注释或代码文件 29% 编写代码 79% 代码及开发工作不仅仅是“脑力活”,也是“体力活” 编写修改注释测试…… 开发者会选择尝试AI编码提升自身的效率及技能水平 编写测试执行代码审查 21% 16% 92% 开发者使用AI代码生成可提升工作效果提高编程技能 57% 重构在代码库中搜索代码段了解最近的代码更改 编写提交消息在CLI中执行操作 JetBrains,StateofDeveloperEcosystemReport(2023) 12% 9% 9% 6% 6% GitHub(2023) 开发者使用AI编程工具的比例 70% 开发者认可AI的比例 变得更有效率创造性工作防止倦怠 53% 51% 41% www.jazzyear.com 技术升级:大模型赋予了“AI+代码”更多的创新空间 AI生成代码的应用思路可以追溯到AI技术应用初期,但往往受限于当时的AI技术所体现的智能化水平。 大型语言模型(LLMs)的出现为深度学习带来了新的范式,尤其是针对语言类型的数字内容生成能力提升,因此也为“AI+代码”进一步发展带来了更多创新空间。 基于知识工程/专家系统 “AI+代码”的技术历程简述 基于深度学习 (中小模型) 基于统计学习/数据驱动 大模型为代码生成带来了“质”的改变 LLMs给“AI+代码”提供了一个突破性技术方案:LLM带来了深度学习新范式,思维链和强大的自然语言理解能力,从而理解程序员的需求和意图,自动生成符合规范或者采纳率更高的代码片段或完整功能模块,从而让创建广泛应用且实用的AI代码平台成为可能。 并且推动了开发者的编程习惯和开发方式发生转变,虽然工作重心依然在代码编写上,但与AI的互动逐渐增多,编程习惯和开发方式开始发生转变。未来,开发者可能开始从代码的具体实现转向更高层次的任务管理和决策。 过往的工作主要集中在代码生成及搜索的特定能力,更加注重算法设计和训练策略。事实证明,增强模型固有能力是推动智能代理进一步发展的关键因素。因此大模型对于泛语言形式的数字内容智能化水平的提升,成为推动AI辅助代码生成的关键。 •长期以来,研究者们一直利用当下人工智能能力结合代码开发工具,实现AI技术在开发领域的实践。 •但受限于AI技术的发展水平,AI编程的实践往往面临智能化水平不高、编码效率低下等问题。 •这些辅助编程工具基于预定义规则和模式,帮助程序员快速生成常见代码结构。 Copilot模式/IDE插件作为主导: AI通过自动补全代码、生成代码片段等方式帮助开发者完成繁琐的编程任务。开发者依然在整个开发流程中起主导作用,AI的角色主要是提高编程效率和降低重复劳动。 产品形态的改变 Agent模式逐步被采纳,与Copilot模式/IDE插件共同组成丰富的产品功能: AI不仅仅是代码生成的助手,还能够自主处理一些开发任务。AI在这一阶段表现出更高的自主性,可以减少人工干预。开发者的角色从编写代码逐步向监督和管理AI输出转变。AI的作用从简单的助手扩展到可以独立完成特定任务的合作者。 www.jazzyear.com 产品红利:围绕开发项目的全环节和需求进行展开 AI代码平台的功能围绕具体的开发环节及场景展开,AI技术是代码平台的能力,当具体的产品功能服务依然围绕项目提质增效展开。 广义的AI代码平除了核心的产品功能外包括企业级开发能力(和个人开发能力做对应,强调其系统性的开发能力),另外包括用户体验的设计,服务生态的建设,另外包括与算力、数 AI代码平台的产品功能架构图示例 应用场景 金融泛互联网运营商国央企科技服务商汽车零售工业 据存储、环境部署的适配。 企业级开 企业看板知识增强插件管理 用户体验服务生态 狭义的AI代码平台往往指代的是核心产品的功能,也会被称为AI编程助手, 发能力用户管理 API管理 安全保护 训练调优 多Agent管理成果共享 自然交互 多语言 主要指在代码开发过程中辅助编写代码的功能。 产品功能类型主要类型可以概括如下: 产品核心 DevOps(需求分析、代码编写、调优对齐、数据回流) 代码生成知识管理注释生成 自动/手动 功能唤醒自定义 插件管理 Agent开发低代码/高代码 生成与搜索 修改与重构 能力代码修复 代码注释 智能推荐 代码翻译 代码解释 智能问答 风格学习 多模型管理 注释与解释 审查与测试 单元测试风格检查…… 数据存储、算力、网络等产品支撑 逻辑理解 多产品集成 云服务/终端部署算力异构调度网络调度数据存储/管理 www.jazzyear.com 功能简析:技术能力和交互模式的融合升级 产品功能简析-解决贯穿开发环节的典型问题(1/3) 产品场景及功能类型示例AI代码开发平台的产品价值 提高了代码的质量和稳定性:通过实时代码生成和补全,AI代码平台减少了开发者在编写代码时的手动输入,使得他们 生成与搜索 修改与重构 注释与解释 审查与测试 代码补全/生成 智能搜索 …… 代码修复代码重构 …… 添加注释代码解释代码翻译 …… 代码审查性能检查单元测试 …… 能够更快地实现功能。这种自动化不仅提高了编码效率,还减少了因手动输入而导致的错误。 减少重复性的琐碎工作:使他们能够专注于更有挑战性和创造性的任务。AI代码平台通过智能搜索和代码预测功能,帮助开发者快速找到所需的信息和解决方案,从而节省了大量搜索和调试的时间。这使得开发者可以将更多的精力投入到创新和优化代码结构上,推动项目的创新和发展。 更自然的交付体验:“对话式”的调试方式,使得开发者能够以更直观和自然的方式与代码进行“对话”,从而更迅速地理解和解决问题。这种及时的反馈机制,尤其在软件开发的早期阶段,能够及时修复错误,避免后续的连锁反应,从而提升代码的整体质量和稳定性。 优化和升级变得更加快速和高效:智能化的重构不仅减少了人工重构的工作量,还降低了重构过程中引入错误的风险。自动化重构的实现,使得代码结构的优化和升级变得更加快速和高效。 提升代码可读性:帮助开发者更快地理解和掌握复杂和陌生的代码。这种能力对于处理大型项目或维护遗留系统尤为重 要,因为它减少了开发者在理解代码逻辑上的时间消耗,从而提高了开发效率。 帮助开发者理解软件程序的结果和语义:确保产出的代码符合企业的设计原则。这一功能对于保证软件质量和一致性至关重要,因为它减少了因误解设计意图而导致的错误和返工。 优化现有代码的可移植性:提高了代码的适应性和可维护性,还为企业节省了时间和资源,因为代码转换通常比从头开始编写新程序更加高效。 提升单元测试的效率:AI代码平台通过自动化功能,极大地提高了单元测试环节的效率。它能够辅助开发人员编写更多的测试用例,确保软件程序的有效运行。这种自动化不仅提高了测试的覆盖率和质量,还减少了开发人员在编写和维护单元测试上的时间和精力。这使得开发人员可以将更多的注意力投入到软件的设计和创新上,从而提高软件的整体质量和用户体验。 人工驱动转为数据驱动:通过收集和分析大量的代码数据,AI代码平台能够提供更加精准的测试建议和代码优化方案。 这种数据驱动的方法,不仅提高了开发效率,还降低了软件缺陷的风险。 www.jazzyear.com 功能简析:技术能力和交互模式的融合升级 产品功能简析-解决贯穿开发环节的典型问题(2/3) AI代码开发平台常见产品功能特点未使用AI代码可能面对的问题 代码补全:在用户输入按键后自动提供后续代码的建议。用户可以将其当作参 考,也可以采纳其为正式代码。 智能搜索:可将对话问答功能与IDE进行了集成打通,其中的聊天互动界面可以让开发者通过自然语言来做提示词,探索和生成大段新代码,甚至是整个程序。并支持一键插入到编辑器中。 生成与搜索 ⅹ手动记忆:程序员需要记住大量的函数、方法和库的名称及其参数,这在面对 庞大的代码库或复杂的编程语言时尤为困难。 ⅹ信息过载:在没有智能搜索的情况下,程序员可能需要在大量的文档、论坛和 代码库中手动搜索解决方案,这既耗时又容易出错。 代码修复:针对编码过程中出现的代码问题,可以一键给出修复建议,助力开 发者快速解决代码问题。 代码重构:在不改变软件功能的前提下,主动提出建议给出选择,对代码进行 结构上的调整。 添加注释:支持多种编程语言生成注释,只要选中代码段落,用按键选择生成 注释,AI编程助手就能一键生成方法注释及行内注释。 代码解释:支持开发者将代码片段粘贴到聊天界面,并获得自然语言解释,还 可以在IDE环境中突出显示需要解释的代码片段。 代码翻译:将代码从一种编程语言翻译成另外一种编程语言,节省相应的时间。 代码审查:自动审查用户代码,支持对代码进行函数级检查功能,审查代码的 可读性、可维护性、一致性以及是否遵循编码规范。 性能检查:支持对代码进行函数级检查功能,可以对大篇幅代码做检测,检测 代码性能,评估代码在运行时的性能,如处理速度、内存使用等。 单元测试:根据自然语言提示或按键选择,为指定范围内的代码自动生成单元 测试。 修改与重构 注释与解释 审查与测试 ⅹ定