首页 > 生活分享 > 生活分享 > 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、构建模型微调测评体系
为保障研发模型微调训练效果,建设大模型基础能力测评、研发能力测评、用户效果测评三层测评体系,实现逐级测评准入。
  • 基础能力测评针对智能研发场景,聚焦代码编写、语义理解、数学运算、逻辑思维四大基础能力,以业界标准测评集及框架实现测评,比对基座模型及业界模型指标。
  • 研发力能测评针对工行软开发中心研发场景,聚焦智能研发能力,建立私有化测评集,覆盖业务及技术领域案例,通过自动+人工的方式完成测评量化评估。
  • 用户试点测评针对真实研发场景,灰度发布模型版本进行用户试点评估,通过埋点数据形成试点运营指标,通过用户试点测评后正式进行模型版本发布。

生活分享更多>>

2025年盘锦市委党校招聘教师公告 2024年海珠区委统战部关于招聘雇员的公告(1人) 2024年阿坝州人力资源和社会保障局茂县招聘紧缺学科教师公告 2024年德州职业技术学院博士研究生引进公告 2024年广元市剑阁县自然资源局招聘工作人员(临聘)公告 2024年威海经济技术开发区面向社区党组织书记招聘事业单位工作人员简章 2024年北京市大兴区新兴产业促进服务中心临时辅助用工人员招聘公告(3人) 2024年呼和浩特清水河县竞聘中小学、幼儿园 校(园)长(含副职)公告 9.98万一口价起售的日产逍客·荣誉,其实诚意还是略显不足 坚持走纯电路线的蔚来汽车,已经连续两周销量排名下降 更适合家用MPV应该是什么样子?刚上市的极氪MIX告诉你答案 韩系豪华车品牌捷尼赛思还在“硬撑” 捷达版速腾要来了,定名VA7,或11月10日预售 捷途山海T1上市,主打方盒子设计,15.48万起 奶爸神车后继有人?豪华大六座零跑C16玩的就是舒适 海豚又一个对手来了,埃安打造,广州车展亮相 发布价3399元,突降1511元,跌至1888元,荣耀降价也太猛了 华为Mate 60 Pro、荣耀Magic7 Pro该怎么选?对比8点就懂了 双11手机推荐指南,各个价位段精选汇总 TCL洗衣机洗净的秘诀到底是什么?央视主持人现身探秘 家用更优解,荣威iMAX8 DMH新陆尊比传祺E8香多了? 比亚迪“百万级核心技术”被攻破,五菱干成了10万级! 长安汽车 10 月销量为 25.08 万辆,同比增长 4.07% 为何奔驰是BBA老大哥?BMW粉香港看车有感 2024年最畅销20款电动车榜单:Model Y第一,比亚迪宋第二 丰田中国品牌沟通部部长徐一鸣:加大智能化电动化研发 打造适应中国消费者需求产品 开了5000公里,发现奥迪A6L和奔驰E300,差距太大不在一个档次 双11平板选购指南,华为平板全系列机型推荐 平板电脑怎么选?目前公认值得入手的五款平板,轻松用十年 三星又一三折叠手机专利获批:提高屏幕耐用性、添加防反射层