智能研发的点与面:蚂蚁代码大模型落地实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 智能研发的点与面:蚂蚁代 码大模型落地实践 演讲人:肖斌
2. 目录 01 研发提效探索 02 智能研发发展路线 03 04 未来方案思考 关键技术与难点
3. 01 研发提效探索 CodeFuse在蚂蚁研发全生命周期提效的探索
4.
5. 代码大模型探索 开发者最耗时活动 各功能使用占比 在CLI中执行操作 编写提交消息 了解最近代码变更 在代码库中搜索… 重构代码 执行代码审查 编写测试 编写代码注释或… 调试代码 互联网搜索 理解代码 编写代码 0.00% 20.00% 40.00% 60.00% 80.00% 100.00% 比例 注:数据来源JetBrains 2023年开发者生态报告 代码补全 代码问答 解释代码 添加注释 生成测试
6. 蚂蚁大模型发展路线 CodeFuse 3.0 CodeFuse 1.0 GPT-3 模型落地 • 0.25B模型 • 代码行补全 • 全蚂蚁落地 2023 Q1 2022 • 发布CodeFuse1.0 • 支持多种模型 • 蚂蚁内公测,大客户使用 2023 Q3 2023 Q2 • IDE插件对外放量 • 支持蚂蚁内部数十种研发下游任务 • 支持蚂蚁内部效能平台 2024 2023 Q4 CodeFuse 持续升级 CodeFuse 2.0 • BigCode第一名 CodeFuse 立项 • 发布IDE插件,支持多语言,多IDE • 仓库级代码问答&需求 • 发布1.3B模型 • CodeFuse开源,登顶开源代码大 • 仓库级代码补全优化 • 多语言代码补全 • 发布编程开发助手 模型HunabEval榜单(74.4%)
7. 大模型的能力演进 集成平台知识库或平台特定数 人类仅需设定目标,提供资源,设置 据对模型进行加训,通过对话 流程,监督结果。通过SOP方式根据 方式提供研发平台知识问答。 特定流程编排多领域Agent,完成特 定复杂任务或跨平台任务。 Chat模式 Agent模式 单纯问答形式无法满足智能化需求, 需要结合平台的能力进行智能化改造, 集成研发平台能力(工具)供AI调度。 Sop 多Agent编排
8. 大模型背景下效能平台产品演进 工具化 智能化 AI Native 传统效能平台 效能平台+ Copilot AI Native效能平台 工具化平台 智能化平台 AI原生平台 通过程序,工具等传统方式满足用 通过效能平台Copilot完成AI能力 以AI技术为核心,能够自主进行复 户各种明确且特定的功能。用户一 的使用,用户一般通过侧边栏进 杂的任务处理和决策。AI能力嵌入 般在产品上通过界面和特定操作流 行平台知识库问答或直接通过AI调 到用户每个操作中,通常能通过更 程完成任务。 度效能平台能力。 简单的操作完成更复杂的事情。
9. CodeFuse代码大模型落地现状 需求分析 编码自测 升级 演进 AI 升级研发链路 个人生产力释放、研发环节智能化、人工参与率降低 产品矩阵 领域 Agent Analysis 底层依赖 Run 需求智能拆解 代码补全 代码生成 编译问题自动修复 需求 to 系分 代码优化 缺陷修复 启动问题自动修复 需求 to 测分 添加注释 代码解释 部署问题自动修复 系分 to 研发计划 代码评审 变更总结 智能 Debug 研发辅助 核心能力 Coding 仓库理解与问题 意图识别 超级会话及管理 项目解析与问答 领域 Agent 开发 CodeFuse AI Assistant Platform 数据/模型/部署/推理/评测等 监控运维 AI Native R&D 全新研发范式,AI 原生的研发交付 CodeFuse VAT CodeFuse APIs CodeFuse IDE CodeFuse Copilot 部署发布 联调测试 Agent 调度与执行 CICD Ops 流水线智能执行 监控时序分析 执行问题定位域排 查 监控日志解读 Quality Text to 测试用例 单测用例生成 接口用例生成 测试覆盖率提升 监控语义搜索 CICD config 智能变更&应急 测试资产选取 智能 CLI 技术知识问题 RAG IDE 能力 评测体系 其他 蚂蚁大模型基础设施 大模型/Agent 建设平台等 数据体系
10. 02 智能研发发展路线 蚂蚁智能研发发展路线
11. Copilot+Chat模式 传统效能平台快速集成AI能力 传统效能平台 提取效能平台特征加训语料 模型加训 特定效能平台模型 CodeFuse大模型 效能Copilot+Chat 在现有产品功能上做智能化升级是 AI 应用的重要方式。一些适合的场景: 1. 生成式,如 自然语言生成用例、根据变更代码补齐测试用例等; 2. 总结类,如 对 PR 标题和描述的总结、基于文档的总结与问答; 3. 推理类,如 代码冲突解决、问题的诊断与修复、异常日志分析等;
12. Copilot+Agent模式 传统效能平台工具与AI能力升入结合 自定义工具(API) 传统效能平台 提供知识库 RAG检索 工具调用 CodeFuse大模型 效能Copilot +Agent 全量数据 单纯问答形式无法满足智能化需求,需要结合平台的能力进行智能化改造。 以领域 Agent 为核心,对效能平台进行全面升级,增加超级会话及 Agent 调度与执行能力
13. AI Native 模式 AI原生:用户无需主动触发AI功能,任何原有功能都能友好嵌入AI能力至用户操作中。 03 解释代码 04 代码分析 准确解释代码,历史 智能生成优化、简化建议, 代码 so easy 帮助写出更好的代码 02 生成注释 05 生成测试 代码编辑区域快捷 快速生成测试用例,单测/ 添加注释 集测一键搞定 01 代码补全 智能补全,一键采纳 06 智能问答 AI 协助解决研发问题, 无需离开编码环境
14. 03 关键技术与难点 CodeFuse研发助手关键技术以及难点突破
15. 算法关键技术与难点 代码底座大模型 ≠ 产品落地 代码补全模型 代码底座大模型 模型填空 自适应语法粒度 仓库级感知 推理部署 挑战 1 挑战2 挑战 3 挑战4 挑战5 • 自回归训练从左 到右 • 无法利用上下文 • 常规训练无代码 语法 • 无法自动停止 • 单文件感知范围 有限 • 业务逻辑不准 FIM : fill in the middle BlockFim:程序 分析 RepoFuse仓库 级补全 • 代码能力 • 生成代码符合 预期 预训练+MFT微 调 • 响应速度敏感 • 代码补全耗时 600ms ModelOps加速
16. 工程关键技术与难点 算法模型 ≠ 产品落地 触发时机 上下文边界 实时+耗时 效果优化 多模型/多策略 挑战1 挑战2 挑战3 挑战4 挑战5 • 上下文边界导致 可用信息少 • 无法利用代码引 用链路相关信息 • 无法参考其他相 似代码 • 全量代码计算量 大 • 实时代码难被计 算 • 服务端OR本地存 储 • RAG检索时间长 • 耗时敏感 • 纯模型能力存在 幻觉问题 • 生成结果括号不 匹配 • 模型能力存在某 些领域上限 触发时机优化 RAG+程序分析 本地存储/索引 PE/前后处理 AB平台 HPF抢占式队列 上下文太少不触发 上下文感知缓存 动态delay •库内检索召回 •个性化业务独立扩 展 •引用链路追踪 •代码解析/压缩 •本地轻量向量/索引 库 •严格限制资源的低 侵入构建 •20ms以下仓库检索 •低收益判断 •业务语义Prompt增 强 •Few-Shot 学习 •多种校验后处理 •多场景多样化分语 言AB实验 • 什么时候触发 (立即 or 等待 or 动态delay) • 全部触发 or 部分 触发(队列机制) • 要不要触发:缓 存复用 • 同时运行多个模 型进行效果验证 • 单个模型同时用 多种策略进行效 果验证
17. 如何对高频场景进行触发时机优化(代码补全为例) 敲击键盘 提取Prompt LRU缓存 上下文hash 提取Prompt 边界判断 绝大部分请求为无效请求,浪费GPU资源 发起请求 缓存 动态Delay HPF抢占式队列 发起请求 40+用户特 征抽取 触发事件 上下文长短 光标位置 线性模型 决策树模型 相对节省80%+ GPU资源
18. 什么是模型幻觉问题 生成效果 模型“虚假认知” 由于无法感知SortUtils中bubbleSort方 法,所以模型根据有限的上下文猜测 了可能的insertionSort方法,并生成对 应调用代码,导致生成代码的编译错 仓库内其他相关文件内容 误。
19. 基于上下文感知学习 ( ICL ) 能力,解决模型幻觉问题 Context-Aware感知边界 无上下文 当前文件 光标前内 容 当前文件 光标前后 内容 (FIM) 所有打开 的文件 所有的语 义相关元 素 本地仓库 所有相关 的元素 整个本地 仓库 CY23 里程碑 CY24 里程碑 文件级感知范围 仓库级感知范围 公司所有 仓库 其他非代 码信息
20. 上下文感知学习 ( ICL ) 能力预处理 – 本地索引构建 文本索引库 File 函数过滤/代码摘要 Code AST分析/代码切分 函数 向量化/Embedding KV索引库 Chuck
21. 基于上下文感知学习 ( ICL ) 能力,解决模型幻觉问题 结合RAG+程序分析能力强化上下文。 感知本地仓库中预处理构建的文本库/向量库做相似度检索寻找相似代码。通过AST解析, 引用链路等追踪手段,找到对应相关代码并压缩 测试集 EM:40.9% -> 59.75% 相似代码 文件上下文 • 文本检索 • 向量检索 • 滑动窗口 • • • • • 相关代码 重要性排序 AST解析 动态类型推导 应用链路追踪 代码结构分析 二方/三方包 • 相关相似混排 • 结构压缩,无效 信息去除 • token计算/占比 分析 Prompt构造 • 多结构构造 • AB Test 远程能力增强 跨库引用链路检索 知识库检索能力 重要性排序 Embedding服务 本地核心能力 轻量级K-V索引库 本地文本索引库 本地文本检索引擎 本地向量检索引擎 相关文章:《RepoFuse》 https://arxiv.org/abs/2402.14323
22. 基于上下文感知学习 ( ICL ) 能力,解决模型幻觉问题 Context-Aware扩展边界的意义 Generate HTML with python syntax highlighting for Generator “print(‘reading docs’)” <pre><code class="language- python">print(“reading docs”;) </code></pre> • 单文件代码补全 • 仓库内多文件代码补全 • 无法利用仓库内其他文件信息 • 70%的代码编写会用到仓库内其他文件信息 • 仅能完成30%的场景 • 更加关注仓库整体依赖关系 • 补全不准,出现严重的幻觉 • 更加关注与目标代码相似的代码段
23. 基于上下文感知学习 ( ICL ) 能力,解决模型幻觉问题 生成效果 仓库内其他相关文件内容 优化前 优化后
24. 基于Block-FIM能力,解决代码生成不完整问题 • Motivation • 大模型自回归训练,仅适合Chat任务,不支持代码补全。 • 代码补全需要根据代码的上下文预测代码缺失部分,此模式无法 结合上下文进行完型填空。 • FIM(Fill in the middle) • 将训练的文本序列一部分移动到结尾,自回归重新排序进行训练。 • Character:字符粒度随机切分样本,生成结果无法保证语法准确性,工程 需要复杂后处理保证预发准确性。 • Block-FIM • Block:结合程序分析技术构建Block数据,将样本进行Block粒度切,模型 生成完整Block停止。 Block-FIM 效果展示
25. 04 未来方向思考 未来软件研发领域发展方向思考
26. 人工智能应用阶段 Intelligence 完全无需人类监督,AI完成全部工 作,人类只需给出初始目标 Agent AI完成绝大部分工作,人类设定目 标,提供资源,监督结果 Copilot 人类与AI协同完成工作,AI一般提 供初稿 Chat Bot 人类完成绝大部分工作,AI提供建 议或信息 TOOL 人类利用工具完成工作,没有任 何明显AI辅助
27. AI程序员(Multi-Agent技术路线) 需求拆解Agent 用户需求 系分Agent 编码Agent 测试Agent 调度Agent AI程序员 发布Agent 运维Agent 监控Agent 需求交付 更多领域Agent
28. 技术普惠 AI让技术更加人性化:AI不是替代我们研发人员,是让更多人成为我们
29.
30. THANKS 大模型正在重新定义软件 Large Language Model Is Redefining The Software

inicio - Wiki
Copyright © 2011-2025 iteam. Current version is 2.139.0. UTC+08:00, 2025-01-10 04:31
浙ICP备14020137号-1 $mapa de visitantes$