您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[百度]:百度AI原生研发范式变革的探索之路 - 发现报告
当前位置:首页/其他报告/报告详情/

百度AI原生研发范式变革的探索之路

2024-09-19牛万鹏百度「***
百度AI原生研发范式变革的探索之路

百度AI原生研发范式变革的探索之路 牛万鹏 百度Comate架构师 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 牛万鹏 百度Comate架构师 •百度资深研发工程师,毕业于吉林大学,毕业后入职百度 •长期负责DevOps工具的孵化和落地,涵盖项目管理、代码管理、流水线、制品库、应用部署、运维管理等平台建设和商业化 •现负责百度研发智能化,通过构造全新智能编码工具,搭建全新的产品形态,推动百度万人研发范式的变革。 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 01在AI前夜——百度研发现状 目录 02在AI时代——智能研发助手 03在AI未来——人机协同新范式 01在AI前夜——百度研发现状 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 业界软件开发模式的发展轨迹 软件开发的基本性质 沟通密集性 协作密集性 持续迭代性 不可复制性 需要每个角色密切沟通,保证理解一致性,降低随机性 需要从产品经理到研发、测试、运维等一系列的角色参与 代码要被不断组装在一起,不断打补丁,让软件系统能够持续工作 软件规模虽然在不断扩大,但并非重复,工程师每天都写不同的代码 研发协作的密度增高和迭代周期增长,引起效率降低。 瀑布模型精益敏捷DevOps研发效能 业务复杂度 全部聚焦『流程提效』极少关注『个人提效』 DOS/PCPC(GUI)/ 客户端-服务器 Web/互联网移动/云AI/边缘/量子…时期 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 百度研效工具的发展轨迹 1w+工程师,1k+业务团队,10w+代码库 85%的需求一周交付,50%的研发资源云化 80%的应用从开发到上线全流程在线 每天1w次代码提交 每月1kw次流水线自动化任务 流程支撑 •SVN •Jenkins •iCafe •iCode •iPipe •iCafe •iCode •iPipe •iScan •iCov •iTest 工具支撑 •iCafe •iCode •iPipe •iScan •iCov •iTest •工程能力底图 •价值流、健康度 •iCafe •iCode •iPipe •iScan •iCov •iTest •工程能力底图 •价值流、健康度 •一站式、云原生 业务复杂度 GOPS全球运维大会暨DXOOSp/PsC技术创新客PC(GUI)/ 峰户会端-2服0务2器4·北京站 Web/互联网 移动/云 AI/边缘/量子… 时期 聚焦『流程』+『协作工具』 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 多数开发者对敏捷、效能、DevOps等不感冒,也不理解其实际意义 面对花样繁多的项目管理流程,多数开发者更想聚焦于研发 过度在团队内推广研发流程,反而引起开发者的抗拒心理,大幅降低开发者的幸福感 核心原因在于整个提效的设计不是站在开发者个人,而是站在组织上 技术迭代的太快,流程的更新赶不上技术的更新,持续滞后阻碍研发效率提升 流程是是实践后的经验、教训等总结,一定是『滞后的』 如,针对Prompt、数据集等在工程团队如何管理,目前没有明确的范式 面向流程的研发提效窘境 智能研发助手=代码自动补全(Completions)+理解私域知识(RAG)+独立分析需求(Agent) 大模型催生了开发者个人提效的『银弹』 GithubCopilot+ChatGPT的诞生,吹响了『开发者个人提效』的号角,几乎一夜之间所有组织都开始关注 开发者的『iPhone』时刻 02在AI时代——智能研发助手 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 BaiduComate的从无到有 工程师使用 百度内部Comate代码生成占比 27% 25% 27% 百度全局提效 用户满意度 80%+ 90%+ 27%+ 46%+ 15.27% 代码生成占比 0.27% 1.82% 7.53% GOPS全球运维大会暨XOps技术创新峰会2024·北京站 采纳率 202223-Q123-Q223-Q323-Q4当前 代码生成占比 代码续写 Human引领 单指令交互 基于通用知识 快思考 AI驱动 多轮交互 基于私域+领域知识 慢思考 AI引领 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 0 1 2 3 4 5 无助手 代码续写 代码问答 助理模式 代码智能体 自适应全自主 自动推荐单行、多行 依赖分析强化推理 代码公域问答 Human引领 单指令交互 基于通用知识 快思考 AI驱动 多轮交互 基于私域+领域知识 慢思考 AI引领 0 1 2 3 4 5 无助手 代码续写 代码公域/私域问答 助理模式 代码智能体 自适应全自主 全网检索回答 GitHub检索回答 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 代码私域问答 Human引领 单指令交互 基于通用知识 快思考 AI驱动 多轮交互 基于私域+领域知识 慢思考 AI引领 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 0 1 2 3 4 5 无助手 代码续写 代码公域/私域问答 助理模式 代码智能体 自适应全自主 询问代码架构生成私域代码 助理模式 Human引领 单指令交互 基于通用知识 快思考 AI驱动 多轮交互 基于私域+领域知识 慢思考 AI引领 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 0 1 2 3 4 5 无助手 代码续写 代码私域问答 助理模式 代码智能体 自适应全自主 生成注释补全日志捕捉异常 代码智能体 Human引领 单指令交互 基于通用知识 快思考 AI驱动 多轮交互 基于私域+领域知识 慢思考 AI引领 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 0 1 2 3 4 5 无助手 代码续写 代码私域问答 助理模式 代码智能体 自适应全自主 •独立分析产品需求 •整合研发过程的全局视角 •精准匹配最佳解决方案 •检索必要的背景知识 •制定执行计划并智能生成代码 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 整体建设思路 能力层 IDE端(目录区、编辑区、Console区等)+Web端 知识层 代码类(代码片段、代码依赖等)+文本类(技术文档、需求文档等) 框架层 Agent+RAG+P-RAG 模型层 推理调度+代码生成+代码续写+Embedding+意图识别 能力层——IDE端 目录区编辑区 问答区 •GitHubCopliot的创新:模型+交互 智能搜索 代码补全CodeLensInlineChat Chat •产品设计应作用在用户的习惯上、 作用在用户的焦点上 •开发者面对IDE时将有四个焦点区:编辑区、目录区、问答区、Console区 命令补全 Console区 AIDebug AINotice GOPS全球运维大会暨XOps技术创新峰会2024·北京站 IDE端产品形态 能力层——Web端 IDE 1.代码库元信息 2.编辑区文件 3.Console区报错 Web 1.一键采纳代码 2.Plan信息 开发者Workspace 任务拆解(Plan) 基于IDE信息定向问答 Console区 面向技术的全网检索问答 目录区 1w+GitHub高星仓库问答 编辑区 •更优的用户体验,与IDE分屏使用 •更前置的编码助理,在非编码阶段讨论实现方案 •IDE与Web端共享Workspace,数据同步,一键采纳 •IDE端发生代码报错、正在写代码但忘记语法等,直接切换到Web端,将自动同步以上信息作为上下文 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 能力层——构造极致研发体验 帮你改 帮你想 WebIDE 问答区 编辑区 帮你写 代码图书馆 (GitHub1w+高星仓库) 面向技术的全网检索问答任务拆解(Plan) 编程现场知识理解(公/私域)RAG+Plan-RAG+Agent 代码续写代码解释代码调优生成注释生成单测函数拆分 代码架构梳理业务逻辑讲解全网检索问答接口生成代码生成测试用例代码智能评审 Console区 命令补全错误代码修复 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 知识层——与开发者同频 编程现场 本地代码库 代码类:向量检索、关键词检索、元信息检索 本地Console信息 业务接口文档 存在于开发者脑海之中 具象成知识给到编程助手 产品需求文档 测试用例文档 文本类:向量检索、关键词检索 服务部署文档 依靠对开发者编程现场的理解,保持和开发者同频,帮助开发者解决繁琐、重复的问题。对『编程现场』的理解: •是所有编码助手的下一步方向 •是从『简单续写』到『复杂生成』的必经之路 •是能够大幅提高开发者效率,构造真正的人机协同的必经之路 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 知识层——文本&代码 知识层——代码向量化 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 知识层——代码开发范式提取 站在时间维度思考:代码续写是预测用户5秒后做什么,那1分钟用户会做什么?5分钟?10分钟?AI能否预测更多内容? 每个代码库独有的开发规则,和开发语言、应用框架强相关,和代码库建库之初定义的规则强相关。 什么是代码开发范式 每位开发者接手代码库时首先尝试掌握的就是代码开发范式,这决定了新增一个目录、文件、函数等需要放在哪里、如何命名、结构如何定义。 代码开发范式有什么用 当开发范式可提取、可量化,编码助手在用户新建文件、新增函数时可以预测更大范围的代码,如新建一个Entity文件,同步将Dao、Service、Controller创建。 编码助手如何利用 知识层——代码开发范式提取 Repos Dao PO Entity Utils Controller Bean Handler Assemble Service 代码开发范式知识图谱 1、遍历文件 2、依赖解析 3、权重计算 4、填充节点 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 一个典型的Spring应用,有bean、entity、po、dao、service等层级关系。 框架层——RAG+P-RAG 一是把问题『揉碎』,降低问题的难度。二是把思路『理清』,指明答案的方向。最终,弥补『用户原始表达』与『答案所需知识』之间的语义差异。 意图识别 基于Ernie的文本分类模型,低延迟 动 作无需检索代码库检索全网检索文档检索QueryPlan……池 基于ErnieBot4.0的大模型,强推理 任务拆解 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 依赖检索 代码块检索 函数向量 代码块向量 关键词检索 默认规则 图谱检索规则 正则检索规则 向量检索规则 规拆解成多个检索规则 技术栈检索 函数检索 注释向量 文件向量 则池 多路检索 混合重排 基于识别的规则组装Prompt 检索增强的问答模型 框架层——Agent GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 框架层——Agent 模型层 文心大模型 代码大模型套件 PaddlePaddle • • • 高性能推理优化 多平台支持搞笑模型压缩 •强大的语言理解能力 •高效的推理生成能力 •自我学习和进化