引擎

规则在这里执行

Ordo 的核心是一个用 Rust 写的规则引擎。给它一份 JSON,它按规则一步步走完,返回结果,也记下每一步为什么这样走。

客户说

“The blender arrived yesterday but it is much louder than the video showed. Not sure it is for me. What are my options?”

jev.intent
refund (0.97)
jev.chargeback
0.04
order.amount
129.00
order.days_since_delivery
1
customer.refunds_90d
0
执行路径
  1. escalationChargeback or legal threat
  2. intentIs it a refund request
  3. priorityPriority$priority = "normal"
  4. routeRoute by confidence and order$decision = "AUTO_REFUND"
  5. dispatchDispatch
  6. auto_refundAuto refund
结果
AUTO_REFUND
Refund issued without review
{"amount":129,"jev_confidence":0.97,"priority":"normal"}

退款分流规则处理四条真实消息。Jev 的回答来自 typesafe/jev-1.13,结果和 ordo trace 一致。

01

快

一条四个分支的规则执行一次约 573 ns,单个服务每秒能处理约 6 万个 HTTP 请求。

测试数据 →
02

准

金额按精确小数计算,0.1 + 0.2 就是 0.3。输入缺字段或类型不对会直接报错,不会悄悄走错分支。

规则结构 →
03

哪都能跑

命令行里写规则、跑测试;线上用 HTTP 或 gRPC 服务;也可以嵌进 Rust 程序或浏览器。规则文件是同一份。

运行服务 →

从一个现成的例子开始

Jev 退款分流、信贷审批、优惠叠加、支付风控,四个写好的规则包,拷过去改成你们自己的政策。