ppt文档 微众银行大模型助效研发实践(28页 PPT) VIP文档

1.40 MB 28 页 26 浏览 0 评论 0 收藏
语言 格式 评分
中文(简体)
.pptx
3
概览
AI 为主角 、人为助手的协作模式 微众银行: 黄叶飞 02 大模型在研发效能上的初步探索 05 Multi-Agents 实现研发流程提效 03 大模型辅助研发遇到的困难 04 Agent 离不开的 RAG 让 AI 成为主角的人机交互方式 研发流程面临的主要问题 目 录 复杂 内部研发效率主要体现在其复杂性上: 人员 、产品 、监管事情应接不暇。 研发流程面临的主要问题? 研发复杂性所带来人力成本逐步变大, 如何解决? 研发流程面临的主要问题 o o o 复杂流程 银行面对的流程相对来说 更复杂, 更严格 需求变化 应对快速市场变化, 需 求变化快, 要求交付速 度快 个人效率 较多相似工作, 不同工 具使用导致个人效率的差 异 知识沉淀 产品迭代 、人员迭代产 生大量的知识 沟通成本 岗位和角色分工清晰, 所带来的是沟通成本的提 升 开 发 表结构文档 系统流程图 流程组件 负载均衡 Coding 微服务治理 文件接入 CDN 不同岗位工作内容的复杂性占用不少研发成本 大模型在研发效能上的初步探索 o o o 版本发布 接口测试 性能测试 Bugs 设计稿 线上运维 系统监控 测试环境 交互稿 产品文档 功能测试 测试 运维 产品 架构文档 接口文档 联调 单测 初试 在 ChatGPT 出来后, 大模型似乎能辅助研发效能的提升。 大模型在研发效能上的初步探 索 大模型在研发效能上的初步探索 o o o 行 / 函数级实时续写 在编程时, 系统会根据你写的内容和 语法规则, 自动推荐可能的代码片段 代码注释 快速生成方法和行内注释, 减少编 写注释所需时间, 提高代码可读 性 代码解读 支持系统级别和方法全链路代码解 读, 并生成相关逻辑图 、时序图 等 自然语言转代码 通过自然语言描述需求, 在编辑器区域直接生成代 码 AI 辅助编程初步提升开发效 率 代码 Review 提前发现代码变更引入 bug 、 对有可能出现问题代码进行警 告 一个团队内的所有代码 一个小 JAVA 开发团队的代码量在 2-3G 大小(前端开发团队也有在做微调, 但只针对公共组件的使用上) 公共组件使用文档 真正的组件文档大小并不大,在 700 多 M ,在开发过程中便于模型能理解 公司内部的基本组件并知道如何使用; 同时将公共组件调用生成问答对更进 准的让模型理解 代码解释及关联代码 首先把所有代码把无注释的代码先生成一份代码注释 、然后将代码注释及代 码用于做微调 大模型在研发效能上的初步探索 o o o 单元测试案例及代码 提取代码中的单元测试案例 、以及单元测试的代码, 更精准的做代码微 调 微调模型的试验之路是否可行 困难 前期辅助编程方案并无法在研发流程中解决开发太多的痛点。 大模型辅助研发遇到的困难 需求分析 10% 好的需求分析工作对后期的研发有极大帮助 方案设计 8% 方案设计是系统稳定性 、健壮性 、可扩展性、 安全性等非功能的重要环节 其他 还有线上问题以及各种其他工作 研发人员在软件开发中的时间投入 统计约 60 人的团队情况: 编码占研发工作时间比例并不高, 进而需要更全面的提效方 案 代码编写 37% 开发人员实际做代码编写的工作占比并不高 联调及测试 23% 复杂的环境及多服务串联所带来的联调及测 试问题也多 大模型辅助研发遇到的困难 o o o 联调及测试 23% 方案设计 8% 代码编写 37% 需求分析 10% 其他 22% 开源模型迭代速度快 几乎每个月都有新模型出来 研发知识迭代影响 几乎每周都有版本更新 模型 Token 数限制 尤其是代码上下文数据巨大 微调服务器成本高昂 微调需要独占 GPU 资源,且巨大 2024-04-17 Mistral 8X22B 2024-04-24 Qwen-1 .5 110B 2024-05-13 Yi-1 .5 6B ,9B ,34B 2024-03-27 DBRX 132B 2024-04-18 LLaMA-3 8B ,70B 2024-05-06 DeepSeek-V2 236B 大模型辅助研发遇到的困难 o o o 模型终归不是我们理解的那么简单 方法 RAG 可以解决模型微调中的不少问题。 Agent 离不开的 RAG 问题分析 Multi-Query Step-back RAG-Fusion HyDE Agent 离不开的 RAG O O O 生成 Prompt LLM RAG 处理流程 - 提升 Agent 能力 接口文档 数据库表结构 测试案例 代码信息 组件使用说明 产品说明 系统设计文档 图数据存储 结构化存储 KV 数据存 储 Question Answer 代码分析 图像识别 需求文档 数据关系检索 功能检索 向量化存储 结构化解析 专业术语检索 文件处理 代码检索 研发知识库 知识存储 数据处理 检索 实践 从集成基础工具到不同业务场景的 Agent 实现。 Multi-Agents 实现研发流程提 效 一个升级 Jar 包的工单 Agent 实现 需求分析 Agent 组 件 Agent 1 □ 根据工单号拉取详情 2 □ 根据详情识别需要 升级的组件 Git Tool Git 操作 Code Agent 生成新的代码操作 输出: 标准 Json File Tool 文件编辑 、修改操作 通过简单 Agents 实现研发 所需的基础 Agent 集成基础的开发工具 约定 Agent 之间的协议 实现一个相对闭环的能力 01 基础 Agents 02 简单 Agent 03 多环节 Agent 04 全流程 Agent Multi-Agents 实现研发流程提效 o o o 集成开发工具以实现基础的 Agents CI Agent 1 □ 根据流水编译打 包 2 □ 异常判断 版 本 号 Agent 分配系统需要发布的版本 Coding Agent 通过模型识别需要升级的组件 异 常 处 理 Agent 01 基础 Agents 02 简单 Agent 03 多环节 Agent 04 全流程 Agent Multi-Agents 实现研发流程提效 o o o 以表驱动实现后端代码的 Agents 从 CURD 入手, 实 现简单代码的生成 大模型推荐命名 根据表生成相关 代码 个性化支持包名 通过 RAG 识别表 01 基础 Agents 02 简单 Agent 03 多环节 Agent 04 全流程 Agent ❖ 需求文档对字段要求文本化 ❖ 支持接口文档系统上导入需求直 出接口 Multi-Agents 实现研发流程提效 o o o 以接口驱动实现多环节的 Agents- 文档生 成 ❖ 结合 RAG 识别字段的常用命 名 后台 模版 RAG 如意 Server Code 前端 WEBSITE Prompt 风格 Letgo 测试 参数 算法 Test Case 01 基础 Agents 02 简单 Agent 03 多环节 Agent 04 全流程 Agent Multi-Agents 实现研发流程提效 o o o 以接口驱动实现多环节的 Agents- 代码及测 试 90% 70% 90% 接口 文档 测试 编译部署 代码 Review 代码生成 单测 +SIT 测试并根据错误及异常生成 新的 Issues 以工具为主 代码 Review 判断生成代码的完整性、 是否合理等 拆分代码任务生成每段代码,并更新 到相关文件 01 基础 Agents 02 简单 Agent 03 多环节 Agent 04 全流程 Agent Multi-Agents 实现研发流程提效 o o o 以需求文档驱动实现全流程 Agents 需求分析 需求文档做字段抽取 、接口抽取 、 逻辑抽取 、结合 RAG 拆分需求 代码定位 根据功能 + 代码库信息确定代码所 实现的位置 表结构创建 需求功能点 + 现有表 RAG 确定新表 创建 SQL 接口定义 根据需求分析产出的字段生成接口 01 基础 Agents 02 简单 Agent 03 多环节 Agent 04 全流程 Agent Prompt Template Planning Task1 Task1 Task1 Agent 多样性 Multi-Agents 实现研发流程提效 o o o 抽取名词 确认功能点 表 生 成 Agent 抽取字段 生成表结构 以需求文档驱动实现全流程 Agents 需求分析 Agent 抽取字段 拆分需求 不同的 Task 定义不同 Agent Agent 通过 Memory 串联 RAG 和 Tools 是个性化的条 件 LLM__1 ReGen Memory Memory 表 规 范 Agent 规则校验 RAG Tools 需求文档 LLM__1 RAG 01 基础 Agents 02 简单 Agent 03 多环节 Agent 04 全流程 Agent Multi-Agents 实现研发流程提效 o o o 实现从需求到代码自动生成 优化 大量的 Agent 需要人工参与才能实现完整的功能。 让 AI 成为主角的人机交互方 式 模型能力对于 Agent 的影响导致无法自动 化 让 AI 成为主角的人机交互方式 u 不允许返回 XXX ,还是返回了 XXX u 要求返回 XXX ,就是没返回 XXX 不是你想要的 Planning React : 无法识别你的工具 理解 Prompt 的能力有限 无法完整返回你要的内容 人人可用 不是人人都去写 Agent , 但目标是人人都能用上 Agent , 而 Agent 做执行的工 作只能完成部分, 故 Agent 能优先执行, 人去调整 Agent 执行的结果。 Agents 完成主要工作 Action1 Action2 Action3 Confirm Ask for Input Add/Modify Tool Agents 完成主要工作 o o e 人工调整 Agent 制定的 Planning Reflection Self-critics Chain of thought Action1 Action2 Action4 Action5 Tool Tool Reasoning Planning Planning 调整 人工调整 Planning 的任务, 并让 LLM 重新 确认 人工参与完成任务 每个任务都有可能 Agent 执行失败, 人工支 持参与实现 工具调整 工具的命名 、描述会对 LLM 的识别有影响, 需要支持人工随时介入调整 Prompt 调整 复杂的 Prompt 的会导致 LLM 生成有偏差 Agent 协议 上下游关联的 Agent 之间需要定义清晰的 协议, 在人工调整过程能让协议也自动生 成正确 重新执行 Agent 断点 、重新执行 、幂等 Agents 完成主要工作 o o e 每个 Agent 的设计可由人参与并做调 整 未来 更多便利的工具; 更多人投入 Agent 开发; 更稳定的环境; 更自动化的流程管理 展望
下载文档到本地,方便使用
共 28 页, 还有 6 页可预览, 继续阅读
文档评分
请文明评论,理性发言.