开源中国【专访】 | CodeFuse:让研发变得更简单

简介: CodeFuse 是蚂蚁集团自研的代码生成大模型,旨在简化研发流程,提供智能建议和实时支持。它能自动生成代码、添加注释、生成测试用例并优化代码。通过创新的 Rodimus 架构,CodeFuse 实现了“小体量,大能量”,显著提升了资源利用效率。其特色功能“图生代码”可将设计图一键转换为代码,准确率超过90%,大幅提高前端开发效率。此外,CodeFuse 还引入了“Code Graph”概念,帮助 LLM 更好地理解仓库级代码结构,缩短任务处理时间。未来,CodeFuse 将致力于全生命周期的研发支持,涵盖需求分析、代码生成到运维监测,推动行业技术迭代与创新。

CodeFuse 是蚂蚁自研的代码生成专属大模型,根据开发者的输入提供智能建议和实时支持,帮助开发者自动生成代码、自动增加注释、自动生成测试用例,以及修复和优化代码等。


“让研发变得更简单”,成为了当年百模大战中,CodeFuse 向市场提交的一份答卷。


经过 1 年的不断努力,CodeFuse-DeepSeek-33b 模型在 Big Code 上以 43.58% WinRate 成为新晋榜首。

111.png


今天,我们有幸请到了蚂蚁集团高级算法专家余航 ,就 CodeFuse 的创新架构、特色功能,以及未来发展,带大家一起去聊聊:LLM 接入后的“研发 2.0”时代


CodeFuse 开源官网:https://codefuse.ai


以下为采访内容整理。

  • 受访人:余航
  • Title :蚂蚁集团高级算法专家
  • 介绍:新加坡南洋理工大学博士,于 2020 年底加入蚂蚁集团。利用时序、图、NLP 算法助力技术风险领域智能化。2023 年开始从事 CodeFuse 代码大模型相关工作,负责底座模型建设。

222.jpg


架构先行:Rodimus 到底解决了什么?

时间回溯至去年百模大战的时候,市面上一众 LLM 虽说表现强劲,但对于国内广大厂商或开发者来说,其高昂的成本和相对低下的效率成为了 “术” 与 “用” 之间难以逾越的鸿沟。

蚂蚁意识到,若要在大模型领域真正实现广泛的应用,就必须找到一种创新的解决方法 ——“小 Size ,大 Prod.”(小体量,大能量)迅速被提上日程。在 CodeFuse 内部,一个名为“Rodimus”的架构应运而生。

333.png

CodeFuse 开源网站


Rodimus 是一个怎样的架构呢?

在推理每个 token 的过程中,Rodimus 架构能够保持较低的常量内存占用,这意味着在处理代码生成等任务时,它可以更高效地利用硬件资源,从而在资源有限的设备上更流畅地运行。


其自回归的架构,相比传统的 Transformer 和 Llama 架构,推理复杂度更低,但也可以适配并行训练。值得一提的是,1.6B 尺寸的 Rodimus 架构模型在性能上已超越同等大小的 Mamba2 和 Qwen2 等模型。


如此看来,CodeFuse 更像是基于自研 Rodimus,致力于让更多人、更多厂商都能用的端侧 “小模型”,落地于程序员最常见的应用场景,更快响应代码需求,更优秀的编程辅助,让人人可编程、可创新成为现实。


特色功能:“图生代码” 如何工作,以及它在实际应用中的表现如何?

“图生代码” 功能是 CodeFuse 推出的一项新功能,旨在支持开发人员使用产品设计图一键生成代码,能够将网页、小程序、APP 的设计图片直接转化成相应的代码,大幅提升前端页面的开发效率。


余航介绍,通过不断的升级优化,目前 “图生代码” 对于单组件的代码输出,准确率已经超过 90% ,今年更是实现 “整稿输出” 功能,涵盖了从设计理念的理解、功能规划的代码实现,再到后端联测的完整工作流。


值得一提的是,“图生代码” 功能自带大前端属性,能够输出适用于 PC 端和移动端的代码,适应了当下多终端设备的开发需求。


比如,在一个电商网站前端界面的开发中,对于商品展示组件的设计图,“图生代码” 功能可以快速生成包括 HTML (超文本标记语言)用于构建页面结构、 CSS (层叠样式表)用于页面样式设计和 JavaScript (脚本语言)用于实际交互效果的代码,并且这些代码能够准确地还原设计图中的功能和样式需求。


由此可见,前端开发的未来式,一些基础固有组件几乎都可以交给 AI 来完成,解放开发者更多时间于创新功能与艺术交互之上,生产出更多跨时代意义的产品。 


代码提质:策略、技术、场景

上面简述了 CodeFuse 的架构以及特色功能,溯源本真,它产出的代码质量如何?好用与否?


先讲策略,余航表示,CodeFuse 服务的对象大多是开发者、程序员,那么这就意味着:CodeFuse 必须要以“程序员的思维”去解决“程序员的问题”

444.png

图源:网络


就拿解决 “仓库级别代码任务” 来说,常规的解决方法是利用 LLM 构建代码 Agent ,因为仓库级别任务的复杂性,Agent 不得不增加节点来完成输出任务,但节点一多,可能会导致输出结果失准,同时,节点过多,交互耗时也会变长。


对此,CodeFuse 引入了一个概念 ——“Code Graph”(代码图),通过学习程序分析构建的代码图,并对齐 Graph 和 Code 两个模态,使得 LLM 能够更好地捕捉仓库级结构和依赖关系,从而解决开发者的实际需求。


这不就是开发者思维吗?CodeFuse 旗下仓库级别代码理解模型 CGM 的工作原理正是如此。CGM 不仅可以端到端地将整个仓库输入进 LLM 中,方便 LLM 完成仓库级别的代码任务,并且,由于只关系到 “输入” 与 “输出” 两个环节,给出答案的时间也大大缩短。


除此之外,CodeFuse 在模型训练过程中,还使用了程序分析校验技术,对高质量代码数据进行筛选,并构建了代码领域专用字典,使得编码平均长度低 10%+。


“目前,在蚂蚁内部,最常用的功能依旧是代码生成,和写测试用例,但 CodeFuse 未来绝不单单只聚焦于这些,而是全生命周期的功能支持。”


码之艺术:全生命周期的研发支持

就实际工作场景而言,一个需求对应一个功能实现,意味着一份 PRD 文档,进入代码搭建,最后到产品上线、运维、迭代,未来的研发周期将被不断缩短。


而 CodeFuse 的剑锋所指,正是全生命周期的研发支持。


依托于 CodeFuse 的强大底座,已能在需求分析阶段为开发者提供智能辅助,帮助梳理项目脉络,进入研发阶段,无论是代码补全、代码生成,抑或是图生代码功能,均可大大减少开发者的重复劳动。


当产品上线后,CodeFuse 又可以实时监测系统运行状态,智能预警潜在风险,帮助跨仓业务的稳定运行,将运维工作交给 AI 来完成,真正实现全生命周期的无缝衔接与高效流转。


目前,在开源领域,CodeFuse 已取得了令人瞩目的成就,先后推出 MFTCoder 系列,DevOps 系列,CodeFuse-Query 代码分析引擎,Test-Agent 、CodeFuse IDE 等产品,此外还有超多数据集和模型,不仅为全球开发者提供了丰富的技术资源,更推动了整个行业的技术迭代和创新浪潮。

目录
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
阿里通义千问大语言模型在人工智能教育领域的应用探索
阿里通义千问,阿里集团的大型预训练语言模型,应用于AI教育,实现个性化教学、自适应学习系统和智能答疑。通过AIGC,它生成个性化内容,适应不同学生需求,优化教育资源配置,推动教育创新。在教育场景中,模型提供实时反馈,定制学习路径,促进教学质量提升。随着技术进步,AI在教育领域的应用将更加深入,但也需关注伦理与安全。
3869 1
|
人工智能 运维 IDE
CodeFuse 开源一周年,焕新出发!
CodeFuse 是蚂蚁集团推出的开源项目,旨在通过大型代码语言模型(Code LLMs)支持软件开发生命周期各阶段,包括设计、编码、测试、部署等。自2023年9月开源以来,CodeFuse 不断迭代,推出了一系列创新产品和技术,如 CodeFuse IDE、muAgent 2.0 框架及 CGE 和 Rodimus 模型。项目已在蚂蚁集团内部广泛应用,并在多个行业会议上展示分享。未来,CodeFuse 将继续深耕开源,推出更多创新产品,并加强社区互动与合作。欢迎访问 CodeFuse 官网和 GitHub 项目主页了解更多详情。
1148 0
CodeFuse 开源一周年,焕新出发!
|
人工智能 自然语言处理 IDE
CodeFuse IDE 0.7 版本发布,支持 Lint Error 智能改写
CodeFuse IDE 0.7 版本发布,支持 Lint Error 智能改写和 zsh 终端自然语言生成命令。它基于蚂蚁自研大模型和 OpenSumi 框架开发,提供代码编写建议、解释、单测生成等功能,提升开发效率。内置插件升级至 VS Code 1.88.1,未来将支持更多模型服务。下载地址:[GitHub](https://github.com/codefuse-ai/codefuse-ide/releases)。
450 4
|
人工智能 Oracle Java
蚂蚁 CodeFuse 代码大模型技术解析:基于全仓库上下文的代码补全
CodeFuse 代码补全插件是 CodeFuse 系列产品中用户数量最多、留存率最大,调用AI能力最多的产品~欢迎大家体验试用https://github.com/codefuse-ai/RepoFuse
2519 7
蚂蚁 CodeFuse 代码大模型技术解析:基于全仓库上下文的代码补全
|
人工智能 运维 开发者
CodeFuse 开源官网上线啦~
CodeFuse是一个致力于开发大型代码语言模型以支持软件全生命周期的项目,涵盖设计、编码、测试等阶段,旨在提供创新的解决方案,优化开发者体验。其开源官网提供项目背景、相关AI开发项目展示、详细文档及贡献指南。团队已推出多个代码模型和开源工具,并在相关领域有学术成果和行业奖项。感兴趣者可通过GitHub、HuggingFace和魔搭社区主页联系或关注。
1331 0
CodeFuse 开源官网上线啦~
|
机器学习/深度学习 人工智能 运维
CodeFuse团队2024年10篇论文总结
CodeFuse 是蚂蚁集团开发的多语言代码大型语言模型(LLM),基于海量高质量代码数据和多任务微调技术,已在内部研发人员的编码、测试、运维等场景中广泛应用。2024年,CodeFuse 在国际顶会如ICSE、ICDE、KDD等发表多篇论文,涵盖CodeLLM、机器学习、AI等领域,并开源多个自研大模型,总下载量近200万。项目持续迭代,欢迎贡献和建议。
596 11
|
JSON Devops 决策智能
muAgent v2.2版本发布,支持ekg-sdk使用
CodeFuse-muAgent 是一款创新的 Agent 框架,将知识图谱(KG)直接升级为 Agent 编排引擎。它基于大语言模型(LLM)和事理图谱(EKG),结合多智能体、工具学习等技术,通过拖拽式画布和轻量级文本编辑,实现复杂 SOP 流程的自动化。支持复杂推理、在线协同、人工交互和即时知识应用。该框架已在蚂蚁集团多个 DevOps 场景中成功落地。
394 1
muAgent v2.2版本发布,支持ekg-sdk使用
|
存储 人工智能 运维
下一代研发大模型需要哪些关键能力?
CodeFuse 支持从设计到运维的整个软件开发生命周期。项目已开源多个项目,欢迎社区共建。其中Rodimus作为 CodeFuse 的重要组成部分,旨在降低推理复杂度,优化大模型性能,支持低资源设备上的高效运行。
372 6
|
Python
深入理解 Python 中的异步操作:async 和 await
Python 的异步编程通过 `async` 和 `await` 关键字处理 I/O 密集型任务,如网络请求和文件读写,显著提高性能。`async` 定义异步函数,返回 awaitable 对象;`await` 用于等待这些对象完成。本文介绍异步编程基础、`async` 和 `await` 的用法、常见模式(并发任务、异常处理、异步上下文管理器)及实战案例(如使用 aiohttp 进行异步网络请求),帮助你高效利用系统资源并提升程序性能。
1295 7
|
自然语言处理 JavaScript Java
CodeFuseEval : 代码类大模型多任务评估基准
CodeFuseEval是结合CodeFuse大模型多任务场景,在开源的HumanEval-x、MBPP、DS1000评测基准基础上,开发的面向大模型代码垂类领域的企业级多类型编程任务评估基准。可用于评估大模型在代码补全、自然语言生成代码、测试用例生成、跨语言代码翻译、中文指令生成代码、代码注解释、Bug检测/修复、代码优化等不同任务的能力表现。
1763 1