首页 > 以车会友 > 以车会友 > 32%代码由AI生成!工行智能研发辅助系统大揭秘

32%代码由AI生成!工行智能研发辅助系统大揭秘

发布时间:2024-09-13 17:12:14来源: 13041198719
随着人工智能技术的飞速发展,大模型已经成为推动软件行业生产力解放、提升研发质效的重要力量。在大模型技术的加持下,头部厂商如微软 GitHub Copilot 等,已在代码生成、代码解释、单元测试生成等方向陆续涌现出一系列成熟应用。中国工商银行软件开发中心(简称工行软开中心)积极拥抱这一变革,致力于建设以大模型为核心的智能研发体系,覆盖软件研发全流程,提高研发质效,加快产品迭代。

智能研发体系规划
工行软开发中心通过探索性研究的方式构建各阶段的辅助能力,将大模型应用于需求设计、代码编写、代码复核、测试辅助、交付发布的研发全流程,智能研发体系建设规划如下:

图:工行软开发中心智能研发体系建设规划
1、 需求设计,应用大型语言模型的自然语言理解能力,打造研发设计助手,辅助生成需求用例和程序设计文档。需求编写阶段,基于用例中的业务流程业务规则关键词,通过检索相似历史需求,结合当前需求背景,自动拼装提示词,实现需求业务规则的续写;程序设计阶段,通过向大模型传递需求背景和设计模块示例,联动检索相似历史设计,自动拼装提示词,实现详细设计内容的续写功能。
2、代码补全,基于大型语言模型代码推理生成能力,打造智能编码助手,支持包括Java、Python、JavaScript等多种编程语言。该助手能够深入理解代码的语义和结构,并根据不同语言和项目需求提供精确的自动补全建议。通过IDE插件,智能上下文分析能力能够根据当前代码环境提供更精确的补全选项,从而显著提高编码效率和准确性,帮助开发者减少编码错误并提升代码质量。
3、代码检查,基于大型语言模型代码推理能力,打造智能代码检查助手。通过大模型和Sonar规则对代码进行检查,识别问题类别和严重程度,并通过大模型针对代码问题给出代码修复方案。编码阶段,利用IDE插件实现代码问题检测、漏洞检测、安全规范检测等能力,并直接给出修复说明;代码复核阶段,通过将大模型代码检查能力集成到代码复核平台,智能提示代码问题及对应问题修复方案,帮忙复核人员发现难以发现的代码问题,提升代码复核效率;流水线扫描阶段,利用规则对代码进行全量扫描,再用大模型对结果进行检查解读,形成完整的代码检查结果和明确的修复方式。
4、单测生成,基于大型语言模型的代码推理生成能力,打造单元测试助手。通过IDE插件获取目标代码的工程上下文信息,涵盖如模拟(Mock)框架、被测代码类所依赖的类。在此基础上,利用提示词优化大模型交互,发挥大模型代码理解能力。在分析被测方法的代码结构时,涉及代码逻辑、边界条件、异常处理等方面,从而生成单元测试用例数据。依据项目工程的框架依赖信息,生成依赖类的模拟行为用例,最终构建完整的单元测试方法用例。
5、测试辅助,基于大型语言模型的自然语言理解和代码生成能力,打造智能测试助手。在测试案例领域,通过向大型语言模型传递设计文档中涉及的处理逻辑和技术要点等信息,结合历史测试信息库中的实际用例,使得大型语言模型能够生成测试用例数据。此外,依托测试用例数据及测试框架,大型语言模型能够自动生成可执行的测试脚本。在测试资产管理方面,利用大型语言模型的理解、提炼与优化能力,对测试资产内容进行自动评估、治理与优化,从而提高整体测试资产的质量水平。
6、智能问答,应用大模型强大的知识检索和整合能力,打造研发智能问答助手,能够迅速领会开发人员提出的问题,并依据其丰富的知识库和代码库,提供问题解答、代码示例以及最佳实践。在私有化知识的基础上,例如编码规范、技术部件、技术文档等,应用RAG技术与模型微调训练,更好地适应工商银行软件开发中心的研发场景。方案有效解决了银行研发环境与互联网环境之间的隔阂,使得开发人员能够方便地找到标准实现和问题解决方法,从而大大减少了开发者的问题搜索时间,据统计单次问题问答可平均为开发者节省5分钟。

智能研发体系实践经验
业界基座大模型大多基于Github、GitLab等平台的开源项目代码进行微调训练,在通用编码领域能够取得较好的效果,但是面向私有化研发场景特别是面向金融行业的编码场景并不能很好地适配,在计算金额场景未能有效处理精度,在面向业务逻辑编码场景未能理解业务知识上下文,比如生成单元测试行覆盖率不足。为支撑智能研发体系在工行软件开发中心落地运营,增强大模型在私有场景下的适配能力,分别组建了智能研发运营团队负责运营数据分析及模型测评,高级研发专家团队负责模型微调训练语料标注,大模型微调训练团队负责模型微调训练,围绕标注、微调、测评的这个模型迭代机制,三个团队协作不断推进模型优化增强。
1、积累私有化研发数字资产
积累私有化研发数字资产用于模型微调训练和RAG知识库增强,包括业务领域优质代码、技术领域代码、单元测试代码、编码规范、技术文档等。数字资产由高级研发专家严格审查把关,保证模型语料质量,保障模型微调训练质量。以大模型代码补全能力为例,面向各研发部门收集优质业务领域代码、技术构件示例代码,由高级研发专家进行严格的人工审核标注,包括剔除或者改写低质量及错误的代码,保留代码中的有用注释,并剔除无关或噪音注释。为了解决人工标注工作量大、耗时长的痛点,打造基于语法树的静态分析和专用大模型,针对代码语料进行打分标注,自动提取代码片段的上下文信息,包括前后文、函数调用关系,降低人工标注工作量。
2、建立大模型微调训练机制
对标代码编写、代码检查、单侧生成等智能研发能力,利用高质量私有化研发数字资产,提升编码辅助能力。组建大模型微调训练团队,基于大模型运行效果、开发一线反馈的问题需求,结合研发数字资产迭代情况,制定大模型微调训练目标和训练计划。根据具体模型优化能力选择合适的微调策略和微调算法,设定合适的微调参数,选择合适的训练语料,并定义具体的评估指标。模型微调训练后,大模型微调训练工程师评估验证模型性能,并进一步优化模型,通过模型蒸馏,保持模型性能的同时具有更低的计算复杂度和存储空间需求,通过模型剪枝,有效地减少模型的大小和计算复杂度,从而提高模型推理速度。
3、构建模型微调测评体系
为保障研发模型微调训练效果,建设大模型基础能力测评、研发能力测评、用户效果测评三层测评体系,实现逐级测评准入。
  • 基础能力测评针对智能研发场景,聚焦代码编写、语义理解、数学运算、逻辑思维四大基础能力,以业界标准测评集及框架实现测评,比对基座模型及业界模型指标。
  • 研发力能测评针对工行软开发中心研发场景,聚焦智能研发能力,建立私有化测评集,覆盖业务及技术领域案例,通过自动+人工的方式完成测评量化评估。
  • 用户试点测评针对真实研发场景,灰度发布模型版本进行用户试点评估,通过埋点数据形成试点运营指标,通过用户试点测评后正式进行模型版本发布。

以车会友更多>>

2024年佛山市禅城区国有资产监督管理局下属企业招聘工作人员公告(2人) 2024年“惠”聚优才——惠城区高新园招聘编外工作人员通告(4人) 2024年潮州市卫生健康局直属医疗机构赴广东医科大学招聘工作人员公告 2024年台州温岭市交通旅游集团有限公司招聘编外工作人员公告 联想即将发布moto新千元机,4nm芯+光学防抖+IP68,AI功能强大 《索尼中国可持续发展报告2024》在第七届进博会上发布 红米Note14Pro+和红米Turbo3哪个好?我们应该怎么选? 红米note系列、k系列,到底哪个系列更值得买? 红米“不讲武德”,Note13Pro+跌落神坛,1819供不应求 国外科技媒体评测小米15:目前最好的小屏旗舰手机 小米15系列销量火爆!卢伟冰直播透露首销佳绩及小米之家扩展计划 华为新手机设置这六个更流畅,这些设置让你的手机飞起来 OPPO“不讲武德”,抗摔直屏+5500mAh+100W,512GB跌至1581元 迈腾 B9,是否值得你的倾心? 1-9月紧凑型轿车销量榜单变天了 七款国产轿车进前十 轩逸第二 苹果发布 iOS 18.1 RC 版,正式版下周见 安卓15来了!谷歌放大招,手机刷新率玩起了\"变脸\"游戏 华为余承东:鸿蒙智行正式发布一周年,累计交付突破50万辆 vivo X200、X200 Pro、X200 Pro mini参数大比拼,你更喜欢哪一款 VIVO“不讲武德”,X100SPro跌落神坛,成双11黑马! 荣耀“不讲武德”,200系列跌落神坛,1999供不应求 5299元一加13开箱体验,为什么说是最均衡的国产旗舰手机? 各品牌手机多少钱入手最合算?请看本篇双十一全品牌手机抄底攻略 手机买对不买贵,这3款堪称“捡漏”,一步到位能用6年 盘点双11旗舰机价格跳水王:2024双十一手机高性价比推荐排行榜 BC阵营大合体!爱旭、隆基、TCL中环要在珠海搞点事? TCL智能锁体验怎么样?K7G Plus用了一段时间后,有些话不吐不快 索尼PSN港服迎“双十一”游戏折扣活动 红米K80系列和iQOO Neo10系列哪款手机更值得购买? 120倍变焦!真我GT7Pro首销3599元起,影像体验如何?