决策引擎选购指南[通俗易懂]

决策引擎选购指南[通俗易懂]决策引擎选购指南决策引擎或规则引擎的概念在2015年随着互联网金融行业的发展得到了快速普及,逐渐被各大公司接纳并入到企业基础设施中,用于集中管理高频多变的业务运营策略,相对于原先的硬代码维护的方式,有着便捷、高效、低成本的特点。市面上关于决策引擎的分享不少,但主要集中在技术层面的经验分享,比如如何从0到1搭建一套决策引擎,大家如果感兴趣也可以自行进行查阅。反而从公司层面出发,如何评估以及选择决策引擎的文章十分有限,从而导致了公司在采购的时候往往因为信息不对称而十分被动。因此,本文将从一位…

大家好,又见面了,我是你们的朋友全栈君。

图片

图片

图片

决策引擎选购指南

决策引擎或规则引擎的概念在2015年随着互联网金融行业的发展得到了快速普及,逐渐被各大公司接纳并入到企业基础设施中,用于集中管理高频多变的业务运营策略,相对于原先的硬代码维护的方式,有着便捷、高效、低成本的特点。

市面上关于决策引擎的分享不少,但主要集中在技术层面的经验分享,比如如何从0到1搭建一套决策引擎,大家如果感兴趣也可以自行进行查阅。反而从公司层面出发,如何评估以及选择决策引擎的文章十分有限,从而导致了公司在采购的时候往往因为信息不对称而十分被动。因此,本文将从一位决策引擎使用者的视角出发,来分享一下我认为的公司在采购决策引擎应用考虑或者注意的事项。(注:本文中不涉及到与数据结合的十分紧密的应用型引擎产品,这类产品的可扩展性十分有限)

总的来说,市面上的决策引擎主要分两类,一类是开源引擎(如Drools)或基于开源引擎二次开发(服务层)的产品,另一类是成熟的商业化决策引擎(如FICO Blaze、 IBM ODM,、Experian SMG3、Sparkling Logic SMARTS等)。前者的优势在于高度定制化,可完全按照业务需求进行设计与开发,初期投入不高,但对公司的技术实力要求较高且后期维护成本不低。后者的优势在于成熟的产品化设计(毕竟经过多年的市场验证与迭代),但初期投入即产品采购成本较高(具体视不同厂商、产品版本与功能模块而定)且几乎不支持项目制的定制化开发,但由于后期仅需对部署在其中的策略进行维护,针对软件本身的升级与迭代可完全由厂商负责,因此维护成本相对而言比较低。

至于是选择开源的引擎产品,还是选择成熟的商业引擎,主要取决于公司的实际需求与技术实力。首先需要明确决策引擎在整个公司基础设施中的定位,并同时梳理清楚主要需求与次要需求。其次,需要综合评估好开发的前期投入,后期持续的投入与运维成本。简而言之,如果需求中有主要功能是商业引擎覆盖不到的,那么建议使用开源引擎进行定制化开发,当然前期的开发成本,后期的维护成本相当高。如果市面上的商业引擎能覆盖主要需求,那么还是建议择机选择适合的引擎厂商。毕竟就决策引擎而言,最主要的功能还是支持对业务策略进行便捷与高效的迭代。接下来我就如何选择引擎厂商进行进一步展开。

对于公司而言,选择引擎厂商或者其它任何软硬件产品,其实本质上就是在选择一位长期的合作伙伴。选择合作伙伴,首先我们会衡量他的能力。对于决策引擎而言,首先需要了解的是它的开发团队的从业经验,这往往是产品生命力的无形背书。其次需要了解清楚的是该产品的版本迭代情况,一个有生命力的产品往往几个月会进行小的更新,1-2年内会进行大版本更新,更新的内容往往涉及到技术更新,功能新增,bug修复等。如果一个引擎产品长时间没有迭代,请谨慎考虑。当然,售后服务也是不得不考虑的问题,这个可以通过与其客户沟通进行了解。最后,才是价格。

Rule 1:选择技术实力过硬,从业经验丰富的厂商,并且产品要保持生命力。

接下来我们再看下如何从用户的角度出发来进行选型。通常来讲,基于决策引擎构建数据驱动的自动化决策系统通常涉及到三类人员:业务,IT与模型。

对于业务团队而言,需要能借助决策引擎快速地将业务需求转换为自动化决策中的业务规则,这就要求产品是易用的。在简单的培训之后,能让有一定经验(熟悉EXCEL公式或者SQL)的同事快速上手进行规则编写。从这个角度出发,引擎软件应该是可视化程度高、规则编写语言清晰易懂的。并且就我过往的经验而言,还必须是支持在平台上直接进行可视化验证与测试的,比如支持制作报表展现测试结果。这点非常重要,相对于离线分析的方式,这类所见即所得的测试方法可以更高效地完成规则测试以及业务验证。并且从业务角度出发,生产环境中运行的策略版本也应该由业务团队进行管理,这就要求决策引擎支持界面化的版本管理与发布功能。

Rule 2: 选择支持可视化规则编辑和分析的低代码/弱代码的决策引擎,并且需要支持完善的版本管理功能

其次由于当前越来越多的场景中会将经验策略(可读可理解)与模型策略(大部分黑盒不易理解)相结合,共同组成实际的自动化决策。因此对于模型团队而言,需要决策引擎能够支持对算法模型的导入,导出以及调用。当然,如果能直接提供对应的模型开发和调试功能,当然更好。但这个不是必须,毕竟都有专门的工具做这事。借助于决策引擎的可视化测试功能,在决策的上下文中对模型的准确性和精确性进行验证。

Rule 3: 选择支持算法模型集成和调用的决策引擎

最后,对于大部分公司而言,IT资源都是十分紧缺的。因此,如何能快速地将业务系统与决策引擎之间的交互机制建立起来,也是需要考虑的。这要求决策引擎提供标准化的API接口,并且能适配到不同的开发平台。

Rule 4: 选择提供标准API接口,支持便捷集成的决策引擎

以上是我个人总结的一些经验,市面上满足上述条件的决策引擎产品其实不算多,大家可以逐一筛查。相对而言,就产品力与产品功能完整度而言,个人还是更推荐国外产品。也希望国内有更优秀的决策引擎产品出现。

星标我,每天多一点智慧

图片

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149604.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月24日 下午6:16
下一篇 2022年6月24日 下午6:36


相关推荐

  • 百度Ai搜索如何识别用户意图_百度Ai搜索识意图窍门【教程】

    百度Ai搜索如何识别用户意图_百度Ai搜索识意图窍门【教程】

    2026年3月12日
    2
  • tcp和udp的区别_tcp和udp的区别和联系

    tcp和udp的区别_tcp和udp的区别和联系前言UDPTCPTCP的三次握手TCP四次挥手累计确认顺序问题和丢包问题流量控制的问题拥塞控制的问题总结及面试问题前言前端的面试中经常问的TCP和UDP的区别,网上也有好多内容,比如TCP和UDP的区别TCP是面向连接的,UDP是面向无连接的UDP程序结构较简单TCP是面向字节流的,UDP是基于…

    2025年8月29日
    6
  • java冒泡排序概练_Java的冒泡排序[通俗易懂]

    java冒泡排序概练_Java的冒泡排序[通俗易懂]Java的冒泡排序一、冒泡排序基本概念冒泡排序,顾名思义,像冒泡一样的排序。对于一组数字,如{1、4、3、7、5、8、6}这一组数字,使用冒泡排序的话应该是按照以下步骤:第一趟:从第一个数开始,与相邻的数进行比较,然后把大数放在后面,小数放在前面,即先比较第一个数和第二个数,把大数放在后面,小数放在前面,再比较第二个数和第三个数,把大数放在后面,小数放在前面,再比较第三个数和第四个数,把大数放在后…

    2022年7月8日
    19
  • ATM(异步传输模式)是什么?

    ATM(异步传输模式)是什么?异步传输模式(ATM)也称为信元中继(在固定大小的信元中传输数据),通过光纤或双绞线电缆(高速交换)在OSI模型的数据链路层(第2层)运行基于ITU-T宽带综合业务数字网络(B-ISDN)标准的网络技术,该标准是电信业开发的自动取款机可以同时传输各种流量:语音、视频和数据,速度高达每秒155兆比特。它将语音和视频数据转换成数据包,并通过相同的介质传输大数据包数据。自动取款机和TCP。由于两个端点之间使用固定通道路由协议路由,所以/IP是不同的。实时低延迟应用程序,如VoIP和视频,在ATM网络上..

    2026年2月9日
    6
  • translate函数用法_fork函数在循环体中

    translate函数用法_fork函数在循环体中TranslateMessage函数函数功能描述:将虚拟键消息转换为字符消息。字符消息被送到调用线程的消息队列中,在下一次线程调用函数GetMessage或PeekMessage时被读出。.函数原型:   BOOLTranslateMessage( CONSTMSG*lpMsg);.参数:   lpMsg       指向一个含有用GetMessage或PeekMe

    2025年11月5日
    5
  • CSS实现文字垂直居中

    CSS实现文字垂直居中CSS 实现文字垂直居中

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号