Noul 与布尔判断组件
liteflow-agent-jev 的 JevBooleanComponent 把 Jev 的 Noul 原语接入 LiteFlow 的 IF。业务组件提供判断标准和待判断内容,Jev 返回“是”的概率,LiteFlow 据此走进 true 或 false 分支。它适合“是否要求人工”“内容是否包含隐私信息”“客户是否有退款意愿”这类是非判断,也可以与 AND/OR/NOT 组合,或作为 WHILE 的循环条件。
本组件从 LiteFlow 2.16.3 开始提供,需要 JDK 17+,依赖与配置和 Jev 智能选择组件相同。
# Noul 是什么
Noul 是 Jev 三类原语之一,回答一个是非问题,返回“是”的概率,范围为 0~1:
| 原语 | 解决的问题 | 返回内容 | LiteFlow 组件 |
|---|---|---|---|
| Choice | 从已知选项中选择一个 | 所选选项、各选项概率、置信度 | JevSwitchComponent |
| Noul | 判断一个条件是否成立 | 条件为真的概率 | JevBooleanComponent |
| Score | 按事先定义的等级评分 | 评分、等级概率、置信度 | 暂未提供组件 |
Noul 没有独立的置信度字段:概率接近 1 是强烈的“是”,接近 0 是强烈的“否”,接近 0.5 表示模型也不确定。值落在哪边,分支就走哪边,因此阈值需要按业务样本选择,详见编写布尔组件。
# IF 还是 SWITCH
判断结果只有“是/否”两种走向时用 JevBooleanComponent,例如先判断“客户是否要求人工”,再决定是否进入自动分流;需要在多条业务分支中选择一条时,使用 Jev 智能选择组件的 SWITCH 写法。两者可以组合,例如 IF(humanEscalation, manual, SWITCH(supportRouter).to(...))。
# 执行行为
- 概率达到阈值(含等于阈值)走 true 分支,否则走 false 分支。阈值默认读取
liteflow.agent.jev.noul-threshold(默认0.5),组件可覆写probabilityThreshold()。 - 鉴权失败、限流、超时或非法响应抛出
JevInvocationException,不会伪装成 false 分支;需要为技术故障安排处理时,可使用CATCH(...).DO(...)。 - 配置或输入不合法会在发起请求前抛出
IllegalArgumentException;普通组件和其他 Agent 不需要 Jev 凭据。 onDecision()对每个有效结果回调,提供实际的模型版本和原始概率;组件实例会被并发复用,结果请写入本次流程的上下文。
# 本章内容
| 小节 | 内容 |
|---|---|
| 编写布尔组件 | 区分判断标准与判断内容,声明组件,接入 IF 并处理结果 |
帮助我们改善此文档 (opens new window)



