智能化研发工具链在百度的探索与实践 徐晓强百度Comate架构师 徐晓强 百度工程效能部(EE) -资深工程师百度Comate架构师 -百度Comate、代码托管架构设计与实现 -对DevOps智能化落地、云原生、高可用方向都有深入研究 目 01百度研发工具链的演进史 contents 录02智能化研发工具的落地过程与思考 03传统工具链如何支撑AI原生应用的演进 PART01 百度研发工具链的演进史 需求阶段 开发 自测/UT 代码评审 CI/CD 提测 测试 测试准出 开发 发布 需求评估 运营评估 全量发布 分级发布 发布 集成 任务拆分 需求评审 技术方案设计 MRD/PRD 需求细化 需求定义 百度沉淀了一个全面的研发流程 测试 DevOps工具支撑流程正常运转 iCodingIDE 开发 自测/UT iCode 代码评审 iPipe CI/CD 提测 测试 测试准出 CNAP/各PaaS 需求评估 运营评估 全量发布 分级发布 发布 集成 任务拆分 需求评审 技术方案设计 MRD/PRD 需求细化 需求定义 iCafe/知识库 工程效能的目标和挑战:保障研发快而有序 协同1万+工程师的工作减少环节损耗积累研发流程行为数据 核心指导思路:提升自动化比例,提升工具使用体验 工程师应聚焦重要的事情重复、类似的事情无需人参与数据指引更智能的研发 研发环境演化:多角色多环节的多端协作 自下而上,丰富开箱即用的研发环境 研发个体 •研发工具需求 •新研发模式 组织规范 •技术栈更新 •旧技术退出 •技术路径规划 优秀实践 •优秀团队落地实践 •业内先进实践 自上而下,基础研发环境治理升级经验总结,App端研发规范的衍生 研发环境演化:在线化,有序化,智能化 编程现场的现代化是软件研发工具和理念的一种变革通过先进的技术和工具赋能编程现场 实现软件研发生产力的升级,是高效、智能、持续演进的 研发环境无序 统一环境 工具智能化 研发 个体 组织无统一要求 制定治理规范 自动化规范落地 离散的研发实践 工具支撑实践落地 定制化演进 规范 实践 组织优秀 PART02 智能化研发工具的落地实践与思考 自动化带来的效果显著,但如何更进一步? 2017~2020国家重点研发计划《基于编程现场大数据的软件智能开发工具与装置》 -编程现场:上下文、操作内容、操作意图 -大数据:已有代码、编程范式 -智能开发:自动化、规则化、大模型 大语言模型加速产品落地 尝试-2022年9月 百度内部发布Comate代码推荐工具支持代码实时续写 支持内部主流语言和IDE 落地-2023年Q2 内部全面推广落地,80%以上工程师使用 面向社会发布,支持企业试用 商业-2023年Q4 发布SaaS版,支持用户即申即用当前注册企业1万+,赋能千行百业 升级-2023年Q1 Comate升级代码智能助手 上线侧边栏,支持自然语言生成代码 蜕变-2023年Q3 模型升级换代 续写准确率跨越提升产品功能全面丰富 描述生成代码 生成注释 接口生成代码 生成单元测试 代码解释 技术问答 代码Debug 缺陷自动修复 生成测试用例 代码优化 智能评审 CI错误诊断 安全检查与修复 智能CLI 帮你想、帮你写、帮你改,覆盖研发全周期 帮你想 帮你写 帮你改 调研&设计 编写代码 测试代码 需求澄清 任务分解 实时续写 注释生成代码 27% 百度内部规模落地,赋能公司效能提升 工程师使用 80%+ 用户满意度 代码生成占比 90%+ 27% 采纳率 46% 百度Comate代码生成占比 15.27% 百度全局提效 0.27% 1.82% 7.53% 202223-Q123-Q223-Q3当前 覆盖和串联多个研发环节,实现研发效率全域提效 知识辅助:代码评审场景助力快速理解代码,识别潜在风险 知识总结:寻找并提炼编译错误解法,减少人工读日志的耗时 数据总结:联通大模型与研发工具,打造个人研发助手 更多场景:在整个研发环节发力,打造专属的AI助手 实践1:数据并非越多越好 代码 语言A 语言B 语言C 框架A 框架B 框架C 知识点A 知识点B 知识点C 知识点D 知识点E 数据1 数据2 数据3 数据4 数据5 数据6 数据7 数据8 实践2:模型升级不一定必须依赖SFT 续写依赖增强私域知识增强 Java续写采纳率提升11%Paddle业务采纳率提升20% 实践3:推理速度与推理效果同样重要 100ms≈5%的采纳量 实践4:数据驱动价值落地和效果改进 实践5:开放是必须能力 功能自定义 Prompt、策略 API中心 工具、流程 插件市场 能力、工具 私域知识增强 文档、代码 实践6:改变习惯比打造工具更难 产品上线一年多 研发新范式? 续写采纳量占比70%植入流程、助理模式 PART03 传统工具链如何支撑AI原生应用的演进 AI原生研发范式 AI原生软件研发 代码数据大模型提示词 人机协同研发新范式 人类:创造、决策、复杂机器:重复、繁琐、 多智能体联合 GOPS全球运维大会2024·深圳站 研发范式的实际变化 价值回顾 Prompt开发 Prompt评审 需求调研 需求设计 MVP开发 代码开发 代码评审 测试/效果评估 发布/上线 运维 数据工程 模型微调 在线监控/反馈 现有研发过程的特点 -以产品需求调研为起点 -以代码交付为核心 -基于规则和自动化 -各角色协同边界较为固定 AI原生研发过程的特点 -需求工程是价值交付活动的起点和终点,会逐步成为研发中的最关键环节 -所有的产品研发都将在原先的以代码为核心的交付基础上,形成两级价值 -交付的驱动方式:idea驱动和数据驱动 -各角色间协同边界不再固定 -大模型(LLM)、数据集(Dataset)、提示词(Prompt)等会与代码一样,成为大部分研发日常面对的一等公民 数据+大模型为基础的研发方式 大模型 模型生产闭环 iDataSet 训练/评估数据集托管 AI原生应用业务数据沉淀 模型微调 iEValue 效果评估&报告生成 反馈 在线监控用户反馈 AI原生应用 从原型到线上发布 iCafe 需求与功能创意 iEValue Prompt开发调试 Prompt评估 iPlayground AI应用原型搭建 图形化配置 CNAP 统一CI/CD AI原生应用托管 了解更多 https://comate.baidu.com Thanks 高效运维社区DevOps时代 荣誉出品 THANKS 感谢大家观看