设为首页 | 收藏本站
183 3562 2627

别再用老套的“条件+动作”的开发范式了,规则引擎已经演化成算法引擎了

发表时间:2025-07-22 20:42作者:Together规则引擎
文章附图

一提到规则引擎,人们首先想到的就是金融、保险、电商、风控等行业领域如一些合规性判断、简单计算的应用场景,产品形态主要就是决策表、评分卡、决策树、决策流等功能,它们也成为不同规则引擎厂商产品的标准开发范式,但是随着市场的不断变化,规则引擎被引入应用到更多的行业领域,这些功能越来越无法满足企业的需求了。我们不妨简单回顾一下规则引擎的发展史。

一点历史

业务规则的概念可以追溯到20世纪70年代专家系统的早期,当时企业第一次尝试自动化业务逻辑,而这些业务逻辑主要在领域专家的头脑中。业务规则采用“如果这些条件为真,则采取一些操作”的形式,提供了一种简单的提取格式,用于将该知识从规则存储库或知识库中提取出来。推理引擎(也称为业务规则引擎)的功能是可以采用大量规则并从中自动执行业务逻辑,特别是每天多次做出的操作决策的逻辑,例如定价、风险和合规性等。贷款批准,或客户服务中的下一个最佳报价。

图片1.png

规则引擎的基本结构

规则引擎:这是一个利用人类专家的知识来解决问题并给出解决方案的程序。它也被称为基于规则管理系统或决策管理系统DRMS。

推理算法:是规则引擎的大脑,管理着引擎内部的大量规则和事实。它的工作原理是通过算法匹配规则和输入数据并生成结果或解决方案。

图片2.png

例如

规则1:一个人有资格申请汽车贷款吗?如果:1。他的月薪超过7万英镑。2.他的信用评分超过900分。已批准的汽车贷款。2.允许所申请汽车贷款金额的60%。

规则2:一个人有资格申请汽车贷款吗?如果:1。他的月薪超过3.5万英镑。2.他的信用评分超过700分。已批准的汽车贷款。2.允许所申请汽车贷款金额的90%。

规则的基本结构

规则:它是一组条件,后面跟着一组动作或行动。它代表了系统的逻辑。规则主要以if-then 形式表示。它主要包含两个部分,条件和动作。该规则也称为生产。

规则= 条件 + 动作

该条件也被称为事实、前提。而动作也被称为结果。

图片3.png

规则引擎推理算法原理

Rete 算法:是一种用于高效模式匹配的算法,广泛应用于专家系统和规则引擎中。它通过构建一个网络结构,来减少重复匹配的计算,从而提高处理大量规则和数据的效率。Rete 算法主要分为两个阶段:编制阶段和激活阶段。

1.编制阶段:将规则转换为一个网络,包含多个节点,每个节点代表规则中的条件。通过维护网络的结构,算法可以有效地处理规则的变化。

2.激活阶段:当数据输入时,算法通过网络结构迅速找到匹配的规则,并激活相应的规则,从而触发相应的动作。

Rete 算法的优势在于可以高效地处理复杂的条件匹配,特别是在规则和事实数量较多的情况下,能够显著提高推理的速度Rete 算法及其衍生算法Rete-II、Rete-III、Rete-NT、Rete-OO,是为规则引擎推理算法而生,历史悠久,而且不断迭代演进。

图片4.png

主流厂商的规则引擎大都都采用Rete 算法及其衍生算法。因此Rete 算法已经成为行业的事实标准。

规则引擎适用场景

规则引擎主要用于执行基于条件的业务规则判断和决策,而非实现通用逻辑算法。其核心能力与限制如下:

擅长处理的逻辑类型

不擅长的逻辑类型

1.条件分支逻辑

1. 复杂数学计算

通过规则条件(IF-THEN)实现多路径决策,例如金融风控中的贷款审批规则(信用分≥700且无黑名单记录则通过)

缺乏高效处理微积分、矩阵运算等连续数学问题的能力,例如物理引擎模拟或深度学习算法

2.离散状态判断

2.流程控制型算法

对输入数据进行分类或标签化,如电商订单根据金额、用户等级匹配优惠策略

循环迭代(如排序、递归)、状态机控制等需代码实现的逻辑,规则引擎难以原生支持

3.简单计算整合

3.高性能数值处理

支持基础算术运算(如贷款金额≤月收入×0.5)或调用外部函数辅助决策

大规模数据实时计算(如流式聚合统计)通常需专用计算引擎(如Flink/Spark)而非规则引擎

规则引擎的主要功能形态

目前市面上主流规则引擎或BRMS决策管理系统产品,功能大都是围绕着规则集以决策表、评分卡、决策树、决策流等形态构建规则逻辑,但不同厂家有各自不同的技术实现和模型规范,厂商间规范不统一通用。

图片5.png

其中,决策表是核心功能,评分卡、决策树、决策流是决策表的变种,是为了方便用户理解的规则集编辑和展现形态,大多厂商产品支持它们之间的相互转换。

市场需要支持更为复杂算法结构

随着企业信息化的发展,规则引擎从知识密集型、合规要求高的行业领域起源,比如金融、保险,后扩展到电商、医疗、物流、财务、法律、制造、企业管理等各个行业领域,不同的业务领域都有规则引擎的应用需求。同时随着商业智能、云技术的发展,这就要求规则引擎需要支持更为复杂算法结构,具有良好的扩展性。在此背景下标准化组织推动整个行业对决策模型和表示法标准的制定。核心价值主张是通过标准化通用语言、技能集、培训和支持模型来降低成本并缩短业务响应时间。

图片6.png

什么是DMN标准

旧有规则引擎功能结构本质上就是条件匹配,规则引擎由于上述场景限制,因此功能上无法满足复杂算法需求,规则都是围绕孤立规则片段组织,没有统一的规则语言、没有统一模型架构,而且没有统一的标准,因此规则引擎需要一场彻底的架构变革。在行业用户和IT厂商的推动下,DMN标准应运而生。

图片7.png

国际标准化组织OMG维护并制定的DMN标准重新定义了规则引擎的模型架构,在众多行业专家、厂商、用户的参与下历经十几年的发展已经非常成熟并被市场所接受,主流厂商的已经推出了新一代基于DMN标准的产品,如IBM DMOE、Oracle、Apache基金会、OpenRules等。

DMN是决策模型与符号(Decision Model and Notation)的缩写,是一种基于模型的语言,用于描述业务决策的逻辑。它是由OMG(对象管理组)发布并维护的一套独立于商业公司的国际业务决策建模标准。

图片8.png

重新定义的范式架构

不同于传统的规则引擎或决策类引擎的范式架构,DMN标准采用全新的范式架构和执行方式使其具备了无与伦比的建模能力和计算性能,并继承改进了原有的决策表的核心功能。

图片9.png

DMN元素

DMN有一整套决策模型与符号规范,通过图形化、结构化的方式来定义业务决策的逻辑。用户通过图元块命名决策变量&函数名称,绑定数据类型,定义相互间的依赖调用关系,以装箱结构的形式直观的定义原来需要编码才能实现的复杂业务逻辑。

图片10.png

规则引擎的专有FEEL语言

DMN标准统一定义了规则引擎专有FEEL语言,它吸收了主流开发语言的各种优点,表达式非常简单,但实际上是一种功能强大的语言,具有许多内置函数和运算符;它非常适合做对象集合的操作,实现效果与代码开发无异。DMN最强大、最有用的功能之一是它能够在其本身表达式中处理列表和表,因此您无需退回到SQL、Java或流程模型做这些开发。

图片11.png

DMN元素元模型

DMN元素是决策模型元素的抽象超类。DMN元素具有抽象专业化   命名元素 和 表达命名元素   添加所需的属性名称,并包括抽象专业化商业上下文元素和DRG元素,以及具体专业化 定义、项定义、信息项、元素集合和决策服务。

图片12.png

元模型定义

定义类是DMN决策模型所有元素的最外层包含对象。它定义了所有包含元素的可见范围和名称空间。定义实例中包含的元素有自己定义的生命周期,并且不会随着其他元素的删除而删除。DMN文件的交换始终通过一个或多个定义进行。

DMN规则引擎提供更强大的功能结构

DMN标准拥有强大的功能结构,使用图表化的建模方式,简约而不简单,无需编写任何代码,您就可以通过它构建任何代码所能实现的逻辑算法,并可以调用运行外部资源如JAVA类方法,机器学习算法,支持模型互引用,同时拥有媲美代码的执行效率。

图片13.png

脱胎换骨般的全新开发范式

DMN规则引擎采用全新的开发范式,提供命令式、声明式或函数式,三种范式的混合,以简化业务用户的决策建模,同时支持构建更为复杂的算法,并赋予决策模型超高的执行性能。模型具有不透明、持续、无状态、无副作用的特性,提供无状态服务,适合轻量化部署。

图片14.png

拒绝匹配拥抱算法

DMN规则引擎抛弃了传统规则引擎线性匹配的规则建模方式,它所采用的DMN标准集合了所有开发语言的开发范式优势,简单易用,重新规范定义了规则引擎的建模方式,可以完全替代代码开发,真正实现0代码复杂逻辑计算的图形化建模,是规则引擎历史上一次质的提升与飞跃,具有里程碑意义。DMN支持构建更为复杂算法,有如下特性,支持由事件、数据挖掘和其他用例驱动的决策。同时具有良好的扩展性,能快速适应不同的业务场景,比传统匹配式规则引擎更具优势。

传统规则引擎

图片15.png

DMN规则引擎

图片16.png

更广泛逻辑类型的支持

不同于旧有规则引擎“条件+动作”的固有匹配模式,DMN规范重新定义了规则引擎的范式架构,因此DMN规则引擎支持更广泛的逻辑类型,使其拥有了与代码开发等效的逻辑建模能力。

图片17.png

业务管理人员更多的参与

目前市面上厂商推出的各种决策管理系统或规则管理系统还普遍采用触发器操作范例脚本的形式,脚本通常以专有“语言”与决策表一起定义,通常采用 If->Then->Else 风格。当业务规则引擎 (BRE) 发生触发时,将处理这些规则。这些业务规则管理系统 (BRMS) 中用于定义规则、版本、部署、执行、监控和管理规则的工具以及引擎通常捆绑在一起,本质上技术性很强,通常由 IT 资源(即程序员)拥有和维护,业务专家的直接参与非常有限。

业务规则需要专业的业务规则项目团队收集隐藏在公司政策法规、应用代码、主题专家头脑中的规则。这些规则以基于文本的需求文档的形式发布,由程序员解释并转换为可以在业务规则引擎上自动化的决策逻辑。

实际上这存在一些问题。这些需求常常是模糊的、不完整的,并且被程序员误解。通过标准化业务词汇来解决这个问题的尝试效果有限,因为典型项目所需的规则集可能包含数千条规则,使得业务用户难以管理和维护它们。

图片18.png

DMN决策建模方式打破了依赖IT资源的模式,使业务管理人员参与成为可能。

图片19.png

结论:

IT系统的核心和灵魂始终是算法,一套算法能完美解决某一业务场景的核心痛点,并能快速敏捷的迭代升级就是一个优秀的系统,它赋予IT系统在一个很长的时间内就具有生命力和价值。Together规则引擎基于DMN标准打造,它将使您拥有了快速构建规则算法的超能力。

精选文章
公众号
关于我们
联系方式
让您的业务更自动化、智能化!
联系邮箱:   zhangy@jee-soft.cn       wangyl@jee-soft.cn
咨询热线:185 1521 8668        183 3562 2627
电话:010-8200081