应用构建/工作流/节点
循环节点
FastGPT 循环节点介绍和使用(适用于 4.15.0 及以上版本)
节点概述
【循环节点】用于在工作流中重复执行同一段子工作流。无论您是想对一批数据逐个进行处理(数组循环),还是需要把一个任务反复迭代优化直到符合特定标准为止(条件循环),循环节点都能帮您轻松实现。

适合以下任务场景:
- 依次总结一批长文章的段落(数组循环)
- 让 AI 生成方案并不断评估,若评分低于 80 分就重复修改,直到达标再退出(条件循环)
- 批量且顺序地调用外部 API
核心功能与运行模式
循环节点提供两种核心运行模式。
1. 数组循环 (Array Loop)
- 原理:依次遍历您传入的数组(如文章段落列表),每轮处理一个元素。
- 数据注入:每轮循环开始时,【循环开始】节点会自动输出
当前元素与当前下标(从0开始)。
2. 条件循环 (Conditional Loop)
- 原理:不依赖特定数组,持续重复执行循环体,直到触发内部的【循环终止】节点。
- 要求:循环体内部必须包含至少一个【循环终止】节点,否则工作流在保存或执行时会报错。
- 数据注入:每轮循环开始时,【循环开始】节点会自动输出
当前循环次数(从1开始)。
3. 出错与用户交互时的处理
- 保留出错前的记录:循环如果在哪一轮出错,前面几轮已经成功运行完的日志和结果依然会保留下来,您可以通过“运行详情”查看每一轮的详细步骤,方便排查问题。
- 支持运行中交互:循环体内支持使用表单输入等需要用户交互的节点。流程执行到这些节点时会先停下来,等用户填写完表单后,再接着那轮继续往下跑。
参数说明
输入
| 参数 | 必填 | 默认 | 说明 |
|---|---|---|---|
| 循环类型 | 是 | 数组循环 | 可选 数组循环 (array) 或 条件循环 (conditional) |
| 数组 | 是 | - | (仅在数组循环模式下显示) 要批量处理的数据列表。通常来自上游节点的数组输出。 |
| 循环体 | 是 | - | 节点内部要执行的子流程,它以【循环开始】节点作为起点(可通过【循环终止】节点退出)。 |
输出
| 参数 | 类型 | 说明 |
|---|---|---|
| 错误信息 | string | 循环执行异常中断时的错误信息。 |
| 自定义输出 | 任意类型 | 用户可在节点的输出区域输入变量名来新增自定义输出,并为其绑定内部节点的变量引用。该节点运行结束时,输出最后一轮迭代(或中断退出时)的值。 |
注意事项与使用避坑
- 不能嵌套
- 循环节点内部不能再放入另一个【循环节点】或【并行执行】节点。
- 只输出最后一轮结果
- 新版循环节点的“自定义输出”在退出时,只包含最后一轮迭代的值(不再默认将所有轮次的输出聚合成一个数组)。
- 如何聚合所有轮次的结果? 如果您需要将每一轮的数据收集并汇总成一个列表,请在循环体外部声明一个全局变量数组,并在循环体内部使用【变量更新】节点,每次将当前轮次的结果追加到该全局变量中。
- 条件循环防止死循环
- 条件循环必须在子流程某个分支能最终触发【循环终止】节点。
- 系统设定了最大循环次数(默认 100 次),达到上限会自动报错并安全停止。
部署参数
如果您是私有化部署的开发者或运维人员,可以通过以下环境变量来调优运行限制:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
WORKFLOW_MAX_LOOP_TIMES | 100 | 输入数组的最大长度以及条件循环的最大迭代轮数上限(【循环节点】与【并行执行】共用) |
场景示例:AI 润色文案直至评估达标
本示例演示如何使用 条件循环 模式,让 AI 对文案进行多轮优化,并在每轮运行后由打分逻辑评估,直到评分达标才最终输出。这充分体现了循环节点“根据上轮反馈不断修正”的代表性优势。

实现步骤
-
设置循环类型
- 循环类型选择:
条件循环。
- 循环类型选择:
-
配置循环体内部流程
- 【AI 对话】(文案优化):接收并优化输入的文案。
- 【AI 对话#2】(评分评估):对优化后的文案进行评估打分,输出分数。
- 【判断器】:判断分数是否满足要求。
- 如果满足要求:连线执行 【指定回复】 节点(向用户输出最终文案),随后连接执行 【循环终止】 节点退出循环。
- 如果不满足要求:不触发后续连线,循环会自动直接进入下一轮继续优化。
-
配置输出使用
- 在循环节点的 输出 栏动态添加自定义输出
final_text,将其值引用为循环体内的【AI 对话(文案优化)】节点的回复内容。 - 循环退出后,下游节点通过引用该
final_text变量,即可拿到最终符合要求的满意文案。
- 在循环节点的 输出 栏动态添加自定义输出
执行流程与运行详情
运行完成后,您可以在调试面板的“完整响应”中展开查看详细的执行轨迹:

- 第一轮优化:执行了
循环开始➡️AI 对话➡️AI 对话#2➡️判断器。由于评分未达标,未触发终止节点,系统自动进入下一轮。 - 第二轮优化:继续执行
AI 对话➡️AI 对话#2➡️判断器。本轮评分达标,走向指定回复并触发循环终止。整个循环安全退出。