微众银行大模型助效研发实践——AI为主角、人为助手的协作模式

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

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 18:19
浙ICP备14020137号-1 $Carte des visiteurs$