判断
判断节点是工作流中的逻辑路由器。它基于前置节点的输出变量,通过预设的条件表达式(IF/ELSE),将工作流导向不同的执行分支。
- 需要根据结构化数据做精确判断(如:订单金额 > 1000、状态 == 成功),使用判断节点。
- 要理解用户自然语言的意图(如:我想退款)→ 使用意图识别节点。
配置判断节点
当向该节点输入参数时,节点会依次检查各分支的条件,并执行第一个满足条件的分支。节点会判断是否符合IF区域的条件,符合则执行IF对应的工作流分支,否则执行ELSE分支。
每个分支条件支持添加多个判断条件(且/或),可单击“添加分支”添加多个分支,添加多个分支后的执行顺序:先执行IF分支,不满足则执行ELSE IF1分支,再不满足则执行ELSE IF2分支,以此类推,都不满足则执行ELSE分支。
如图1所示,这是一个根据年龄判断是哪种群体的工作流。
| 分支 | 条件 | 执行路径 |
|---|---|---|
| IF | 年龄 ≥ 0 且 < 15 | “少年儿童”消息节点 |
| ELSE IF 1 | 年龄 ≥ 15 且 < 35 | “青年”消息节点 |
| ELSE IF 2 | 年龄 ≥ 35 且 < 60 | “中年”消息节点 |
| ELSE | 以上条件均不满足,即大于60 | “老年”消息节点 |
各参数类型支持的比较运算符:
| 参数类型 | 支持的比较运算符 |
|---|---|
| String | 长度大于、长度大于等于、长度小于、长度小于等于、等于、不等于、包含、不包含、为空、不为空 |
| Integer / Number | 大于、大于等于、小于、小于等于、等于、不等于 |
| Boolean | 为true、为false |
| Object | 为空、不为空 |
| Array | 长度大于、长度大于等于、长度小于、长度小于等于、等于、不等于、包含、不包含 |
相关操作
- 单击节点名称,可修改节点名称。
- 单击
图标,可对节点进行重命名、复制、删除或更换节点;也可以将节点连接到结束节点。 - 单击
图标,可对节点进行测试。 - 单击名称下面的节点说明,可修改节点的描述信息。
- 单击
图标,可查看文档信息。
注意:删除节点后,该节点所有分支(IF / ELSE IF / ELSE)与下游节点的连接线将同时删除,需重新配置受影响节点的连线。建议删除前先记录各分支的连接关系。
示例
以常见的String、Integer和Boolean类型条件判断为例,在开始节点中定义三种类型的参数,模拟判断节点的输入参数,实现对于不同类型参数在不同条件下的逻辑判断。
节点配置如下:
- 开始节点:定义三种类型参数,分别为String类型的string_key、Integer类型的int_key、Boolean类型的bool_key。
- 判断节点:在IF条件分支中增加三个判断条件,条件表达式的判断参数分别引用开始节点上述的三种类型参数。对于不同类型的参数,前端展示的比较条件有所区别。
| 参数类型 | 参数名称 | 配置示例 |
|---|---|---|
| String类型 | IF | 例如String类型为字符串相关的长度、包含和为空条件判断,示例中配置为判断string_key是否包含“abc”。
|
| Integer类型 | IF | Integer类型为数值相关的大小等于条件判断,示例中配置为判断int_key是否大于6。
|
| Boolean类型 | IF | Boolean类型为true false条件判断,示例中配置为判断bool_key是否为true。
|
单击试运行,输入以下测试值并运行:
| 参数 | 测试输入 |
|---|---|
| string_key | abcd |
| int_key | 7 |
| bool_key | true |
预期结果:上述三个条件均满足IF分支(abcd包含 "abc"、7 大于 6、bool_key为true),工作流应执行IF分支。节点右侧IF分支连线高亮,则配置正确。
常见问题
- 判断节点和意图识别节点有什么区别?如何选择?
这两个节点虽然都用于实现分支逻辑,但它们的判断依据完全不同:
表5 节点差异 维度
判断节点
意图识别节点
判断依据
结构化数据(数字、变量、字符串)
用户自然语言输入
判断方式
预设逻辑条件(>、==、包含等)
大模型语义理解
典型场景
订单金额是否 > 1000、状态是否为"成功"
用户意图识别:“我想退款”
特点
精确、可预期、无AI不确定性
灵活、可处理模糊表达
- 为什么我的ELSE IF分支永远不执行?
检查您的IF分支条件是否过于宽泛(例如使用了“不为空”作为第一个条件)。一旦满足IF条件,就不会继续检查ELSE IF,请将最具体的条件放在最上方。
请将最具体、最严格的条件放在最上方,将兜底条件(如“不为空”)放在靠后的分支。
- 引用的前置节点变量为空(null)时,判断条件会如何执行
- "为空" 条件:判断结果为true
- "不为空" 条件:判断结果为false
- 其他比较运算符(如大于、包含、长度大于):判断结果均为false,不会报错,但会继续向下检查下一个分支
建议在工作流中为可能为空的变量添加“为空”的兜底分支,避免所有条件均不满足时意外进入ELSE分支。



