一、核心定位
对应架构图里「传统的串行循环(CPU 循环)」,是串行单线程遍历组件,用于逐条处理数组 / 列表变量,和「批处理(并行并发)」形成互补,二者底层执行模型完全不同。
二、底层运行逻辑
- 输入数据源:接收上游输出的数组 / 列表变量(如知识库检索多条结果、数据库批量查询数据、批量上传文件列表);
- 串行执行:严格按数组顺序逐条执行循环内部子流程,上一条执行完成,才会启动下一条;
- 变量透传:循环内部可单独读取当前遍历项、下标、原始数组、循环累计输出;
- 结果收集:循环结束后自动汇总每一轮子流程输出,生成新数组,传递给下游「变量聚合 / 输出」节点。
三、核心特性(串行专属)
优势
- 强顺序保障:数据处理有序,有前后依赖的业务必须用循环,不能用批处理; 例:逐条生成文案后按顺序拼接、按表单顺序逐条写入数据库、按对话时序处理历史消息。
- 资源占用可控:单线程执行,不会瞬间并发大量 API 请求,规避第三方接口限流、额度超限。
- 支持轮内中断 / 分支:循环内部可嵌套 IF 选择器,满足条件跳过 / 终止循环。
短板
- 大批量数据效率低:100 条数据串行执行会依次排队,总耗时 = 单条耗时 × 条数;
- 无法并发提速:没有多线程并行能力,海量数据处理性能远弱于批处理。
四、与批处理(并行并发)核心对比
表格
| 维度 | 循环(串行) | 批处理(并行并发) |
|---|---|---|
| 执行方式 | 单条依次执行,串行阻塞 | 多任务同时并发,多线程 |
| 执行顺序 | 严格遵循数组下标顺序 | 执行完成顺序随机,不保证入参顺序 |
| 适用场景 | 数据有前后依赖、有序输出、接口限流严格 | 无依赖大批量任务、批量生成图片 / 视频、批量入库 |
| 耗时表现 | 条数越多耗时线性叠加 | 并发控制后,总耗时接近单条任务耗时 |
| 限流风险 | 极低,请求间隔可控 | 高,并发数过高易触发第三方 API 限流 |
五、典型落地场景
- 有序文本拼接知识库检索多条参考片段,循环逐条润色后按检索顺序拼接成完整上下文,送入大模型。
- 有序数据入库读取 Excel 多行表单数据,按行顺序逐条新增至数据库,保证数据表记录顺序和原文件一致。
- 多轮对话逐条处理读取上行文历史对话数组,逐条提取关键信息做摘要,维持对话时序逻辑。
- 带依赖的多级生成先循环生成文案,再基于本条文案生成配套图片,单条未完成不能进入下一条。
六、配套联动节点(结合架构图流程)
- 上游数据源:数据库查询、知识库检索、代码节点生成数组、输入节点传入列表;
- 循环内部:可嵌套大模型、插件、IF 选择器、代码、数据库单条操作;
- 下游汇总:循环输出数组 → 变量聚合节点统一封装,再传递给输出 / 大模型;
- 异步搭配:超长循环可外层嵌套「异步任务」,后台执行不阻塞用户主流程。
七、使用注意事项
- 上万条海量数据不要使用循环,优先批处理并行加速;
- 若业务无顺序要求,一律选用批处理提升效率;
- 循环内部尽量减少高耗时插件(视频生成、联网搜索),避免整体流程超时;
- 可在循环内搭配 IF 选择器做过滤,过滤无效条目,减少无意义执行。
八、和传统代码映射关系
Coze 循环节点 = 编程语言中for / while串行循环:
python
运行
# 对应Coze循环执行逻辑 data_list = [item1, item2, item3] result = [] for item in data_list: # 逐条串行执行 res = run_sub_flow(item) # 循环内子流程 result.append(res) # 循环结束输出result数组而批处理对应ThreadPoolExecutor线程池并发执行。