《高家祺-AI驱动的云上软件工程研发新范式.pdf》由会员分享,可在线阅读,更多相关《高家祺-AI驱动的云上软件工程研发新范式.pdf(32页珍藏版)》请在三个皮匠报告上搜索。
1、AI驱动的云上软件工程研发新范式高家祺 杭州谐云科技有限公司演讲嘉宾高家祺谐云科技资深技术总监,DevOps/微服务产品负责人,敏捷教练目前就职于谐云科技,主要负责DevOps产品研发、推广、落地,拥有多年大规模微服务架构、软件工程化、团队敏捷化实践经验,主导过观云台、DevOps、项目管理、API网关、微服务治理平台等产品孵化、架构升级建设,目前服务过的客户主要覆盖政府、银、证券、能源业,包括:应急部、香港医院管理局、杭州银行、湘财证券、国元证券、中国电力科学研究院、上海汽车、东风汽车等。目 录CONTENTS1.研发模式的发展历程2.人工智能在研发模式带来的新机遇3.AI+DevOps:研
2、发新范式4.AI驱动的研发模式5.总结与展望研发模式的发展历程PART 01研发模式的发展历程传统开发问题DevOps(自动化)代码扫描代码扫描智能化平台工程代码管理代码管理项目管理项目管理镜像库镜像库依赖库依赖库制品库制品库度量分析度量分析自动化部署自动化部署环境管理环境管理需求管理服务需求管理服务项目管理服务项目管理服务研发协同服务研发协同服务架构设计服务架构设计服务持续集成服务持续集成服务持续部署服务持续部署服务代码扫描服务代码扫描服务自动测试服务自动测试服务测试管理服务测试管理服务代码仓库服务代码仓库服务配置中心服务配置中心服务API管理服务API管理服务分散管理自动工具智能助手平台化
3、的特点:提供统一服务界面:规避跨多平台操作 支持开发人员按需申请所需服务 所见即所得提升平台易用性管理体系标准化&自动化&模块化:依托行业标准管理体系,支撑开发过程各环节自动化能力智能化增强:通过增强 AIGC 来生成需求、代码、架构,监控状态,提升规范与自动化平台化驱动智能研发自动化流水线工具隔离/状态不透明各种开发工具独立运行研发工具版本多样化,数据割裂开发工具学习成本高工具隔离/状态不透明各种开发工具独立运行研发工具版本多样化,数据割裂开发工具学习成本高依赖开发经验需求设计、技术设计、代码开发往往依赖人的经验,缺少规范性开发中重复工作多依赖开发经验需求设计、技术设计、代码开发往往依赖人的
4、经验,缺少规范性开发中重复工作多基于工具开发运维平台手工劳动/重复劳动手动集成、构建、测试、发布、部署重复集成、构建、测试、发布、部署手工劳动/重复劳动手动集成、构建、测试、发布、部署重复集成、构建、测试、发布、部署工单流程服务工单流程服务低代码服务低代码服务微服务治理微服务治理度量分析服务度量分析服务Platfrom Center(Self-Service)人工智能给研发模式带来的新机遇PART 02研发流程的痛点问题需求不规范研发进展/负荷不透明研发过程状态联动复杂技术设计/文档耗时间完成标准难检查延期风险难预测AI+DevOps驱动的云上软件工程来解决这些挑战运维工具学习门槛高测试重复工
5、作多智能生成需求/设计智能追踪状态智能生成工具人智能审查准出智能人工AI 成为工程师的辅助工具人工智能AI图像识别、大数据预测、自然语言处理、智能驾驶智能人工AIGCChatGPT、Midjourney不亚于工业革命人工智能对研发领域的新机遇智能设计辅助:AI能够理解复杂的设计模式和需求,以生成的方式快速创作高质量需求设计、高质量流程设计、高质量架构设计,不仅缩短了设计周期,还能确保设计的质量和一致性。智能代码编写:生成式AI与传统低代码平台融合,解决低代码平台配置繁琐问题,实现人机互动智能化代码开发。智能代码优化:AI可以通过分析现有的代码库,自动发现潜在的问题和改进点,促进代码更加健壮,可
6、维护性和可读性更高。智能测试自动化:构建智能化的测试环境,自动化执行和分析复杂的测试案例,提高了测试的准确性,同时节省了大量人工测试所需的时间和资源。智能协同合作:智能协同合作通过AI连接需求、任务和缺陷状态,促进人与AI的无缝协同,提升研发环节连贯性,更敏捷、精准地响应变化。AI+DevOps:研发新范式PART 03从个人研发到生成式研发100%CodeCode+AI+Low Code未来的研发,80%的工作由AI辅助完成,工程师专注与20%的创作工作AI+DevOps:研发新范式规范设计加速开发泛信息追溯提升质量自动化驱动需求设计架构设计接口设计领域模型设计代码生成代码评审SQL设计测试
7、用例生成部署脚本生成特种兵式全栈敏捷开发,在AI辅助下完成需求全价值链交付过程查询相关事项复杂条件检索需求门禁代码门禁发布门禁状态变化联动AI+DevOps:研发新模式设计开发部署测试AI虚拟角色辅助协同需求设计师资深架构师Kubernetes专家Jenkins专家测试专家项目经理代码工程师任务跟踪、风险识别、状态流转辅助需求设计辅助架构设计生成代码生成部署脚本、执行变更生成构建与部署流水线生成测试脚本代码审查员代码评审、风险漏洞识别 拥抱全栈工程能力:在AI辅助下,完成需求从拆解、设计、开发、测试、发布的全流程 质量至上,需求全价值链高质量产物,由AI辅助全过程门禁 充分利用AI辅助创作,生
8、成优于开发,规范高于特例 提问与表达高于一切,当生成不理想时,鼓励反馈,优化问题 工程师能够快速响应变化,打破技能边界,在AI辅助下持续学习和适应新技术 教练思维,训练高于开发,与AI共同进步研发准则AI+DevOps:研发新架构AI+文档AI+前端轻量化前端应用AI+业务逻辑自然语言转业务逻辑AI+数据库构建数据模型AI+接口服务编排:构建接口服务辅助技术设计ServerLess架构将成为主流业务与大模型融合将成为核心竞争力AI+DevOps:研发人才能力结构创新能力T H I N K I N GA B I L I T Y表达能力COMMUNICATION SKILLS驾驭机器能力D E C
9、 I S I V E N E S S学习能力L E A R N I N GA B I L I T Y弱化专家AI驱动的研发模式PART 04智能UI设计智能驱动需求设计第一步:创建需求第二步:分析需求,编写用户故事 输入:需求背景、需求目标、需求描述 输出:完善的需求描述+规范的用户故事第三步:Mermaid 绘制流程图 输入:用户故事 输出:用例图、活动图、组件图第四步:分析用户故事,编写拆解研发任务 输入:用户故事 输出:前端任务、后端任务第五步:分析用户故事,编写拆解测试任务 输入:用户故事 输出:测试任务需求录入需求设计原型设计需求评审需求分发智能驱动架构设计-TDD驱动开发第一步:来
10、源自已创建的任务第二步:展开任务描述 输入:任务的技术背景、任务详细要求 输出:任务要求与背景说明第三步:设计架构图(流程图、交互图、类图)输入:调用业务逻辑 输出:Mermaid 绘制的技术调用流程图第四步:设计接口 输入:接口清单与参数 输出:接口列表与接口参数、测试用例第五步:生成测试用例 输入:接口清单 输出:测试用例与测试脚本详细展开任务要求、背景设计架构图设计接口技术评审任务建立技术背景库,按需选择微服务智能项目管理-辅助项目过程管理智能工时评估根据历史任务完成情况评估推荐工时任务智能拆解根据需求描述提取开发任务,快速拆分任务智能状态流转根据定义状态流转规则,在状态变化后,触发相关
11、事项状态变更日报/周报总结根据每天收到的需求、任务,任务进展,代码提交情况生成总结自动延期提醒根据每天收到的需求、任务,任务进展,代码提交情况生成总结项目工作知识库联通项目知识库,提供项目小助手,快速搜索项目相关材料智能风险识别根据任务情况提取风险问题,并通知对应的用户语义化任务跟踪以自然语言的方式收集日常研发进展,快速提取研发进展总结智能代码编写-人机互补,结伴开发传统研发存在的问题模版代码输入技术方案输入生成工程脚手架生成前端组件测试/调试生成后端基础代码生成业务逻辑代码单元测试测试/调试测试/调试自动化测试审查代码合并集成人工代码审查代码复杂度高代码没注释代码重复编写工作代码缺设计代码质
12、量差智能拯救历史代码-架构分析,代码整理输入代码后,AI模拟代码运行,可用来调试问题,分析代码中存在的bug、缺陷代码调试分析代码依赖软件,技术成分,形成架构图、识别非法依赖软件,加强技术管控架构感知基于存量代码,输入代码获得AI对代码的感性理解,总结形成架构和设计文档代码阅读代码注释代码总结类图拓扑图调用链路时序图AI产出物架构总结智能后端开发-颠覆后端开发模式自然语言业务逻辑数据结构+标签+说明API接口+标签+说明技术知识库软件资产化查询方案人工审查确认操作审计留痕AI生成查询方案调用接口操作数据业务逻辑数据处理后端处理流程训练AI处理业务逻辑大前端应用程序智能测试助手-生成测试用例、测
13、试脚本生成测试数据编写测试用例生成测试脚本传统手动测试自动化测试生成测试用例执行测试脚本JunitPytestJmeter智能门禁-辅助把控项目质量1.需求文档审查2.设计文档审查4.技术审查智能审查员3.部署文档审查5.架构审查优势:非结构化感性审查智能运维-结合GitOps并大大降低配置运维门槛请为xxx应用生成Kubernetes部署方案,包括存储、配置文件、Service请为xxx应用执行变更,更新部署镜像版本为1.0.2,并将最大资源扩大一倍请为xxx应用执行变更,修改数据库连接的用户名密码为123456语义化运维,让运维不再是开发的烦恼配置库变更内容清单:1.创建xxx应用,关键信
14、息,操作人2.变更部署版本,1.0.01.0.23.部署资源变更,1C2G_2C4G4.修改数据库密码123456人工审核确定变更内容,语义化提取变更流水线引擎云平台自动化变更,更加标准、流畅智能效能度量第一步:上下文准备第二步:分析识别相关数据 输入:度量需求,请分析近一个月xxx的工作效率 输出:按xxx用户检索需求、任务、代码提交记录第三步:提取相关数据 输入:检索SQL 输出:xxx用户相关的数据信息度量需求谁、状态、问题提取相关数据数据加工数据透出可视化、总结报告第四步:形成度量总结 输入:利用xxx与用户的数据总结工作效率 输出:总结报告(日报、周报)第五步:可视化展示 输入:请生
15、成关于xxx的工作效率的分析图 输出:Grafana 可视化脚本总结与展望PART 05智能化塑造软件工程新模式软件回归需求与业务价值软件工程的核心在于“想清楚,讲完整就能做出来”云上软件工程是核心基础,实现研发流程的标准化AI不是替代人,而是辅助人、大大降低难度、提升质量与效率Chat every where,Copilot for Every thing!当前人工智能的局限性模型国产化缺少国内自主可控的、企业级的大模型,国内外模型差距大,如ChatGLM-6B、讯飞星火、通义千问、文心一言等模型逐步成熟01难解工程化问题可处理点状线性问题,无法处理工程化问题;通过开发AI应用程序进行应用层的增强,多角色、Agent租户形成针对特定工程场景解决方案03训练成本高自主模型训练和模型调用的 GPU 资源紧张,自主模生成一段代码要好几秒甚至几十秒,期待大模型在分布式训练和低资源训练的演进02感 谢 聆 听