更新时间:2026-07-15 gmt 08:00

循环迭代执行-j9九游会登录

介绍

循环迭代执行是指工作流中的某一组节点被重复执行多次,每次迭代处理数组中的一个元素或完成一轮任务,直到遍历完所有数据或达到指定次数为止。

这种范式解决了批量处理问题:当需要对一组数据逐条执行相同操作,或需要某个任务重复运行 n 轮时,循环迭代能够替代人工逐一触发,实现自动化批量处理。

agentarts 的循环节点支持两种模式:

  • 数组循环:遍历一个已知数组,数组有多少元素就循环多少次,常用于批量处理场景。
  • 指定次数循环:固定执行 n 次,常用于多轮迭代优化场景。

原理

                    ┌─────────────────────────────────────┐
                    │  循环体                              │
[上游节点] → [循环节点] → [循环输入] → [处理节点...] → [循环输出]
                    │              ↑                      │
                    │    中间变量(跨轮次传递数据)          │
                    └─────────────────────────────────────┘
                               ↓(所有轮次完成后)
                    [下游节点] ← 循环节点输出参数(汇聚结果)
表1 关键概念

概念

说明

item

数组循环中当前轮次处理的数组元素。

index

当前轮次的序号(从0开始)。

中间变量

跨轮次持久存在的变量,每轮循环后可通过变量赋值节点更新其值。

输出参数

循环结束后,将指定的最终结果传递给下游节点。

终止条件

每轮循环体执行完后检查,满足则提前退出循环。

操作示例:多平台文案批量生成工作流

场景描述: 用户输入一款产品的名称,工作流自动为["小红书", "微信朋友圈", "微博"]三个平台分别生成针对性的营销文案,每轮循环处理一个平台,将所有文案逐步拼接,最终输出一份完整的多平台文案合集。

这个示例用户只需输入一个产品名称即可运行,效果直观,便于验证循环执行的过程。

工作流结构:

[开始节点]
    ↓ product(产品名)、platforms(平台数组)
[循环节点(数组循环,遍历 platforms)]
    ├── 中间变量:all_copies(汇总文案,初始为空字符串)
    ├── 循环体:
    │     [大模型节点:生成当前平台文案] → copy(string)
    │     [代码节点:拼接到汇总] → merged(string)
    │     [变量赋值节点:更新 all_copies]
    │     ↓(连接循环输出)
    └── 输出参数:output(引用中间变量 all_copies)
    ↓
[结束节点]

创建工作流:

在agentarts左侧导航栏中选择“开发中心 > 智能体管理”,在“工作流”页签,单击“创建工作流”。

图1 任务型工作流

节点配置说明:

图2 多平台文案批量生成工作流
表2 工作流各节点配置说明

节点

配置说明

开始节点

新增2个参数。

  • 参数一:
    • 参数名称:product
    • 参数类型:string
    • 描述:需要推广的产品名称,例如降噪耳机、保温杯
    • 必填:勾选
  • 参数二:
    • 参数名称:platforms
    • 参数类型:array
    • 描述:需要生成文案的平台列表
    • 默认值:["小红书", "微信朋友圈", "微博"]
    • 必填:勾选

循环节点

  • 循环类型:使用数组循环
  • 循环数组 arr_loop_var:引用开始节点的 platforms
  • 中间变量:
    • 名称:all_copies,初始值:输入固定值""(空字符串)
  • 输出参数:
    • 名称:output,引用中间变量 all_copies

循环体-大模型节点

此节点放置于循环节点内部,连接循环输入 → 此节点。

  • 模型:deepseek-v4-flash,将生成随机性调高至 0.8(确保每轮生成不同风格)
  • 输入参数:
    • product:引用开始节点的 product
    • platform:引用循环节点的 item(当前轮次处理的平台名称)
  • 输出格式:json,关闭流式输出
  • 输出参数:copy(string,描述:针对该平台风格生成的营销文案正文)
  • 系统提示词:
    你是一位资深百万粉自媒体爆款操盘手。
    我的新产品是一款{{product}}。
    请针对{{platform}}平台的受众偏好和语言风格,写一篇吸引人的种草文案。
    需要按照以下格式输出:
    {{platform}}风格文案:[文案内容]
    仅输出原始json,严格按照示例:{"copy": "xxx风格文案:[内容]"}
  • 用户提示词:不填,删除原有内容

循环体 - 代码节点(拼接文案)

此节点连接大模型节点 → 此节点。

  • 输入参数:
    • index:引用循环节点的 index(当前轮次序号)
    • new_copy:引用大模型节点的 copy
    • prev:引用循环节点的中间变量 all_copies
  • 输出参数:merged(string,表述为拼接文案)

代码内容:

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}

循环体 - 变量赋值节点

此节点连接代码节点 → 此节点 → 循环输出。

  • 赋值目标:循环节点中间变量 all_copies
  • 赋值方式:引用
  • 值:引用代码节点的 merged

结束节点

  • 输入参数:
    • product:引用开始节点的 product
    • copies:引用循环节点的 output
  • 指定回复:
    {{product}} 多平台营销文案合集
    {{copies}}

试运行:

在开始节点的product中输入“降噪耳机”,platforms使用默认值["小红书", "微信朋友圈", "微博"],工作流将循环执行3次,每次生成一个平台的文案,通过代码节点拼接后,输出三平台文案合集。在调试视图中可以清晰地看到3次循环的执行过程。

图3 试运行
图4 查看运行结果

相关文档

网站地图