如何在Dify中设计一个具备多轮对话澄清能力的精准意图识别工作流

夏明君_5642

夏明君_5642

2026-07-30

481人浏览

原创

系统需通过多轮交互实现订单查询等意图的自动澄清:先识别缺失字段并暂存会话变量,再动态生成口语化提问,捕获用户补全后自动重试识别,直至所有必填字段齐全。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何在dify中设计一个具备多轮对话澄清能力的精准意图识别工作流

当用户输入“我想查订单”却没说订单号,或“账号登不上”没提游戏名时,系统必须主动追问而非直接报错——这需要工作流能识别信息缺失、触发澄清话术、暂存已有字段、等待用户补全后再继续流程。

定义意图识别的结构化输出规范

进入Dify「工作室」→新建Chatflow应用→在首个Agent节点的「指令」页中,粘贴以下Prompt:

你是一名游戏客服意图识别专家。请严格按JSON格式输出,只包含四个字段:intent(字符串,取值为order_query、login_failure、item_missing、payment_refund之一)、entities(对象,含order_id、game_name、item_id、refund_amount等可选键)、missing_fields(字符串数组,列出当前缺失的必填字段,如["order_id"])、is_complete(布尔值,仅当所有必填字段齐全时为true)。

【missing_fields必须为空数组[]或明确列出字段名,不能写null或省略】否则后续条件分支无法正确判断是否需要澄清。

配置多轮状态保持与字段暂存

在意图识别Agent节点后,立即添加一个「变量赋值」节点:

设置session.intent = {{agent_1.output.intent}};session.missing_fields = {{agent_1.output.missing_fields}};session.entities = {{agent_1.output.entities}}。

这一步把识别结果存入会话变量,确保后续轮次能读取上一轮提取的game_name或partial order_id,避免每次重新解析。

注意:不要用普通变量(如var.xxx),会话变量(session.xxx)才能跨轮次存活。

构建澄清话术生成与条件路由

方法一:用条件分支+预设话术

拖入「条件分支」节点,设置判断条件为{{session.missing_fields.length > 0}}。

Dify Workflow DSL Expert
Dify Workflow DSL Expert

用于创建、编辑、调试或验证自托管 Dify 的工作流 DSL。首先从目标实例导出的工作流入手,进行最小化编辑。

下载

真分支接一个「文本生成」节点,Prompt写:“请用户提供{{session.missing_fields[0]}}。例如:‘我的订单号是123456’或‘我玩的是《幻界Online》’。”

假分支直接连向下一级知识检索Agent。

方法二:用独立Agent动态生成

真分支接一个新Agent节点,指令为:“你是一个客服澄清助手。已知用户意图是{{session.intent}},缺失字段是{{session.missing_fields}}。请用口语化短句向用户提问,只问一个字段,不解释原因,不带编号,结尾用句号。示例:‘方便提供一下订单号吗?’”

这一步生成的话术更自然,但需额外调试提示词避免生成冗长句子。

实现用户补全后的自动续流

第一步:在澄清回复节点后,添加「用户输入捕获」节点,勾选「等待用户下一条消息」。

第二步:该节点输出接入第二个意图分析Agent(复用同一套Prompt模板),但输入内容改为{{user_input}} + “上下文:{{session.intent}},已提供{{session.entities}},仍缺{{session.missing_fields}}。”

第三步:此Agent输出再次写入session变量,覆盖原有值。

第四步:再接一次相同条件分支,若missing_fields为空则走正向流程,否则循环澄清。

这四步构成闭环,用户补全任意字段后,系统自动重试识别,无需人工干预或重启对话。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

dify

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Dify 本地部署与企业配置
Dify 本地部署与企业配置

本专题系统讲解 Dify 从零开始的本地部署方法与企业环境配置实践,涵盖 Docker 安装、依赖准备、数据库初始化、反向代理、参数调优、安全加固与多用户开通,帮助开发者与企业团队快速搭建稳定可用的 Dify 平台。

2026.06.05

597

15

Dify Agent智能体开发实战教程
Dify Agent智能体开发实战教程

本专题聚焦 Dify Agent 智能体的设计与开发,涵盖 Agent 模式选择、工具集成、提示词设计、多步推理、上下文记忆与多 Agent 协作,帮助开发者构建可执行复杂业务任务的智能体应用。

2026.06.05

245

15

Dify RAG知识库构建实战教程
Dify RAG知识库构建实战教程

本专题围绕 Dify RAG 知识库的全流程实践展开,从文档导入、分段切片、向量化到混合检索、重排优化与召回评估,帮助你打造高准确率、低幻觉的企业知识问答应用。

2026.06.05

216

15

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

0

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

80

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

100

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Dify零基础教程
Dify零基础教程

共0课时 | 148人学习

学习Agent,从Dify开始
学习Agent,从Dify开始

共0课时 | 142人学习

Dify 部署与运维指南
Dify 部署与运维指南

共0课时 | 0人学习