等待节点
什么是等待节点?
等待节点是工作流中的一个暂停点,用于等待用户回复消息后再继续执行流程。就像在对话中提问后等待对方回答一样,等待节点会暂停工作流的执行,直到收到用户的新消息或超过设定的等待时间。这使您可以设计多轮交互式的对话流程,实现更复杂的人机交互场景。
图片说明:
等待节点界面主要包含三个部分:顶部显示"等待"标题,说明当前节点正在等待用户回复消息;中间部分展示了系统将获取的输出数据,包括会话 ID、话题 ID、消息内容等信息;底部区域包含超时放弃等待的设置选项,您可以启用并设定等待超时的时间。
为什么需要等待节点?
在构建交互式工作流时,等待节点解决了以下关键问题:
- 创建多轮对话:等待节点允许您设计需要多次用户输入的对话流程,使对话更加自然和连贯。
- 收集用户确认或补充信息:当流程需要用户确认操作或提供额外信息时,等待节点可以暂停流程并等待用户响应。
- 控制会话流程:等待节点让您能够精确控制对话的节奏和流程,避免机器人连续发送多条消息导致用户体验不佳。
- 处理超时情况:通过超时设置,您可以处理用户长时间不回复的情况,确保流程不会无限期地等待。
适用场景
1. 表单填写
引导用户逐步完成表单填写,每个等待节点对应一个表单字段的输入,系统可以在用户输入后进行验证并引导下一步。
2. 多步骤确认流程
在执行重要操作前,使用等待节点设计多步骤的确认流程,确保用户理解并同意操作的后果。
3. 信息收集与澄清
当用户的初始提问不够明确时,使用等待节点请求用户提供更多细节或澄清信息,然后基于完整信息给出更准确的回答。
节点参数说明
输入说明
等待节点没有特殊的输入参数,它主要关注从下一条用户消息中获取信息。
输出参数
等待用户回复后,节点将输出以下参数:
参数名称 | 描述 | 数据类型 | 使用说明 |
---|---|---|---|
会话 ID | 用户与 AI 助理交互的唯一会话标识 | 字符串 | 用于关联对话上下文 |
话题 ID | 当前对话的主题标识 | 字符串 | 用于区分同一会话中的不同主题 |
消息内容 | 用户发送的文本消息 | 字符串 | 工作流处理的主要内容 |
消息类型 | 消息的类型标识 | 字符串 | 如 text(文本)、image(图片)等 |
发送时间 | 消息的发送时间戳 | 字符串 | 记录消息的时间信息 |
组织编码 | 当前用户所属组织的编码 | 字符串 | 用于组织级别的功能和权限管理 |
文件列表(files) | 文件列表信息和基础标识 | 对象数组 | |
用户(user) | 用户的基础信息 | 对象 |
文件列表参数
当用户回复中包含文件时,可以获取文件的相关信息:
参数名称 | 描述 | 数据类型 | 使用说明 |
---|---|---|---|
文件名称 | 上传文件的原始名称 | 字符串 | 用于展示和处理文件 |
文件链接 | 文件访问的 URL 地址 | 字符串 | 用于下载或访问文件内容 |
文件扩展名 | 文件的格式后缀 | 字符串 | 如 pdf、docx、xlsx 等 |
文件大小 | 文件的字节大小 | 数字 | 用于文件处理控制 |
用户信息参数
系统提供的当前交互用户的基本信息:
参数名称 | 描述 | 数据类型 | 使用说明 |
---|---|---|---|
用户 ID | 用户的唯一标识 | 字符串 | 用于用户识别和数据关联 |
用户昵称 | 用户的显示名称 | 字符串 | 用于个性化交互 |
真实姓名 | 用户的实际姓名 | 字符串 | 用于正式场合的称呼 |
超时设置参数
用于控制等待的最长时间:
参数名称 | 描述 | 数据类型 | 使用说明 |
---|---|---|---|
启用超时 | 是否启用超时功能 | 布尔值 | 开启后,超过设定时间将自动结束等待 |
超时时间 | 等待的最长时间 | 数字 | 设置具体的时间数值 |
时间单位 | 超时时间的单位 | 字符串 | 可选择秒、分钟或小时 |
使用说明
基本配置步骤
- 添加等待节点:
- 从节点面板中拖拽"等待"节点到画布上
- 将其连接到前一个节点(通常是消息回复节点)
- 设置超时选项(可选):
- 启用"超时放弃等待"选项
- 设置超时时间(例如,10)
- 选择时间单位(例如,分钟)
- 连接后续节点:
- 从等待节点拖出连接线到下一个处理节点
- 确保工作流有明确的用户回复后的处理路径
- 配置超时分支(如果启用了超时):
- 为超时情况创建独立的处理分支
- 或者简单地在超时情况下结束流程
高级技巧
使用变量保存等待节点输出
- 添加变量保存节点:在等待节点后添加变量保存节点
- 保存用户回复:将等待节点的"消息内容"保存为变量
- 引用保存的变量:在后续节点中引用此变量处理用户回复
设计不同的超时处理策略
- 友好提醒:超时后发送提醒消息,然后结束流程
- 默认值处理:超时后使用默认值继续流程
- 重新询问:超时后重新提问,给用户第二次机会
注意事项
清晰的提示信息
- 具体指示:在等待节点前的消息回复中,清楚告诉用户需要提供什么信息
- 格式要求:如果对用户回复有特定格式要求,请明确说明
- 预期回复类型:明确告知用户是需要回复文本、选项还是上传文件
合理的超时设置
- 基于问题复杂度:复杂问题需要更长的等待时间
- 考虑用户场景:了解用户环境,移动用户可能需要更长的响应时间
- 避免过短超时:过短的超时可能导致用户还未来得及回复就已超时
处理意外输入
- 输入验证:在等待节点后添加条件节点验证用户输入是否符合预期
- 错误处理:对于意外输入提供清晰的错误消息,并可能请求重新输入
- 兼容多种表达:考虑用户可能用不同方式表达相同含义的情况
常见问题
如何判断用户回复是否为有效内容?
- 使用条件分支节点:在等待节点后添加条件分支节点
- 设置验证条件:如检查消息内容是否为空、是否包含特定关键词等
- 分开处理:通过不同的分支处理有效和无效的回复
等待节点后收到文件而非文本怎么办?
- 检查消息类型:使用条件分支节点检查"消息类型"参数
- 文件处理路径:当消息类型为文件时,走专门的处理分支
- 文件验证:检查文件扩展名、大小等是否符合预期
- 提示重新上传:如果文件不符合要求,引导用户重新上传
如何处理多条用户回复?
等待节点只会捕获并处理用户的第一条回复消息。要处理多条回复:
- 链接多个等待节点:设计多个连续的等待节点,每个处理一条回复
- 使用历史消息查询:需要时查询用户历史消息获取多条回复
- 明确引导:在流程中明确告知用户需要在单条消息中提供所有信息
常见配对节点
节点类型 | 配对原因 |
---|---|
消息回复节点 | 在等待前发送提示信息,告知用户需要提供什么 |
条件分支节点 | 处理用户回复,判断是否符合预期 |
大模型调用节点 | 分析用户回复内容,生成相应回复 |
变量保存节点 | 保存用户回复,用于后续流程使用 |