02.意图识别和选择器节点的区别是什么
文章目录
问题: Coze工作流中意图识别节点和选择器节点的核心区别是什么?
👇 点击展开/折叠 面试背诵模板(建议先背这个)
核心对比速览
| 维度 | 意图识别节点 | 选择器节点(Condition) |
|---|---|---|
| 输入类型 | 自然语言文本(用户提问、对话内容) | 结构化数据(变量值、数字、布尔、枚举) |
| 本质功能 | 语义理解 → 分类 | 条件判断 → 分支 |
| 判断依据 | 基于大模型语义相似度匹配 | 基于明确逻辑表达式(等于/大于/包含等) |
| 输出结果 | 预定义的意图名称(如”退款”) | 根据条件走对应分支 |
| 适用场景 | 开放式用户输入、客服分流、意图理解 | 业务规则判断、数值比较、状态检查 |
| 是否需要训练 | 需在节点中配置意图名称+示例问法 | 无需训练,直接配置条件表达式 |
意图识别节点的工作原理
意图识别节点内置大模型能力,通过用户配置的意图名称和示例问法,对输入文本进行语义理解,将其归入最匹配的意图类别。示例问法越多、越典型,识别准确率越高。本质是“零样本/少样本分类器”。
典型配置:
- 意图A(退款):示例问法“我要退款”“钱怎么退”“申请退货”
- 意图B(查订单):示例问法“我的订单到哪了”“查一下物流”
- 意图C(转人工):示例问法“我要找真人”“转人工客服”
选择器节点的工作原理
选择器节点基于明确的逻辑表达式进行条件判断,类似于编程语言中的if-else或switch。它不依赖语义理解,只依赖已解析的结构化数据。
典型配置:
- 条件1:
{{变量.退款金额}} > 1000→ 走高级审批分支 - 条件2:
{{变量.订单状态}} == "已发货"→ 走退货流程分支 - 默认:走通用处理分支
典型串联场景
1 | 用户输入 → 意图识别节点 → 选择器节点 → 具体处理分支 |
何时使用意图识别
- 输入来源是用户自然语言(对话、提问、描述)
- 需要理解用户“想做什么”而非“给了什么数据”
- 意图类别有限但表达方式无限
- 如:客服机器人、多轮对话分流、语音助手
何时使用选择器节点
- 输入来源是结构化数据(变量、数字、状态值)
- 判断逻辑是确定性的(大于、等于、包含、非空)
- 条件来自上游处理结果而非用户原始输入
- 如:订单状态分支、金额阈值判断、权限校验、工作流状态机
选择指南(一句话)
- 输入是人话 → 用意图识别节点
- 输入是数据 → 用选择器节点
- 两者不互斥,常配合使用:意图识别先“听懂人话”,选择器再“分流处理”
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LGQ的博客!