定义
循环节点用于在工作流中重复执行一组节点。
当一个任务需要对多个对象执行相同处理逻辑时,可以使用循环节点。你可以在循环节点内部添加子节点,系统会按照指定的循环规则,多次运行这些子节点。
常见场景包括:
- 对一组客户逐个生成跟进邮件
- 对一组设备逐个生成使用报告
- 对一组订单逐条判断状态
- 对一组文档逐篇总结
- 对多行文本逐行处理
- 分页查询数据,并逐页处理结果
循环节点单次运行最多支持 60 次。如果需要处理的数据超过 60 项,建议先拆分数据,或在前置节点中控制本次处理数量。
循环模式
循环节点支持三种循环模式:指定次数、遍历集合、逐行遍历。

指定次数
指定次数表示按照设定次数重复执行循环。
例如循环次数设置为 5,循环内部节点会执行 5 次。
该模式适合固定执行次数的场景,例如固定生成 5 条内容,或固定执行 3 次检查。
在指定次数模式下,当前循环的 Item 会随循环次数变化:第 1 次循环时,Item 为 1;第 2 次循环时,Item 为 2,依次类推。
遍历集合
遍历集合用于处理 Array 类型的数据。
该 Array 通常来自前置节点的输出变量。例如,前置节点可能先查询出一组客户、一组设备、一组订单,或解析出一个列表。循环节点选择这个 Array 变量后,会按照数组元素的顺序逐个执行循环。
数组中有多少个元素,通常就会执行多少次循环,但单次循环最多支持 60 次。
例如,前置节点输出一个客户列表:
[
{
"name": "Alice",
"email": "alice@example.com"
},
{
"name": "Bob",
"email": "bob@example.com"
}
]循环节点选择该客户列表作为输入变量后,会执行 2 次循环:
- 第 1 次循环:Item 是 Alice 的客户信息。
- 第 2 次循环:Item 是 Bob 的客户信息。
在循环内部,LLM 节点可以引用当前循环的 Item,为当前客户生成邮件内容、分析客户需求,或执行其他处理逻辑。
逐行遍历
逐行遍历用于处理多行文本。
系统会将文本按行拆分,每一行作为一个循环元素,执行一次循环。
例如输入内容为:
a@example.com b@example.com c@example.com
循环节点会执行 3 次,每次处理一行邮箱地址。
在逐行遍历模式下,当前循环的 Item 是当前这一行文本。
该模式适合处理一行一个对象的数据,例如邮箱列表、关键词列表、任务列表等。
循环内置变量
在循环节点内部,子节点可以使用循环提供的内置变量。
| 变量 | 类型 | 说明 |
|---|---|---|
| Item | String / Number / Object 等 | 当前这一轮循环带入的数据 |
| Counter | Number | 当前是第几轮循环 |
| Continue | Bool | 当前循环是否继续 |
Item 是循环中最常用的变量,表示当前这一轮正在处理的数据。
不同循环模式下,Item 的含义不同:
- 指定次数:第 1 次循环时,Item 为 1;第 2 次循环时,Item 为 2,依次类推。
- 遍历集合:Item 是数组中的当前元素。
- 逐行遍历:Item 是当前这一行文本。
Counter 表示当前循环进行到第几轮。
Continue 是 Bool 类型变量,用于表示当前循环是否继续。
循环结果输出
循环内部的节点每一轮都可能产生结果。
如果希望在循环结束后统一使用这些结果,可以在「循环结果输出」中配置需要收集的变量。
例如:
- 每轮生成一封邮件,循环结束后得到邮件列表。
- 每轮分析一个设备,循环结束后得到设备分析结果列表。
- 每轮总结一篇文档,循环结束后得到所有摘要。
配置循环结果输出后,系统会把每一轮中指定变量的结果汇总为数组,供循环节点后面的节点继续使用。
结束当前循环
循环内部支持添加 End Iteration 节点,用于提前结束整个循环。
当流程运行到 End Iteration 节点时,即使原本还有未执行完的循环次数或未遍历完的数据,循环也会立即结束,不再继续执行后续轮次。
该节点常与条件判断节点配合使用,用于在满足某个条件时提前停止循环。

例如,在分页查询数据时,可以先设置一个较大的循环次数,用于逐页请求数据。每一轮循环查询一页结果,并判断当前页是否已经是最后一页。
- 如果还不是最后一页,继续下一轮循环。
- 如果已经是最后一页,则进入 End Iteration,提前结束循环。
这样即使循环次数还没有达到上限,系统也不会继续执行后续无意义的分页查询。
错误响应方法
循环节点支持设置错误响应方法,用于决定某一轮循环出错时如何处理。
| 方法 | 说明 |
|---|---|
| 错误时终止 | 某一轮出错时,终止循环节点,并输出错误信息 |
| 移除错误输出 | 忽略出错项,继续处理后续元素,最终输出中只保留正常结果 |
如果每一轮任务都很关键,建议使用「错误时终止」。
如果是批量处理任务,允许部分对象失败,可以使用「移除错误输出」。
输出变量
循环节点会输出以下变量:
| 变量 | 类型 | 说明 |
|---|---|---|
| Loops | Number | 循环总次数 |
| Elements | Number | 输出元素数量;如果配置了多个输出,取其中最大的元素数量 |
| 自定义输出变量 | Array[…] | 在「循环结果输出」中配置的变量,例如 Text Array[String] |
其中,自定义输出变量来自「循环结果输出」配置。
例如,在循环内部用 LLM 节点生成邮件内容,并将该内容配置为循环结果输出。循环结束后,循环节点会输出一个邮件内容数组,每个元素对应一轮循环生成的结果。
示例
假设销售团队需要给一组客户生成跟进邮件。
- 前置节点输出一个客户列表,例如客户名称、邮箱和跟进背景。
- 循环节点选择「遍历集合」模式,并将客户列表作为输入变量。
- 循环每次取出一个客户,当前客户信息会作为循环内置变量 Item。
- 循环内部添加 LLM 节点,让 LLM 根据当前 Item 生成对应客户的邮件内容。
- 在「循环结果输出」中收集每一轮生成的邮件。
- 循环结束后,得到一组客户邮件草稿。
发表评论.