Sim
Blocks

变量

变量模块在执行过程中更新工作流变量。变量必须首先在工作流的变量部分中初始化,然后您可以使用此模块在工作流运行时更新其值。

变量模块

在工作流中的任何地方使用 <variable.variableName> 语法访问变量。

概述

变量模块使您能够:

更新工作流变量:在执行过程中更改变量值

存储动态数据:将模块输出捕获到变量中

维护状态:跟踪计数器、标志和中间结果

如何使用变量

1. 在工作流变量中初始化

首先,在工作流的变量部分(可通过工作流设置访问)中创建您的变量:

customerEmail = ""
retryCount = 0
currentStatus = "pending"

2. 使用变量模块更新

使用变量模块在执行过程中更新这些值:

customerEmail = <api.email>
retryCount = <variable.retryCount> + 1
currentStatus = "processing"

3. 随处访问

在任何模块中引用变量:

Agent prompt: "Send email to <variable.customerEmail>"
Condition: <variable.retryCount> < 5
API body: {"status": "<variable.currentStatus>"}

示例用例

循环计数器和状态

场景:跟踪循环迭代的进度

  1. 在工作流中初始化:itemsProcessed = 0, lastResult = ""
  2. 循环迭代项目
  3. 在循环内:代理处理当前项目
  4. 在循环内:变量模块更新 itemsProcessed = <variable.itemsProcessed> + 1
  5. 在循环内:变量模块更新 lastResult = <agent.content>
  6. 下一次迭代:访问 <variable.lastResult> 与当前结果进行比较

重试逻辑

场景:跟踪 API 重试尝试

  1. 在工作流中初始化:retryCount = 0
  2. API 模块尝试请求
  3. 如果失败,变量递增:retryCount = <variable.retryCount> + 1
  4. 条件检查 <variable.retryCount> < 3 以重试或失败

动态配置

场景:为工作流存储用户上下文

  1. 在工作流中初始化:userId = ""userTier = ""
  2. API 获取用户资料
  3. 变量存储:userId = <api.id>userTier = <api.tier>
  4. 代理使用 <variable.userTier> 个性化响应
  5. API 使用 <variable.userId> 进行日志记录

输出

  • <variables.assignments>:包含此块中所有变量分配的 JSON 对象

最佳实践

  • 在工作流设置中初始化:在使用变量之前,始终在工作流的变量部分创建它们
  • 动态更新:使用变量块根据块输出或计算结果更新值
  • 在循环中使用:非常适合在迭代中跟踪状态
  • 命名清晰:使用明确的名称,例如 currentIndextotalProcessed,或 lastError