对话型工作流
对话型工作流是一款支持多轮交互、流程分支、节点跳转与业务逻辑编排的对话式应用,可实现复杂业务流程自动化办理、多场景任务引导式执行,适用于政务办理、业务申报、工单处理、智能办理助手等强流程化场景。
本章将从零开始,构建一个知识库问答助手:能够根据输入问题去检索知识库文档,召回最匹配的段落,最终给出精准回复。
创建应用
进入 AIGC 应用/应用中心,点击「创建应用」按钮,应用类型选择对话型业务流,填写应用名称,点击「保存创建」按钮。

画布节点
创建完成后,系统自动跳转至对话型工作流的画布页,默认有开始节点-模型节点-结束节点。需要按照需求在左侧拖拽节点或者在画布的节点后点击添加,选择需要的节点连接。

步骤一:配置开始节点
开始节点是工作流的入口,负责接收用户输入并注入系统变量。
点击画布中的开始节点,在右侧配置面板中可以看到两部分内容:
输入字段(可选)
如需在对话开始前收集额外信息,可在此添加输入字段。本次可以无需额外配置,保持默认即可。
系统变量
开始节点自动注入以下系统变量,后续所有节点均可直接引用,无需手动配置:
| 变量名 | 数据类型 | 说明 |
|---|---|---|
sys.query | String | 用户当前轮次输入的文本内容 |
sys.files | Array[File] | 用户当前轮次上传的文件列表 |
sys.conversation_id | String | 当前会话的唯一标识,同一会话内保持不变 |
sys.user_id | String | 当前使用应用的用户唯一标识 |
步骤二:添加知识库节点
在开始节点后添加知识库节点,从私域知识库中检索与用户问题相关的文本段落:
- 在开始节点后点击 + 号,选择「知识库」节点
- 查询变量:选择
sys.query(用户当前输入) - 选择知识库:从下拉列表中选择已创建的私域知识库(需提前在私域知识库页面创建并完成权限分配)
- 召回策略:保持默认多路召回,按需调整以下参数:
| 配置项 | 建议值 | 说明 |
|---|---|---|
| Top K | 3 | 返回相关度最高的前 3 个文本分段 |
| 分数阈值 | 0.5 | 过滤相似度低于该值的召回结果 |
- 将知识库节点的输出连接至下游模型节点
知识库节点的输出变量为
result,包含从知识库中检索到的相关文本分段列表,需在下游模型节点的上下文中关联引用。
步骤三:添加模型节点
在知识库节点后添加模型节点,基于检索结果生成回复:
- 选择模型:选择适合问答的模型,如:gpt-5-chat
- 上下文:将知识库节点的
result变量关联至上下文 - 系统提示词示例:
作为gpt-5-chat,你需要提供专业、严谨且详细的回应。请遵循以下规范:
1. 内容要求:
- 基于事实和专业知识,确保信息准确无误
- 逻辑清晰,层次分明,使用适当的结构组织内容
- 对复杂概念进行必要解释,保持专业性的同时兼顾易懂性
2. 代码呈现:
- 所有代码必须放在代码块中,使用```+编程语言名称开头,```结尾
- 代码应完整可运行,包含必要注释
- 复杂代码需提供简要说明其功能和实现思路
3. 回应风格:
- 回复内容要思路清晰,内容丰富,但是要避免冗余表述
- 客观中立,基于问题本身提供解决方案
- 针对技术问题,优先提供可验证的方法和步骤
4. 回复要求:
- 需要严格参考知识库内容回复
- 知识库内容:【上下文】
- 如果用户问的问题知识库中不存在则提示:此问题不在我的回复范围内
请根据上述要求,对我的问题提供高质量回应。步骤四:添加直接回复节点
在每个模型节点后添加直接回复节点,将模型输出流式返回给用户:
- 在模型节点后点击 +,选择「直接回复」
- 在文本编辑器中插入上游模型节点的输出变量,例如
{#模型节点.text#} - 直接回复节点支持图文混排,可在固定文本中穿插变量
直接回复节点可作为中间节点,在流程执行过程中分阶段输出内容,无需等待整个流程结束。
步骤五:调试与发布
调试
点击画布右上角「调试」按钮,在右侧调试面板中输入测试问题,观察流程是否按预期执行:
- 每个节点执行后会展示输入/输出详情,便于排查问题
- 若知识库未召回相关内容,检查知识库是否已完成文档导入和向量化
- 若模型回复不准确,调整提示词中的上下文引用位置

发布
调试通过后,点击右上角「发布」按钮,选择发布选项(发布更新、运行)
完整流程示意
开始节点(sys.query)
↓
知识库节点(检索相关文本分段 → result)
↓
模型节点(上下文引用 result,生成回复)
↓
直接回复节点(流式输出模型回复)
↓
结束节点会话变量功能
对话型工作流支持通过变量赋值节点将信息写入会话变量,实现跨轮次状态持久化。
例如,记录用户在第一轮对话中设置的语言偏好,后续所有轮次均自动沿用:
- 在开始节点的「会话变量」中创建变量
language(String 类型,默认值为空) - 使用参数提炼节点从用户输入中提取语言偏好值
- 通过变量赋值节点将提取结果写入
language(赋值方式:覆盖) - 在模型节点的系统提示词中引用该变量
会话变量的值在整个对话生命周期内持久存在,不会因单轮对话结束而清除。
运行历史
对话型工作流天然支持多轮对话,每一轮用户输入都会触发完整的工作流执行。平台会自动保存每次对话的历史记录,您可以在应用右上角的运行历史图标,点击查看所有历史会话,包括:
- 每轮用户输入与模型回复内容
- 各节点的执行详情与耗时
- 知识库召回的文本分段来源

历史记录可用于分析用户行为、优化提示词和召回策略,持续提升应用回复质量。