文 / 招商银行信息技术部副总经理 陈曦
招商银行信息技术部 杨勉 任轲 王玖华
大模型的迅猛发展,正逐渐成为各行业创新变革的关键驱动力。招商银行敏锐洞察到这一技术趋势,对大模型与低代码开发的融合创新进行了深入探索。利用大模型在语义理解、文本生成、知识检索等方面所展现出的优异特性,我们进一步降低了低代码开发的门槛、提升了开发者的体验,有力地推动了招商银行科技平民化进程。
招商银行信息技术部副总经理 陈曦
招商银行在低代码领域的实践与建设,主要经历了三个阶段。
1.早期探索
招商银行在早期的诸多业务系统建设中,就已体现了“可视化”“组件化”等设计思想。通过各领域组件的沉淀及复用,有效提升了业务系统的开发效率。此做法可视为招商银行在低代码领域的早期实践。
2.企业级低代码开发平台建设
自2019年起,招商银行启动了企业级低代码开发平台(以下简称低代码平台)的建设工作。经过5年发展,低代码平台已成长为组织级的基础开发平台之一,上线应用数过万。低代码平台同时支持零代码开发与低代码开发两种模式,满足业务与IT用户不同层次的需求。当前,业务用户占比达50%以上。
3.低代码和大模型融合
2023年,招商银行开始探索低代码与大模型的融合,利用大模型的新特性为低代码平台在开发辅助、应用生成、运营问答、交互体验等方面带来显著提升。
在寻找低代码与大模型的融合点上,我们从以下两个方向相向而行。
从低代码开发的全旅程去分析:在需求分析、数据表设计、界面设计、流程编排、测试上线这些环节上,有大量节点可借助大模型降低开发门槛和简化流程。
从大模型的典型应用模式去分析:智能问答、知识检索、文本生成、总结摘要等大模型典型应用模式,能够为开发带来效率和质量的提升。
当对这两条路径进行矩阵式交叉分析后,一系列可供探索的场景便随之呈现出来。通过对这些场景的价值与优先级进行排序,我们确定了以下重点场景并付诸实践。
我们依据以上思路,将重点聚焦在“低开Copilot”“低开应用生成”“低开运营”这三大场景之中(如图1所示)。
图1 三大场景实践
1.低开Copilot
(1)前端开发Copilot:JS和CSS生成。低代码平台通常提供了默认操作和样式,若要改动默认操作或样式,则需要开发者具有一定JS和CSS技能。
在实践中我们发现,低代码平台的一类典型用户为后端开发者,他们往往对JS语法不熟练,不会使用CSS的情况也很普遍。
因此,在前端页面的开发中利用Prompt生成JS和CSS代码,能够极大简化定制过程。该功能上线一周便迅速跃居平台所有功能使用量前三,有效提高了应用开发效率。
(2)后端开发Copilot:数据表创建和业务编排生成。低代码平台能生成低代码应用的核心是DSL。DSL是抽象描述业务功能逻辑和交互规则的一种领域语言。数据表和业务编排都是通过DSL进行描述的。
大模型加入后,后端数据表的创建过程由原来的“界面交互生成DSL”转变为“通过自然语言描述生成DSL”:即通过自然语言描述其包含的字段,大模型提取出这些字段生成建表的DSL。业务编排也是类似的,通过自然语言描述编排流程,大模型提取到流程的各种节点,生成业务编排的DSL。
上述工作的关键在于生成有效的DSL。由于DSL是低代码的私域知识,不在基础模型的知识范围内。而低代码平台配套的用户手册里仅能描述其规则,而无法穷尽其组合。所以让大模型生成随场景变化的DSL具有一定难度。
在解决这个难点上,我们在Prompt中传入了从私域知识库中召回的与问题相关度最高的知识样本,利用Few-shot learning方法让大模型能够基于给定的知识样本生成内容。这在部分场景上可以生成符合标准的DSL。
上述方案也有一定局限性,例如有每次要带入上下文、Token传入过长、无法记忆的限制等。下一阶段我们计划通过微调来解决这些问题,进一步提升在DSL生成方面的准确度。
2.低代码应用生成
当建立了前文所述的一系列“点”上的智能能力,我们再加入工作流将这些单点进行串联,进而形成“端到端的解决方案”。
低代码应用开发的一个大类需求来自于“原手工台账工作的线上化及系统化”。在这类场景中,大量需手工整理的数据以“Excel表”或“纸质图表”的形式存在。为了提高这类需求的开发效率,我们推出了端到端的应用生成“Excel生成应用”和“图片生成应用”(如图2所示)。
图2 智能应用生成
“Excel生成应用”,用户仅需上传本地Excel数据表,即可构建出具备全套CRUD功能的应用,并生成表单和表格两种交互视图。“图片生成应用”相较于Excel生成更进一步,能够先识别纸上的图片,提取关键表格要素,进而生成应用。
端到端生成应用的要解决两个难点:难点一是能够有效识别Excel或图片中的实体,并判断实体对应字段类型。若仅采用大模型,判断准确率并不满足工程要求;我们实践中把大模型和传统工程数据字典相结合,准确率提升到95%以上;难点二是要实现实体到数据表、页面组件及方法的正确绑定。为了提高绑定的准确性,我们建立一系列应用模板,并由模板引擎去选择合适的模板来生成应用。通过模板固化资源绑定,最终实现应用的准确渲染。
端到端应用构建的功能上线后,开发一个完整应用的时长从小时级压缩至分钟级。我们后续还会陆续推出“多轮对话创建应用”“需求文档创建应用”等端到端解决方案。
3.低代码运营
低代码平台的主知识库主要由产品文档和帮助文档构成。随着运营的推进,逐渐积累了丰富的问答QA、解决方案、汇报材料等文档。然而,运营人员常常存在知识盲区,在处理较为复杂的问题时,提供的解决方案有时质量欠佳。
而大模型RAG技术可有效解决上述问题。例如,当用户向运营同事咨询应用中的SQL异常应如何解决时,由于运营同事并非SQL方面的专家,所以较难快速准确地定位SQL异常问题的原因。基于RAG的低开运营小助手投产后,其不仅能够为用户指出SQL中存在的问题,还可以直接给出优化后的SQL供用户复制使用。
目前,利用大模型运营的应答准确率已达到75%左右。
1.数据飞轮
招商银行的低代码平台历经几年发展,当前上线应用数量过万,涉及的DSL片段超过百万,沉淀了大量的低开资产。项目组利用规模庞大且具有私域特性的数据,持续对大模型微调,来提升大模型的表现。
为提高私域数据清洗、标注的效率和质量,我们采用“AI自动标注+人工复检”的方案。利用规则引擎工具,低代码平台基于大模型构建了AI自动标注机器人,通过定时任务和跑批的模式对语料进行标注。然后,将这些标注后的语料以任务形式下发给数据标注人员,采用“作业即标注”的方式对自动标注的语料进行校正。校正后的数据用作大模型微调的语料进一步提升模型的表现,实现了数据自动化的闭环。
2.约束大模型的幻觉
在大模型应用过程中生成的DSL片段,少则几百个字符,多则上万字符,极易产生“一本正经胡说八道”。如何确保大模型输出内容的稳定有质量,约束大模型的幻觉,是低代码平台所面临的技术难题。
项目组对DSL片段进行数据分析后发现,同类场景下生成的DSL其主体内容变化有限。例如最为常见的“查询表单”和“带CRUD的表格”所对应的DSL片段80%是不变的。基于此,我们对变化部分的DSL进行场景化的分类,构建了其场景化的生成逻辑,限制大模型生成DSL内容变化的范围。同时生成时采用了反思、思维链等模式以提高准确率。通过以上技术改造,显著降低了大模型产生幻觉的概率,使得生成的DSL片段能够被平台所使用。
当前,招商银行在低代码与大模型的实践方面,已取得初步的成果。基于AI能力,如何不断升级低代码平台并助力数字招行的建设,依然任重道远。未来,我们将进一步拓展大模型在低代码领域应用的边界,通过模型的不断微调构建更精准的DSL,并挖掘更多的端到端场景。同时,在多模态方面深入探索,借助文本、图像、语音等多种交互方式,打造更为卓越的用户体验。
(此文刊发于《金融电子化》2024年9月下半月刊)