背 景
资损防控是业务稳定性保障的重要一环,资损防控治理主要分为增量场景和存量场景。在存量场景中,业务研发从现有业务场景入手,进行各业务模块的资损场景的梳理,将可能出现资损的场景梳理出来。但是这些资损场景的梳理是依赖人去梳理,非常依赖梳理者的个人经验和对业务、链路、系统架构的熟悉程度,这样的梳理方式一定会存在资损场景被遗漏的情况。我们希望能够在人为梳理的基础之上增加智能化识别能力来对资损场景进行补充。在增量场景中,业务不断发展,代码不断的变更,可能就会新增资损场景,时间长了,之前打造的资损防控网也会慢慢腐蚀。我们同样希望建立一套智能化的流程机制管控能力,能够时刻识别出新的资损场景。
方案思路
基于上述背景,不管增量场景资损遗漏问题还是存量场景的腐蚀问题,其实总结就是资损漏报问题。
方案思路如下:
在存量场景中,希望通过分析工程代码方法,并利用AI模型判断这些方法是否存在资损风险。基于识别结果,结合代码链路分析来推导出潜在的资损接口,进而构建完整的资损接口链路。由此,建立了一套从资损方法到资损接口,再到资损接口链路直至最终资损防控的全面链路级别解决方案。该方案通过智能化手段实时检测资损防控覆盖程度,确保对潜在风险的有效监控与管理。
在增量场景中,通过分析需求文档和变更代码,使用AI模型评估其是否涉及资损风险。一旦确认存在资损风险的需求或代码,在测试阶段将进行专门的资损用例覆盖,并在发布前进行严格的校验。这样,我们就形成了一套贯穿产品阶段、研发阶段、测试阶段直至发布阶段的智能化流程管控体系。
方案设计
上述方案思路最大的难点就是:如何通过自动或者智能化的方式识别出不同场景存在的资损风险。
下面就重点介绍下方案的关键设计。
如何快速准确识别资损
在面对每日大量的资损业务需求和海量的变更代码时,依赖人工识别不仅 效率低下,还会显著增加成本。因此,迫切需要一套智能化工具平台来辅助人工高效、准确地识别潜在资损风险。
一、初期探索:基于关键字的识别方法
初步方案试图通过设定一系列与资损相关的关键词(如支付、交易、优惠等)来捕捉潜在事件。这种方法虽然实现简单、能够快速部署,但由于缺乏对文本上下文的理解,在复杂业务环境中难以区分真正的资损风险与正常活动,导致较高的误报率和漏报率。鉴于其无法满足高精度识别的需求,该方案最终未被采纳。
二、中期尝试:利用通用大模型进行识别
考虑到使用通用语言模型来进行资损识别。尽管此方法具有快速部署的优势,并可能提供一定的语义理解能力,但它在特定企业业务语义的理解上表现不佳,难以适应特有的资损模式。此外,使用外部服务处理敏感企业数据可能会带来信息安全问题,且持续使用的成本较高。基于这些原因,此方案同样不被推荐。
三、成功实施:适用于资损场景的特定小模型
我们最终选择了智能化程度更高的解决方案,即利用开源预训练模型,结合公司历史上的资损相关语料进行标注后,对模型进行微调。这种方法不仅能深入理解公司的具体业务逻辑和资损特征,还能有效避免第三方服务带来的信息安全风险及长期使用的成本负担。通过这种定制化的智能模型,我们实现了高度精准的资损识别,同时确保了内部数据的安全性。尽管这种方法需要投入一定的时间和技术资源进行模型训练和优化,但其所提供的精确度和安全性使其成为最理想的解决方案。随着技术团队不断改进模型,系统识别性能将持续提升,为公司的资损防控提供了强有力的支持。
智能化能力建设
为了实现更精准的资损识别,我们采取了领域专家模型训练的方法。具体来说,在需求文本领域,我们通过标注大量的需求文档来训练专门的资损需求识别模型;同时,在代码领域,我们也通过对大量代码方法进行标注,训练出专门的资损代码识别模型。在每个领域内,我们根据不同的业务场景进一步精细化训练模型,使其能够更好地适应特定情境下的资损识别需求。最终,我们将这些来自不同领域的模型整合起来,形成一个统一的资损识别模型,能够在各种业务场景中自动识别并处理不同的资损语义。这种方法不仅提升了识别的准确性,还增强了系统的适应性和智能化水平。
业务场景:接入不同场景,主要是从文本和代码区分,因为这个决定了下面模型层的抉择
策略层:通过不同的场景和内容进行模型选择和最终结果的决策
核心模型层:整合多个场景和多个子领域模型,对不同的任务进行推理
特征标注层:针对模型所需要的特征和训练进行精细化标注和收集
代码分析层:重点解决对不同的代码形态都能够做到标准的代码数据结构
智能化应用场景
对外统一模型叫做资损识别模型(识别不同结构内容),在存量场景和增量场景应用场景的关键环节进行有效识别资损隐患。
存量场景识别和管控
在存量场景中分析工程代码方法,通过资损识别模型判断代码方法是否存在资损,然后结合代码链路推导出资损接口,从而最终推导出接口资损链路,平台实时检测接口上下游链路库表的核对规则是否覆盖完整,如不完整则推动相关人进行补充和完善。最终建立一套基于资损方法->资损接口->接口资损链路->资损防控(核对规则覆盖)为一体的链路级别的资损防控方案,从而可以通过智能化的方式实时检测资损防控覆盖程度。
存量场景资损链路覆盖和检测
通过AI模型识别出来的资损方法,在平台上进行人工复核确认,形成明确的资损方法。
再根据资损方法,经过代码分析能力,推导相关资损接口,研发就可以针对每个资损接口维护相应的核对规则。
通过资损接口和服务调用链路,给研发展示更详细的上下游核对详情。研发排查上下游核对情况,再次基础进一步补充和完善核对规则,保证资损防控网一直是最全最新的(无限接近100%)。
通过之前资损链路核对规则完善,平台也可以从应用角度查看每个资损服务核对规则覆盖情况是如何。
增量场景识别和管控
在增量场景中可以分析需求文本和变更代码,通过资损识别模型判断是否涉及资损,涉及资损的需求和代码则在测试阶段进行资损用例覆盖,同时平台也会检测发布服务是否有核对规则部署,最终在发布阶段校验资损用例和核对规则是否完整覆盖,如有遗漏则阻塞发布。最终建立一套产品阶段->研发阶段->测试阶段->发布阶段智能化流程管控机制。
需求上线管控流程应用
在货拉拉内部的需求管理平台上,产品创建需求时,资损识别模型就会实时检测需求内容是否涉及资损,如果涉及资损则把资损信息传递给研发和测试(产品阶段)。
在货拉拉内部的服务代码构建部署平台上,在代码构建过程中,资损识别模型实时检测变更代码是否涉及资损,如果涉及资损同样会把资损信息传递给研发和测试(开发阶段)。
在需求管理平台上,研发就可以看到需求关联的服务是否存在资损风险,并可以查看详细资损信息(开发阶段)。
在货拉拉内部的测试平台,会把之前标记的资损需求和代码进行单独的资损用例覆盖(测试阶段)。
在发布阶段,平台会校验资损需求是否有资损用例和核对规则部署,其中一个缺失就会阻拦发布流程。
方案收益
这套综合性的智能资损防控方案不仅提升了检测的精确性和效率,还实现了全流程的自动化监控和管理,为系统的资损风险防控提供了强有力的保障。同时,它促进了开发周期各阶段的无缝对接,增强了整体业务流程的稳健性和响应速度。
增量场景中:
通过智能化方式构建资损防控的线上化流程管控,可有效规避因人的经验、意识不足而遗漏防控措施的风险。期间(上线后3个月)识别出130+资损需求和700+资损接口,从而大大降低资损需求和资损代码发布上线的风险。最终建立一套产品阶段->研发阶段->测试阶段->发布阶段智能化流程管控机制。
存量场景中:
通过智能化资损链路的推导,识别出500多的资损服务,从而对资损服务中的资损链路进行100%(核对规则)覆盖监控,最终形成了资损场景的全量覆盖。最终建立一套基于资损方法->资损接口->资损接口链路->资损防控为一体的链路级别的资损防控方案。
平台能力通用化:
整套智能化识别管控流程可以快速赋能给其他领域(信息安全、稳定性等等)。
未来规划
1. 进一步提升资损识别模型能力,不仅仅提升识别的召回率和准确率,也会加强资损语义的返回,能够让研发和业务更加清楚为什么此处涉及资损,如何去更好的规避。
2. 后续会通过现有的智能化技术能力的储备,建立一套核对规则智能推导,可以理解资损业务语义,帮助研发快速产出核对规则,并实施上线进行布防。