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

生活知识更多>>

江苏苏州大学科研助理岗位招聘10人公告 2024年湖北随州市随县高新技术产业武汉服务中心引进人才8人公告 江苏苏州高新区(虎丘区)机关事务管理处公益性岗位招聘2人简章 2025年河南南阳市宛西中等专业学校校园招聘教育紧缺人才15人公告 2024年海南儋州市教育局面向2025届毕业生招聘中学教师75人公告 2024年湖北黄冈市蕲春县乡镇事业单位招聘14人公告 2024年湖北黄冈市黄梅县事业单位招聘三支一扶服务期满人员12人公告 2025年云南德宏芒市招聘公益性岗位人员24人公告(第一批) 2024年江苏南京玄武区数据局编外人员招聘2人公告 别看长得很复古 它可是纯电动SUV!iCAR V23上市 售9.98万起 2024年河南信阳市浉河区招聘教师31人公告 2024年河南驻马店正阳县县直事业单位选聘20人方案 2024年河南郑州市第六人民医院招聘15人公告 2024年南昌市劳动保障事务代理中心招聘派遣制工作人员公告 2024年内江市教育和体育局部分学校、教育单位招聘教师(教研员)补充公告 2024年邢台广宗县招聘教师公告 2024年黔南都匀市引进2025届公费师范生公告 2024年宿州市埇桥区大学生乡村医生专项计划招聘公告 云南临沧市面向2024届医学专业高校毕业生招聘大学生乡村医生公告 2024年贵州工业职业技术学院招聘80人方案 2024年内蒙古扎赉诺尔区卫生健康委员会所属事业单位引进人才7人公告 2024年辽宁阜新市公安局招聘辅警89人公告 2025年内蒙古通辽市科左后旗部分事业单位引进急需紧缺人才39人公告 2024年德州天衢中学急需紧缺人才引进公告 2024年洛阳市教育局局属事业单位招才引智工作实施方案 2024年湖南医药学院总医院高层次人才招聘公告(56人) 2024年德保县实施乡村振兴战略指挥部招聘公告(4人) 2024年度鄂东医养集团所属三家医院关于招聘事业编制工作人员的公告(18人) 2024年黔西南兴义民族师范学院附属中学秋季赴省内外高校引进高层次、急需紧c缺人才测评方案 2025年宁德市霞浦县教育局招聘紧缺急需及高层次人才(宁德师范学院专场)公告