# 意图识别节点 低代码工作流中的意图识别节点能够让智能体识别用户输入的意图,并将不同的意图流转至工作流不同的分支处理,提高用户体验,增强智能体的落地效果。 ## 节点说明 意图识别(Intent Recognition)指的是让智能体理解用户通过自然语言表达的意图或目的。意图识别是智能助手的典型能力,例如用户在对话中输入“我想查看今天的 AI 新闻”,其中“查看新闻”为用户意图,也就是用户希望智能体执行的操作。扣子编程的低代码工作流支持意图识别节点对用户意图进行归类,无需再通过大模型节点配合选择器节点实现意图识别,使工作流运行更加高效。 意图识别节点可用于以下场景: * 客户服务:识别用户问题的类型,并转交各类知识库处理,对于知识库中未匹配的问题,转交人工客服处理。 * 医疗咨询:对用户咨询的医学问题进行归类,非医学问题的咨询则拒绝回复。 * 综合类智能体:对于功能多样的智能体,可以先由意图识别节点对用户咨询进行初步分类,转交各个 Agent 分支处理。 意图识别节点支持极速模式或完整模式运行。 * 极速模式:以较快的速度对用户意图进行分类,适用于关注工作流运行效率的场景。极速模式不支持设置**系统提示词**。 * 完整模式:意图识别效果优先,响应速度可能较长,适用于需要复杂逻辑判断的场景,例如剧情类游戏中根据情节发展切换剧情。完整模式往往需要选择意图识别能力较强的模型,并配合细致、严谨的提示词。 ## 极速模式 极速模式下,意图识别节点配置如下: | **配置项** | **说明** | | --- | --- | | 模型 | 选择执行意图识别的大模型,支持设置模型在此节点中的**生成多样性**、**输入及输出设置**等参数配置,使模型效果更符合你的预期。 | | 输入 | 指定需要做意图识别判断的内容。输入参数默认为 query,可引用前置节点的输出参数,或输入指定内容。该参数通常引用开始节点中的用户输入。
在对话流中,意图识别节点支持开启智能体对话历史,并设置会话轮数:

* **对话历史**:开启后模型在识别意图时会参考上下文信息,进行综合判断。
* **会话轮数**:设置带入模型上下文的对话历史轮数。轮数越多,多轮对话的相关性越高,但消耗的 Token 也越多。 | | 意图匹配 | 用户意图的分类选项,支持设置多个分类,极速模式下最多可设置 10 个意图。对于匹配到这些分类的意图,处理流程会流转到对应的后续节点,若意图未匹配到此处定义的任何分类,则流转到兜底策略。
极速模式下不支持配置**系统提示词**,来指定模型分类的提示词,请确保你配置的各个意图名称之间应有明确的区分度,减少交叉语义,以便模型正确分类。 | | 输出 | 节点的输出参数,可作为变量被后续节点引用。
输出参数固定为:

* classificationId:每个意图的 ID。根据意图匹配中配置的意图,从上到下依次排序,第一个意图的 ID 为 1。若未命中已配置的任何意图,则 ID 为 0,执行**其他**分支。
* reason:分类的原因和依据,由模型自动生成。 | 对话流中的意图识别节点极速模式配置示例如下: ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/a0f8d1bef75641bdb68a3a3faadddf76~tplv-goo7wpa0wc-image.image) ## 完整模式 完整模式下,意图识别节点配置如下: | **配置项** | **说明** | | --- | --- | | 模型 | 选择执行意图识别的大模型,支持设置模型在此节点中的**生成多样性**、**输入及输出设置**等参数配置,使模型效果更符合你的预期。 | | 输入 | 指定需要做意图识别判断的内容。输入参数默认为 query,可引用前置节点的输出参数,或输入指定内容。该参数通常引用开始节点中的用户输入。
在对话流中,意图识别节点支持开启智能体对话历史,并设置会话轮数:

* **对话历史**:开启后模型在识别意图时会参考上下文信息,进行综合判断。
* **会话轮数**:设置带入模型上下文的对话历史轮数。轮数越多,多轮对话的相关性越高,但消耗的 Token 也越多。 | | 意图匹配 | 用户意图的分类选项,支持设置多个分类,完整模式下最多可设置 50 个意图。对于匹配到这些分类的意图,处理流程会流转到对应的后续节点,若意图未匹配到此处定义的任何分类,则流转到兜底策略。 | | 系统提示词 | 追加的系统提示词。扣子编程已指定一系列提示词,用于指导大模型合理识别用户意图并分类,你也可以追加提示词、提供各个分类的用户输入示例,使模型分类更精准。 | | 输出 | 节点的输出参数,可作为变量被后续节点引用。
输出参数固定为:

* classificationId:每个意图的 ID。根据意图匹配中配置的意图,从上到下依次排序,第一个意图的 ID 为 1。若未命中已配置的任何意图,则 ID 为 0,执行**其他**分支。
* reason:分类的原因和依据,由模型自动生成。 | 对话流中的意图识别节点完整模式配置示例如下: ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/a7e9e64d7a0946fd99567b67b880a54e~tplv-goo7wpa0wc-image.image) 配置完成后,将意图识别节点与其他节点连接,形成完整的调用链路。 * 意图识别节点的每个意图分类,都需要与后续的处理节点相连接,否则意图命中此分类时无法触发后续的处理流程。例如在客服智能体中,产品咨询的分类可以流转至产品咨询知识库节点处理。 * 推荐为意图识别节点设置兜底策略,若意图未匹配到此处定义的任何分类,则流转到兜底策略处理。 ## 异常处理 默认情况下,节点运行超时、运行异常时,工作流会中断,工作流调试界面或 API 中会返回错误信息。你也可以手动设置节点运行超时等异常情况下的处理方式,例如超时时间、是否重试、是否跳转异常分支等。 | **异常处理设置** | **说明** | | --- | --- | | 超时时间 | 超时时间指节点运行的最大耗时,如果超过此时长,则判断为节点运行超时。
默认情况下,节点的超时时间默认为 60s,即 1 分钟。你也可以将其改为 0.1s~60s,灵活控制超时时间。 | | 重试次数 | 节点运行超时或异常时,默认不重试,你也可以设置为重试 1 次。 | | 异常处理方式 | 节点运行超时或异常时,默认中断工作流。你也可以手动修改此节点的异常处理方式:

* **中断流程**:工作流执行中断,不再运行后续节点。
* **返回设定内容**:发生异常后,工作流运行不会中断。开发者可自定义设置需要返回的输出字段内容,必须是输出中已定义的字段,且格式为合法的 JSON 格式。另外,节点还会返回输出参数 `isSuccess`、`errorBody`,传递节点异常的详细信息。
* **执行异常流程**:发生异常后,工作流运行不会中断,转而执行异常流程分析,开发者需要为新增的异常分支配置处理流程。异常信息会通过节点的输出参数 `isSuccess`、`errorBody` 返回。 | ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/29a3611502344180aed9eaf50fe9e2a7~tplv-goo7wpa0wc-image.image) ## 示例 以客户服务类型的工作流为例,通过意图识别节点对用户问题进行归类,并流转至不同知识库处理,对于非售前或售后的咨询,统一转交人工处理。 核心节点如下: * 意图识别节点:将用户问题分为售前咨询或售后问题,每个分类提供典型示例作为分类的依据,帮助模型更精准地识别用户意图。 * 知识库节点:售前和售后问题分别流转到售前知识库和售后知识库处理,并直接输入给结束节点。你也可以按需在知识库节点之后增加一个大模型节点,用于处理未命中知识库的问题。 * 文本处理节点:意图识别的兜底策略,对于未命中任何分类的意图,统一输出一段文案,指导用户提交工单或联系人工客服。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/18f085a3e5bd4a13baf6162442023d67~tplv-goo7wpa0wc-image.image) ## 常见问题 ### 意图分类不准确应如何处理? 意图识别的准确性受多个因素影响,例如模型性能、分类配置、提示词等。如果发现意图分类不符合预期,你可以参考以下建议提升意图识别节点分类的准确性: * 调整分类:确保意图分类简洁明了,避免模糊不清或容易混淆的语义。分类之间应有明确的区分度,减少交叉语义,以降低分类混淆的可能性。例如,应避免“动物”和“动植物”这样的分类重叠。 * 选择**完整模式**:完整模式下可以设置提示词,提升意图分类效果。 * 填写**系统提示词**:提供具体的用户输入示例,帮助模型更准确地理解并执行分类任务。 * 切换模型:即使在分类和系统提示词都已优化的情况下,意图识别的准确性仍然不理想,建议尝试切换不同的模型,以找到最适合你需求的模型。