```mdx
---
title: "变量聚合器"
description: "将不同工作流分支的变量合并为统一的输出"
icon: "merge"
---

变量聚合器节点将不同执行路径的变量组合为一个统一的输出。当多个分支产生相似的输出时，此节点通过创建一个一致的变量引用，消除了重复下游处理的需要。

## 分支问题

条件工作流创建了并行执行路径，其中一次仅运行一个分支。如果没有聚合，你需要为每个可能的分支结果创建重复的下游节点，从而创建复杂且维护繁重的工作流。

变量聚合器作为一个合并点，将分支输出收集为一个单一的变量，无论哪个分支实际执行，下游节点都可以一致地引用这个变量。

## 分类工作流示例

当用户输入被分类且每个类别需要不同的知识检索时，变量聚合器将结果合并：

**无聚合** - 复杂的工作流需要重复的大型语言模型节点：

<Frame caption="没有变量聚合的复杂工作流">
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/7a7c91663c3799ce9d056b013d5df29c.png" alt="没有变量聚合的问题分类" />
</Frame>

**有聚合** - 使用变量聚合的简化工作流：

<Frame caption="使用变量聚合的简化工作流">
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/2b1694936fdab4843f5edc3f2fd1e79a.png" alt="问题分类后的多分支聚合" />
</Frame>

聚合后的工作流使用一个大型语言模型节点，而不是为每个分类分支重复它，从而显著减少复杂性，同时保持相同的功能。

## 条件处理示例

类似的好处也适用于产生相似输出的 If-Else 分支：

<Frame caption="条件分支后的变量聚合">
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/ff0e5774a3eccc8a04c310ab9bae25e7.png" alt="条件分支后的多分支聚合" />
</Frame>

## 配置

### 变量选择

连接您想要合并的不同工作流分支中的变量。每个连接的变量都会成为聚合输出的潜在输入。

### 类型约束

**同类型规则** - 所有聚合的变量必须是相同的数据类型。一旦连接第一个变量（例如，字符串），节点只接受来自其他分支的相同类型的变量。

**支持的类型：**
- **字符串** - 来自不同处理分支的文本输出
- **数字** - 数值计算、分数或测量值
- **对象** - 具有相似模式的结构化数据对象
- **数组** - 列表、集合或多个结果

### 输出行为

变量聚合器输出来自实际执行的分支的值。由于在条件工作流中只有一个分支运行，因此在执行期间只有一个输入变量将有值。

## 高级功能

### 多个聚合组

高级工作流（v0.6.10+）可以同时聚合多个变量组。每个组保持自己的类型约束，允许您在同一个节点内并行聚合不同的数据类型。

当分支产生多个相关输出需要分别合并时，这很有用 - 例如，聚合来自不同处理路径的文本摘要和数值分数。

## 常见用例

**多类别处理** - 不同内容类型需要专门处理，但产生相似的输出以供通用下游逻辑使用。

**条件数据源** - 不同条件触发不同的知识检索或 API 调用，但所有结果都需要相同的最终处理。

**分支结果合并** - 复杂的分支逻辑产生各种输出，最终需要统一处理。

**错误处理** - 主处理和回退分支产生不同但兼容的结果，下游节点可以一致地处理这些结果。

## 最佳实践

**规划数据类型** - 确保所有分支在连接到变量聚合器之前产生兼容的数据类型。

**一致的输出结构** - 聚合对象或数组时，保持所有分支的结构一致，以便下游处理可预测。

**使用描述性名称** - 清晰命名聚合变量，以指示它们包含来自多个可能来源的结果。

**测试所有分支** - 验证每个可能的执行路径产生的有效输出在聚合时正常工作。
```