Skip to content

变量聚合节点 ​

变量聚合节点用于汇合多条分支中语义相同、类型兼容的结果。下游节点只需引用聚合后的字段,无需分别处理每条分支的输出。

它尤其适合选择器、意图识别等分支场景:一次执行通常只会产生其中一条分支的结果,变量聚合节点会按配置顺序选出可用值,供后续节点继续使用。

聚合策略 ​

当前可用的聚合策略为 返回每个分组中第一个非空值。节点按照分组内变量的顺序检查,选择第一个非空值作为该组输出;其他位置的变量不再参与该组结果。

空字符串和空数组会继续向后查找;空对象会作为有效值保留。请根据业务含义安排变量顺序,将优先结果放在前面、固定兜底值放在最后。

聚合分组 ​

节点默认创建 Group1 分组;每个分组生成一个同名只读输出字段。配置要求:

  • 分组名不能为空、不能重复,当前最多 20 个字符;
  • 每个分组至少包含一个变量;
  • 同一分组内变量类型必须一致;
  • 当前实现最多支持 50 个分组,每组最多 50 个变量。

变量可以引用开始节点变量、上游节点输出、应用变量或智能体变量,也可以填写固定值。变量顺序决定优先级,支持拖动已配置变量调整顺序。

输出 ​

输出字段由聚合分组自动生成,字段名称和类型分别取分组名及组内变量类型,不能在“输出”区域单独编辑。若组内所有变量都没有可用值,本次执行结果不会写入该字段;下游使用前应提供默认值或先进行条件判断。

变量聚合节点配置面板

示例 ​

订单查询可能走缓存、主数据库和备用接口三个分支。可在三个分支后接入变量聚合节点,创建 orderResult 分组,并依次加入:

  1. 缓存查询结果;
  2. 主数据库结果;
  3. 备用接口结果。

节点返回第一个可用结果,下游只需引用 orderResult。

典型分支汇合时,需要把各分支的连线都连接到变量聚合节点,再把语义相同的输出放入同一分组。例如选择器的三个分支都生成 answer,可将三个 answer 依次加入一个分组,下游只引用该分组输出。

常见问题 ​

为什么不能把两个变量放进同一组? ​

检查类型是否一致。String、Object、Array<Object> 等不同类型不能放在同一聚合分组。

为什么输出为空? ​

确认实际执行的分支是否产生了值。空字符串和空数组会被继续跳过;空对象会被当作有效结果选中,因此不适合作为“无结果”的占位值。

为什么修改分组名后下游引用失效? ​

分组名就是输出字段名。重命名会同步改变节点输出定义,因此需要重新检查所有下游节点对旧字段名的引用。

如何设置固定兜底值? ​

在同一分组最后新增一个与该组类型一致的固定值。仅当前面的分支结果都为空时,节点才会返回这个兜底值。