Dify的基础工作流当流程变得复杂时,节点之间的连接线会像“乱麻”一样。这时候,变量聚合器(Variable Aggregator) 就是你的“整理收纳盒”。
一. 什么是变量聚合器?
简单来说,变量聚合器就是一个**“多选一”**的开关。
在复杂的自动化流程中,你可能会有多个分支(比如:分支 A 处理正式文案,分支 B 处理幽默文案)。但后续的节点(比如“发送邮件”)通常只需要一个输入。
变量聚合器的作用: 无论前面的流程走了哪条路,它都能把最终的结果“收集”起来,转换成一个统一的变量名,传给下游节点。
二. 参数设置详解
当你添加一个“变量聚合器”节点时,你会看到以下核心参数:

2.1 变量赋值 (Variable Assignment)
这是图片中最核心的部分,你添加了三个来源:HTTP Request、HTTP Request 2 和 HTTP Request 3 的 body 变量。
- 逻辑本质: 这里体现的是 “取第一个非空值” 的原则。
- 它是怎么运行的:
- 在工作流运行时,Dify 会从上到下依次检查这些变量。
- 如果
HTTP Request成功运行并返回了内容,聚合器就会抓住它,并忽略后面的 Request 2 和 3。 - 如果流程走了另一条分支,导致
HTTP Request被跳过(值为 null),聚合器就会去尝试抓取HTTP Request 2的内容。
- 右侧的
STRING: 表示这个聚合器输出的数据类型是字符串。聚合在一起的变量必须类型兼容。 - 注意: 虽然你可以选很多个,但逻辑上它们通常是“互斥”的。
- 场景: 如果你有一个条件分支(IF/ELSE),分支 1 输出
text1,分支 2 输出text2。你应该把这两个都加进输入列表。
2.2 聚合分组 (Group Aggregation)
- 关闭状态(默认): 行为是 “覆盖/选择”。即从几个候选项里挑出一个有值的输出。适用于 IF/ELSE 分支合并。
- 开启状态: 行为会变为 “数组化”。它不再是多选一,而是把所有输入的对象打包成一个列表(Array)。
- 场景举例: 如果你同时运行了三个 HTTP 请求,想把它们的结果汇总成一个列表交给 LLM 去总结,就需要打开这个开关。
三. 注意事项
- 类型要统一: 聚合在一起的变量,最好类型一致(比如都是字符串)。如果你把一个“图片”变量和一个“文本”变量聚合在一起,下游节点可能会报错。
- 它是“覆盖”逻辑: 聚合器会寻找最后一个有效(非空)的输入值。如果你的流程中两个分支都运行了(虽然很少见),后到的值可能会覆盖前面的。
- 不必强求: 如果你的流程很简单,只有一条直线,那完全不需要用到它。只有在出现分支合并时,它才是神技。
© 文章版权归白小菌所有,🫰欢迎转发分享。未经允许请勿抄袭转载。








