AI火爆,传统的规则引擎是否无用武之地?

ops/2024/11/15 1:53:41/

随着ChatGPT的问世,AI的火爆程度再一次被点燃,但看目前市场上对于GPT的应用依旧处于探索阶段,除了基座大模型之外,并没有真正意义上的AI原生成功产品。也就是说,目前大多数产品都还处于探索阶段。

ChatGPT如此火爆,那么,我们现有的产品,特别是充斥着大量规则的逻辑与变数的产品,是否适合通过大模型来进行改造和演进呢?基于这个话题,这篇文章我们就来聊聊“基于传统规则引擎”和“基于AI”实现规则化产品的不同视角与实现。

基于规则引擎与基于AI的产品特质

在传统的软件开发中,特别是基于大量规则的产品逻辑开发中,底层的本质是:现实世界的业务需求,通过程序员将业务逻辑通过编码实现。这些编码实现基本上都是确定的,预置的,比如,如果满足A1条件则执行B1,如果满足A2条件则执行B2等。

当这类判断条件较多时,我们会采用规则引擎(比如Drools规则引擎,这里推荐《Drools8规则引擎:核心技术与实践》一书)来实现规则的灵活判断,使得程序显得更灵活,更智能。然而,本质上,它们依旧是预置好的规则。

目前基于AI的产品,特别是规则判断的功能,有了一个新的视角:它能够概念识别和自行逻辑判断能力。这也隐隐地意味着计算范式的变化。

在基于AI的产品模式下,人可以通过自然语言直接和模型进行交互,产品提供的具体功能范围是不定的。模型、策略和价值观设定这个范围,程序员的逻辑编程影响力变小了。

基于规则和基于模型

基于规则引擎的产品,无论是产品的UI层面(UI层的功能本质上是一种功能的归类),还是基于底层预置的规则层面,它们都是有边界的,有固定分类的。

而基于AI模型的产品,它基于用户的自然语言或行为,根据模型特有的意图识别与自行判断,提供更适配,更灵活,边界不明显的产品能力。我们知道,模型的判断本质上是基于概率和近似度的。

由此,我们可以看到基于规则和基于模型的智能程度在不同应用场景下拉开了巨大差异。

使用场景的选择

通过上面的了解,看起来基于AI的智能型产品更加有优势,然而事实并非如此,不然目前市面上也不会那么缺少基于AI的智能型产品了。

我们在选择使用规则匹配还是AI智能时有一个明显的选择准则:确定性匹配时使用规则,灵活性匹配时使用AI智能。

AI智能的灵活性,最终会带来更宽的业务适配,也就不需要基于产品UI或规则的归类,而且判断分支情况太多,也没办法进行逐一归类。也就是说,AI智能应用必然要解决复杂场景,解决规则所不能到达地方的问题。

AI智能应用的这种适配(通过自然语言宽泛的适配)的特征也决定了这种应用类型所匹配的领域。如果是只是简单的规则就能搞定,并且产生利润,其实并不是智能原生应用的最佳落点。

在规则确定、功能确定的场景下(也是目前大多数业务的场景),基于AI的智能型产品反而带来更多的不确定性和不可控性。此时,还是需要传统的规则逻辑和规则引擎等方式进行实现。

所以,AI虽然火爆,但未必所有的产品都能够或适合使用AI,针对那些确定性规则,也就是目前99%以上的业务场景来说,使用传统的规则判断依旧是最佳实践方案。而对于那些基于概念理解和自行判断的能力场景下,才可考虑使用AI。

相关技术的推荐

“基于传统规则引擎”和“基于AI”实现规则化产品的不同视角与实现,就讨论这么多。最后简单推荐一下这两种形式目前主流的解决方案。

基于AI的实现,不同场景下可选择不同的AI模型,特别是类似ChatGPT这样的国内外LLM(大语言模型)。根据业务场景的不同,可选择不同参数(体量)的模型,再基于目前常见的RAG和Agent的解决方案来实现对应的业务功能。由于基于AI,特别是GPT的智能原生产品大家都处于探索阶段,目前并没有呈现出很好的解决方案。

对于传统的基于规则引擎的解决方案,也是适配目前大多数业务场景,比较主流的且成熟的解决方案已经存在。比如,主流的开源规则引擎框架Drools规则引擎

规则引擎本质上就是将业务逻辑中变化的部分抽离成一系列的规则,使得原本通过硬编码实现的业务逻辑分离为规则和数据,然后围绕着数据和规则提供一些管理和处理功能。像电商平台、风控系统、IoT(物联网)、财务计算、日志分析处理等有大量规则的场景下,都是规则引擎的运用场景。

Drools是最早由JBoss开发,目前由Red Hat开源的规则引擎,属于Red Hat的KIE Group组件之一,可以比较方便地与Red Hat的其他产品进行集成。比如,可以与jBPM工作流相结合实现对复杂规则流的管理。另外也可以与机器学习(Machine Leaning,ML)、深入学习(Deep Leaning,DL)等外部类库进行整合实现Pragmatic AI相关功能。

Drools官方除提供了规则引擎的核心功能,还提供了一系列基于该开源框架的组件(KIE Server、Business Central Workbench、Kogito等),方便使用者直接集成使用。同时还支持多种形式的规则构建形式,可根据客户的具体需要进行灵活生成、管理规则。

关于Drools规则引擎也为大家推荐一本刚刚出版的新书籍——《Drools8规则引擎:核心技术与实践》。该书由《Spring Boot技术内幕:架构设计与实现原理》畅销书作者倾心打造,基于最新的Drools 8版本及语法实现来进行讲解。这本书是规则引擎领域,以实战经验为基础,全面涵盖Drools从入门、原理、实战项目、架构实践等相关的指导书籍!

小结

通过上面的分析和总结,大家可能已经基本了解基于AI实现产品与基于传统规则实现产品的区别。根据这些区别以及它们适用的不同场景,可选择是否紧跟这波AI热。当然,如果产品本身并不具备AI原生产品的特性,那么很可能也只是蹭一波热度,无法在后续的过程中持续发力(已经有很多类似的AI产品了)。至于是选择蹭一波热度,还是稳妥的采用传统的规则引擎解决方案,这也需要产品的操刀者进行综合的评估和判断了。


http://www.ppmy.cn/ops/113727.html

相关文章

Zynq 中有五种可能的启动源

Zynq 中有五种可能的启动源:NAND、NOR、SD 卡、Quad-SPI 和 JTAG。 前四个启动源用于主启动方法,在主启动方法中,CPU 将外部启动映像从非易 失性内存加载到 PS 中。JTAG 是从引导模式,仅支持非安全引导。外部主机作 为主机&#x…

C++: 类和对象(上)

📔个人主页📚:秋邱-CSDN博客☀️专属专栏✨:C🏅往期回顾🏆:从C语言过渡到C🌟其他专栏🌟:C语言_秋邱 ​ 面向过程和面向对象 C 语言被认为是面向过程的编程…

【Python】快速判断两个commit 是否存在cherry-pick 关系

判断两个提交是否有 cherry-pick 关系的 Python 脚本,可以基于以下三种常见情况进行优化: Commit Hash 一致:如果两个提交的 hash 完全相同,那么它们是相同的提交。 Commit Title 存在关联:如果两个提交的 commit mes…

数位dp,LeetCode 2376 统计特殊整数

目录 一、题目 1、题目描述 2、接口描述 python3 cpp C# 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 python3 cpp C# 一、题目 1、题目描述 如果一个正整数每一个数位都是 互不相同 的,我们称它是 特殊整数 。 给你一个 正 整数 n …

【数据结构初阶】顺序结构二叉树(堆)接口实现超详解

文章目录 1.树1. 1 树的概念与结构1. 2 树的相关术语1. 3 树的表示1. 4 树形结构实际运用场景 2.二叉树2. 1 概念与结构2. 2 特殊的二叉树2. 2. 1 满二叉树2. 2. 2 完全二叉树 2. 3 二叉树存储结构2. 3. 1 顺序结构2. 3. 2 链式结构 3. 实现顺序结构二叉树(小堆&…

数据结构应试-1

1. 好像是错的 2. n个元素,插入的可能有n1个位置,所以n(n1)/2*(n1)2/n 3. 4. 5. 6. 假设我们有一个循环队列,数组的长度为 n 10,并且当前队头指针 f 的位置是 2,队尾指针 r 的位置是 8。我们需…

服务器数据储存需注意什么?

服务器数据储存是保障服务器正常运行和企业信息安全的重要环节。以下是服务器数据储存时需要注意的几个方面: 一、硬件设备与技术选择 硬件选型:选择质量可靠、性能稳定的硬件设备,如高速硬盘、大容量内存、快速网络接口卡等。这些设备能够提…

视频去噪技术分享

视频去噪是一种视频处理技术,旨在从视频帧中移除噪声和干扰,提高视频质量。噪声可能由多种因素引起,包括低光照条件、高ISO设置、传感器缺陷等。视频去噪对于提升视频内容的可视性和可用性至关重要,特别是在安全监控、医疗成像和视…