腾讯云软件工程智能化的创新和实践 主讲人:刘毅 软件工程迈入智能化新时代 以大模型为引擎的新一代AI技术加速软件工程智能化进程,软件工程3.0开启新征程 1.0 2.0 3.0 人工智能在软件 工程中的应用 领域 将人工智能技术融入软件工程的各 个阶段,例如需求分析、设计、编码、测试、维护等,以提高软件开 发的效率、质量和可维护性 目标 利用人工智能技术改进软件工程的 过程和方法,实现软件开发的智能化、自动化。例如,通过自动代码生成、缺陷预测、智能测试等技术, 提供软件开发的效率和质量 以瀑布模型为代表 结构化、规范化、工程化 以敏捷、DevOps为代表 持续构建、持续集成、持续交付 大模型时代 围绕数据、模型、提示 1968年 NATO会议,软件工程学科诞生 需求分析 设计 开发 测试 运维 2001年 敏捷宣言发布 开发人员 运维人员 源代码 监控 代码构建仓库 代码 扫描 制品部署 2023年 大模型爆发式面世 AISE(AIforSoftwareEngineering)的业界发展趋势 AI4SE相关的商业化解决方案百花齐放,AI赋能的生产力工具正在重塑技术人员的工作方式 软件开发&测试场景 是AI4SE技术应用的排头兵 软件工程各阶段AI技术应用比例 编码(最成熟) IDE CommitCopilots 75.86% 63.32% 产品设计 交付与监控 35.65% 36.41% 12.45% 8.38% Operations ObservabilityCI/CD IdeationPrototypeResearchDesign 需求分析软件开发软件测试 软件运维 项目管理其它 75.86%的企业 在软件开发阶段应用AI技术 需求分析 系统运营 ResearchMarketingCustomerSupport FacilitationDocumentationCollaboration 数据来源:银弹案例数据、中国信通院发放的调查问卷数据、企业走访调研数据等 产品设计 架构设计 开发 需求 规划 设计 领域建模 架构设计 API设计 详细设计 编码 评审 原型设计 代码设计 代码生成 代码评审 交互设计 代码相关问答 单元测试生成 提交信息 视觉设计 安全 代码安全扫描 解决修复安全问题 运维 交付 测试 架构分层与上下文定义 事件建模 领域分析 API文档 腾讯:内部与外部需求共频,加速AISE的产品能力落地 用户调研 验收条件 产品创新 优先级 产品定义 迭代计划 功能拆解 发布计划里程碑计划 时序图设计组件图设计类图设计设计文档 监控 发布 部署 缺陷分析 自动化测试 测试用例设计 日志分析 发布文档 部署脚本生成 根因分析 自动化测试代码生成 测试用例生成 客户支持 更新文档 缺陷分析 客户情绪分析 缺陷修复 布局中的场景 进行中的场景 腾讯AI代码助手的核心竞争力 •模型调度开放 •度量体系开放 •Agent体系开放•知识库体系开放 •精准的补全时机•上下文感知能力,补业务需要的代码 •持续演进的模型架构•体系化的模型训练方法 •大规模精选语料 腾讯AI代码助手在腾讯内部的实践成果 工程师日常使用 代码生成率 代码采纳率 编码提效 VSCode JetBrains VisualStudio VIM/NeoVIM 方案设计 需求开发(编码与调试) 单元测试 CodeReview 问题修复(缺陷/安全) 技术对话问答与知识检索、 祖传代码解释 代码补全、代码优化 一键生成单元测试用例 AICR自动评审 并生成修改代码 安全问题建议和修复 与金融企业共创,沉淀了业界独有的开放式架构 打造业界独有的开放式架构,并在插件、模型、运营3大领域沉淀了符合行内业务需求的功能特性,为企业内部规模化推广使用提供支持 插件:符合企业使用习惯的插件体验 模型:企业独有的数据清洗工具 •AI在工程感知的能力 •AI编码辅助的能力 •代码大模型的能力 •插件可拓展 •模型可拓展 •后台服务可拓展 模型:模型可支持企业独有场景 模型:企业独有的代码补全模型测评工具集 运营:支持企业独有指标分享和扶持运营策略 AI辅助端到端生成 趋势三 对AISE的探索趋势和创新路线 通过知识库加强业务理解 多智能体协作赋能全研发流程 趋势一 趋势二 持续探索AISE,判断未来趋势和创新方向,从内部孵化应用场景,成熟度达到后对外赋能。 THANKS