Skip to content

输出节点

输出节点用于在流程尚未结束时向用户发送一条中间消息,例如“任务已受理”“正在分析文件”等进度提示。它支持普通输出和流式输出两种方式。

输出节点不会终止流程,也不能替代结束节点。输出节点负责过程消息,结束节点负责整条工作流的最终返回契约。

添加与配置

在节点面板的 输入&输出 分类中添加 输出 节点。工作流中主要配置输出变量、输出内容和流式开关。

输出节点及消息配置

输出变量

输出变量定义消息模板中可以使用的变量名称和类型。变量名遵循工作流通用命名规则,类型选择器支持基础类型、文件类型、对象、列表及数组类型。

工作流的输出节点使用“变量名/变量类型”定义模板变量。变量值来自工作流执行上下文;发布前应通过试运行确认变量来源和模板替换结果。

对话流的输出节点使用“参数名/参数值”方式配置输出变量,参数值可以填写固定值或引用上游变量。两种流程的面板结构不同,应按所处流程选择相应配置方式。

输出内容

输出内容是节点执行时直接发送的消息模板。当前支持三种引用形式。下列示例为避免被文档站点解析,使用全角花括号展示;在编辑器中配置时,必须换成对应的半角花括号:

  • 顶层变量:{{变量名}}
  • 对象子字段:{{变量名.子变量名}}
  • 数组元素:{{变量名[数组索引]}}

示例:任务已受理,当前状态:{{status}}

模板中的变量名必须与输出变量配置一致。修改变量名后,应同步更新输出内容中的所有引用。

流式输出

开启流式输出后,适合逐步生成的文本可以按生成进度展示;关闭时,节点会等待内容准备完成后一次性输出。

流式输出是否真正逐字显示,还取决于上游内容来源、运行入口和调用协议。结构化对象、数组或需要完整处理后才能得到的内容,不应仅依赖流式开关获得打字机效果。

工作流与对话流的配置方式

配置工作流对话流
输出变量配置变量名和类型配置参数名,以及固定值或上游变量引用
输出内容支持模板引用支持模板引用
流式输出支持支持
通话中转语音不配置支持开关
会话历史写入不配置可选择“写入”或“不写入”

对话流中的 Loading 提示、安抚语等不参与后续语义理解时,可以选择不写入会话历史,避免无关内容进入模型上下文。

示例:长任务进度提示

处理耗时文件时,可按以下方式编排:

  1. 前置节点创建或接收任务,得到任务状态;
  2. 输出节点发送“任务已受理,当前状态:处理中”;
  3. 后续节点继续执行异步任务或数据处理;
  4. 结束节点返回最终结果,或返回 taskid 和查询提示。

同一流程配置多个输出节点时,消息会随节点实际执行顺序发送。分支并发或异步执行场景下,不要只根据画布从左到右的位置推断消息先后。

使用建议

  • 只用于对用户有价值的进度、阶段性结果或交互提示,避免频繁输出噪声;
  • 输出模板应简短明确,并说明用户下一步需要等待还是继续操作;
  • 使用变量前先验证名称、类型和实际来源,避免把未替换的模板占位符原样发送;
  • 长文本可试用流式输出,结构化结果更适合在结束节点统一返回;
  • 修改模板、流式设置或会话历史策略后,应在目标运行入口完成真实试运行。

常见问题

为什么用户看到的是模板占位符,而不是变量值?

先确认变量名完全一致,并检查对应变量是否已经在执行上下文中获得实际值。通过试运行核对模板替换结果。

为什么开启流式输出后仍一次性显示?

检查上游是否真正产生流式文本、当前运行入口是否支持流式传输,以及内容是否需要完整解析后才能输出。仅开启节点开关不能把所有数据源自动改造成流。

输出节点执行后为什么流程还在继续?

这是正常行为。输出节点只发送过程消息,不负责结束流程;需要在结束节点定义最终返回。

输出消息是否应该写入会话历史?

只有对话流提供该设置。会影响后续语义理解的正式回复可写入;Loading、安抚语和纯进度提示通常可选择不写入。