循环迭代执行-j9九游会登录
介绍
循环迭代执行是指工作流中的某一组节点被重复执行多次,每次迭代处理数组中的一个元素或完成一轮任务,直到遍历完所有数据或达到指定次数为止。
这种范式解决了批量处理问题:当需要对一组数据逐条执行相同操作,或需要某个任务重复运行 n 轮时,循环迭代能够替代人工逐一触发,实现自动化批量处理。
agentarts 的循环节点支持两种模式:
- 数组循环:遍历一个已知数组,数组有多少元素就循环多少次,常用于批量处理场景。
- 指定次数循环:固定执行 n 次,常用于多轮迭代优化场景。
原理
┌─────────────────────────────────────┐
│ 循环体 │
[上游节点] → [循环节点] → [循环输入] → [处理节点...] → [循环输出]
│ ↑ │
│ 中间变量(跨轮次传递数据) │
└─────────────────────────────────────┘
↓(所有轮次完成后)
[下游节点] ← 循环节点输出参数(汇聚结果) | 概念 | 说明 |
|---|---|
| item | 数组循环中当前轮次处理的数组元素。 |
| index | 当前轮次的序号(从0开始)。 |
| 中间变量 | 跨轮次持久存在的变量,每轮循环后可通过变量赋值节点更新其值。 |
| 输出参数 | 循环结束后,将指定的最终结果传递给下游节点。 |
| 终止条件 | 每轮循环体执行完后检查,满足则提前退出循环。 |
操作示例:多平台文案批量生成工作流
场景描述: 用户输入一款产品的名称,工作流自动为["小红书", "微信朋友圈", "微博"]三个平台分别生成针对性的营销文案,每轮循环处理一个平台,将所有文案逐步拼接,最终输出一份完整的多平台文案合集。
这个示例用户只需输入一个产品名称即可运行,效果直观,便于验证循环执行的过程。
工作流结构:
[开始节点]
↓ product(产品名)、platforms(平台数组)
[循环节点(数组循环,遍历 platforms)]
├── 中间变量:all_copies(汇总文案,初始为空字符串)
├── 循环体:
│ [大模型节点:生成当前平台文案] → copy(string)
│ [代码节点:拼接到汇总] → merged(string)
│ [变量赋值节点:更新 all_copies]
│ ↓(连接循环输出)
└── 输出参数:output(引用中间变量 all_copies)
↓
[结束节点] 创建工作流:
在agentarts左侧导航栏中选择“开发中心 > 智能体管理”,在“工作流”页签,单击“创建工作流”。
节点配置说明:
| 节点 | 配置说明 |
|---|---|
| 开始节点 | 新增2个参数。
|
| 循环节点 |
|
| 循环体-大模型节点 此节点放置于循环节点内部,连接循环输入 → 此节点。
| |
| 循环体 - 代码节点(拼接文案) 此节点连接大模型节点 → 此节点。
代码内容: def main(args: dict) -> dict
index = args.get("index", 0)
new_copy = args.get("new_copy", "")
prev = args.get("prev", "")
# 每条文案之间用分隔线隔开
separator = "\n" "─" * 30 "\n"
if prev:
result = prev separator new_copy
else:
result = new_copy
return {"merged": result}
| |
| 循环体 - 变量赋值节点 此节点连接代码节点 → 此节点 → 循环输出。
| |
| 结束节点 |
|
试运行:
在开始节点的product中输入“降噪耳机”,platforms使用默认值["小红书", "微信朋友圈", "微博"],工作流将循环执行3次,每次生成一个平台的文案,通过代码节点拼接后,输出三平台文案合集。在调试视图中可以清晰地看到3次循环的执行过程。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨





