引擎

規則在這裡執行

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 退款分流、信貸審批、優惠疊加、支付風控,四個寫好的規則包,拷過去改成你們自己的政策。