循环块是一个容器,用于重复执行块。可以迭代集合、重复操作固定次数,或在满足条件时继续执行。
循环块是容器节点,内部包含其他块。根据您的配置,内部块会多次执行。
配置选项
循环类型
选择以下四种循环类型之一:
For 循环(迭代) - 一个执行固定次数的数字循环:

当需要重复操作特定次数时使用此方法。
Example: Run 5 times
- Iteration 1
- Iteration 2
- Iteration 3
- Iteration 4
- Iteration 5ForEach 循环(集合) - 一个基于集合的循环,迭代数组或对象中的每一项:

当需要处理一组项目时使用此方法。
Example: Process ["apple", "banana", "orange"]
- Iteration 1: Process "apple"
- Iteration 2: Process "banana"
- Iteration 3: Process "orange"While 循环(基于条件) - 当条件为真时继续执行:

当需要循环直到满足特定条件时使用此方法。条件在每次迭代的之前进行检查。
Example: While {"<variable.i>"} < 10
- Check condition → Execute if true
- Inside loop: Increment {"<variable.i>"}
- Inside loop: Variables assigns i = {"<variable.i>"} + 1
- Check condition → Execute if true
- Check condition → Exit if falseDo-While 循环(基于条件) - 至少执行一次,然后在条件为真时继续执行:

当需要至少执行一次,然后循环直到满足条件时使用此方法。条件在每次迭代的之后进行检查。
Example: Do-while {"<variable.i>"} < 10
- Execute blocks
- Inside loop: Increment {"<variable.i>"}
- Inside loop: Variables assigns i = {"<variable.i>"} + 1
- Check condition → Continue if true
- Check condition → Exit if false如何使用循环
创建循环
- 从工具栏中拖动一个循环块到画布上
- 配置循环类型和参数
- 将其他块拖入循环容器内
- 根据需要连接这些块
访问结果
循环完成后,您可以访问聚合结果:
<loop.results>:所有循环迭代结果的数组
示例用例
处理 API 结果 - ForEach 循环处理来自 API 的客户记录
API (Fetch) → Loop (ForEach) → Agent (Analyze) → Function (Store)迭代内容生成 - For 循环生成多个内容变体
Loop (5x) → Agent (Generate) → Evaluator (Score) → Function (Select Best)带计数器的 While 循环 - While 循环使用计数器处理项目
Variables (i=0) → Loop (While i<10) → Agent (Process) → Variables (i++)高级功能
限制
容器块(循环和并行)不能嵌套在彼此内部。这意味着:
- 您不能将一个循环块放入另一个循环块中
- 您不能将一个并行块放入循环块中
- 您不能将任何容器块放入另一个容器块中
如果您需要多维迭代,请考虑重构您的工作流以使用顺序循环或分阶段处理数据。
循环是按顺序执行的,而不是并行执行。如果您需要并发执行,请使用并行块。
输入和输出
循环类型:选择 'for'、'forEach'、'while' 或 'doWhile'
迭代次数:执行的次数(for 循环)
集合:要迭代的数组或对象(forEach 循环)
条件:布尔表达式(while/do-while 循环)
loop.currentItem:当前正在处理的项目
loop.index:当前迭代编号(从 0 开始)
loop.items:完整集合(forEach 循环)
loop.results:所有迭代结果的数组
结构:结果保持迭代顺序
访问:在循环后的块中可用
最佳实践
- 设置合理的限制:保持迭代次数在合理范围内,以避免长时间的执行
- 对集合使用 ForEach:在处理数组或对象时,使用 ForEach 而不是 For 循环
- 优雅地处理错误:考虑在循环中添加错误处理,以实现更健壮的工作流程