
# 变量聚合
变量聚合节点将多个分支的输出变量**汇聚为一个统一变量** ，供下游节点引用。它的核心能力是：从多个分支的输出中，按照用户指定的优先级顺序，**返回第一个非空值**。
#### 配置变量聚合节点
配置变量聚合节点时，需要选择聚合策略和聚合变量，并按需设置聚合分组。
**聚合策略：**
通过指定策略对每个分组中的所有变量进行聚合处理，同一组内的变量实施相对应的聚合策略。
目前聚合策略仅支持设置为"返回每个分组中第一个非空值"，分组内变量的排列顺序决定了非空值的检查优先级，支持拖动变量、调整变量位置，排在最上方的变量优先级最高。
例如，如[图1]所示，Group1组内按顺序设置三个变量output1、output2和output3，将其聚合为一个变量Group1，如果output1不为空，则用output1的值为Group1赋值；如果output1为空，则取output2的值，依次类推。
图1配置示例   
![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002569425095.png)
**聚合变量：**
在聚合分组中选择需要聚合的变量，**同一分组内的所有变量必须是相同的数据类型。**
例如将多个String类型的变量聚合为一个String变量、将多个Integer类型的变量聚合为一个Integer变量，如[图2]所示。
图2配置示例   
![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002538545352.png)
**聚合分组：**
默认一个分组Group1。如需聚合多个不同用途/类型的变量，单击添加按钮创建新分组。
默认只有一个分组Group1，对应一个输出变量Group1。分组中所有变量类型相同。如果需要输出多个变量，可以添加多个分组，依次递增为Group2、Group3等。
**输出参数：**
输出参数固定为Group1，是分组Group1聚合的返回结果，具体的值取决于聚合策略。如果有多个分组则根据分组数量递增为Group2、Group3等。
输出参数的数据类型与对应分组内变量类型一致。
#### 相关操作
- 单击节点名称，可修改节点名称。
- 单击![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002538385040.png)图标，可对节点进行重命名、复制或删除；也可以将节点连接到结束节点。
- 单击名称下面的节点说明，可修改节点的描述信息。
- 单击![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002538385044.png)图标，可查看文档信息。
 
#### 示例
以多语言翻译助手为例，开始节点接收用户需要翻译的文本以及用户指定的目标语言（英文，日文，韩文），判断节点根据目标语言判断翻译方向，并流转至不同语言的翻译分支，例如日文翻译流转给"翻译为日文"分支的大模型来翻译。三个分支均汇总到变量聚合节点，汇总为1个参数，即需要翻译的文本Group1，并传递到结束节点展示给用户。
图3工作流   
![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002538545340.png)
工作流核心节点如[表1]所示。
 表1节点配置说明 
| 节点类型        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 示例                                                                                                 |
|:---|:---|:---|
| 开始节点        | 添加一个必选的输入参数，即用户需要翻译成的目标语言。 - 参数名称：target_lang  - 参数类型：String  - 描述：用于接收用户指定的目标语言（如需翻译为英文，请输入en；如需翻译为日文，请输入ja，如需翻译为韩文，请输入ko）  - 必填：勾选。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |  ![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002538385396.png) |
| 判断节点        | 此节点用于根据用户在开始节点输入的target_lang的值判断翻译方向。 由于有英文、日文和韩文三个分支方向，因此单击"添加分支"，将判断节点确定为：**IF** 、**ELSE IF 1** 和**ELSE**分支。 - **IF**分支：开始节点的target_lang的值=en  - **ELSE IF 1**分支：开始节点的target_lang的值=ja  - **ELSE**分支：默认为开始节点的target_lang的值为ko                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |  ![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002569345099.png) |
| 大模型节点-翻译为英文 | 此节点将用户输入的文本翻译为英文。 - **模型配置**：选择Kimi-K2模型。  - **输入参数：** - query：引用开始节点的query。  - target_lang：引用开始节点的target_lang。    - **输出参数：** 将大模型翻译后的内容，在输出参数中定义，并在描述中说明该参数的字段含义，便于大模型理解。 定义内容如下： translate_to_en：类型为"String"，描述为英文翻译结果。   - **提示词配置：** - 系统提示词：定义一段系统提示词，如下所示： ``` 你是一个专业的翻译助手，请将以下内容准确地翻译成{{target_lang}}。 文本为：{{query}} 仅输出翻译结果，不要包含任何其他解释。 ```   - 用户提示词：引用当前的输入参数query，即引用用户的原始输入。 ``` {{query}} ```                              | ![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002538545362.png)        |
| 大模型节点-翻译为日文 | 此节点将用户输入的文本翻译为日文。 - **模型配置**：选择Kimi-K2模型。  - **输入参数：** - query：引用开始节点的query。  - target_lang：引用开始节点的target_lang。    - **输出参数：** 将大模型翻译后的内容，在输出参数中定义，并在描述中说明该参数的字段含义，便于大模型理解。 定义内容如下： translate_to_ja：类型为"String"，描述为日文翻译结果。   - **提示词配置：** - 系统提示词：定义一段系统提示词，如下所示： ``` 你是一个专业的翻译助手，请将以下内容准确地翻译成{{target_lang}}。 文本为：{{query}} 仅输出翻译结果，不要包含任何其他解释。 ```   - 用户提示词：引用当前的输入参数query，即引用用户的原始输入。 ``` {{query}} ```                    | ![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002538545356.png)        |
| 大模型节点-翻译为韩文 | 此节点将用户输入的文本翻译为韩文。 - **模型配置**：选择Kimi-K2模型。  - **输入参数：** - query：引用开始节点的query。  - target_lang：引用开始节点的target_lang。    - **输出参数：** 将大模型翻译后的内容，在输出参数中定义，并在描述中说明该参数的字段含义，便于大模型理解。 定义内容如下： translate_to_ko：类型为"String"，描述为韩文翻译结果。   - **提示词配置：** - 系统提示词：定义一段系统提示词，如下所示： ``` 你是一个专业的翻译助手，请将以下内容准确地翻译成{{target_lang}}。 文本为：{{query}} 仅输出翻译结果，不要包含任何其他解释。 ```   - 用户提示词：引用当前的输入参数query，即引用用户的原始输入。 ``` {{query}} ```      | ![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002538385412.png)        |
| 变量聚合节点      | 此节点将三个翻译分支的输出参数汇总为统一的一个参数，即需要翻译的文本Group1，供下游节点引用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002569345107.png)        |
| 结束节点        | 此节点用于输出翻译后的内容。 **输入参数：** result：引用变量聚合节点的group1。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | ![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002569345125.png)        |
   
在试运行配置界面输入翻译的目标语言，例如"en"，工作流运行的效果如[图4]所示；在试运行配置界面输入翻译的目标语言为"ja"，工作流运行效果如[图5]所示。
图4效果示例（翻译为英文）   
![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002569425087.png)
图5效果示例（翻译为日文）   
![](https://support.huaweicloud.com/usermanual-agentarts0/zh-cn_image_0000002538545346.png)
#### 常见问题
- **为什么聚合结果为空？**
  所有分支的输出变量均为空，聚合节点无法找到非空值。解决方法如下：
  1. 检查各分支是否正确配置了输出变量。
  
  2. 检查条件分支逻辑，确保至少有一条分支会执行。
  
  3. 考虑添加一个"兜底分支"，确保总有一个非空输出。
   
- **配置变量聚合节点时，为什么无法将某个变量添加到分组？**
  该变量的数据类型与分组内已有变量的类型不一致，请确保同一分组内所有变量类型必须一致。如需聚合不同类型，请创建新的分组（Group2）
  
- **聚合结果取到了错误分支的值是什么原因？**
  变量在分组内的排列顺序（优先级）不正确。建议将期望优先返回的分支变量移到最上方。
  
- **新增分支后，为什么聚合节点未输出新分支的值？**
  新增分支的输出变量未被添加到聚合节点的分组中，打开聚合节点配置面板，在对应分组中添加新分支的输出变量。
  
 
