智能体开发平台提供了丰富的变量类型供用户使用,以满足不同业务场景需求。
变量类型
从变量的使用范围角度,智能体开发平台的变量分为“应用级变量”和“工作流级变量”两类变量。
应用级变量
应用级变量表示应用全局范围内可见、可使用的变量,具体包括:
变量类型  | 变量描述  | 变量名称及描述  | 
系统变量  | 智能体开发平台系统默认提供的变量,在应用范围内的各模块均可读取,但不支持用户编辑。 以 SYS.XXX 方式命名。  | SYS.UserQuery:本轮对话内容; SYS.RewriteQuery:多轮对话中本轮对话改写结果; SYS.ChatHistory:对话历史(在工作流中使用时,支持配置对话历史轮数); SYS.CurrentTime:当前时间(格式为:YYYY年MM月DD日 HH:MM:SS,例如2025年08月10日 11:01:18); SYS.RequestId:对话请求 ID(API 调用请求参数中的 request_id); SYS.Memory:长期记忆内容(该字段在开启“长期记忆”功能后可用)。  | 
环境变量  | 环境变量用于保存 API 密钥、数据库密码等敏感数据,提供特殊的 secret数据类型,支持加密存储、传输、并在页面显示为*****。 在应用范围内的各模块可读取,仅支持在“变量与记忆”中编辑。 以 ENV.XXX 方式命名。  | 使用示例:ENV.LLMSecretKey,存储大语言模型调用时的 secretKey,在工作流中或者 Agent 的工具中使用。  | 
API 参数  | API 参数表示用户在调用智能体开发平台 API 时,通过 custom_variables 字段传入系统的变量。 在应用范围内的各模块可读取,仅支持在“变量与记忆”中编辑。 以 API.XXX 方式命名。 调用方法详见:对话端接口文档(HTTP SSE)、对话端接口文档(WebSocket)。  | 使用示例:API.UserName,通过 API 参数传入用户姓名,在对话时更亲切地称呼用户。  | 
应用变量  | 表示在应用内各个模块中互相传递的变量。例如工作流A对应用变量进行赋值,工作流 B 进行读取。 在应用范围内的各模块均可读可写,仅支持在“变量与记忆”中编辑。 以 APP.XXX 方式命名。  | 使用示例:APP.Notes,工作流A中收集用户笔记内容并赋值给 APP.Notes,工作流 B 获取笔记内容并总结摘要。  | 
工作流级变量
工作流级变量表示在工作流内部可见、可使用的变量,具体包括:
变量类型  | 变量描述  | 变量名称及描述  | 
工作流变量  | 表示在工作流范围内传递的变量。例如在工作流分支A对变量赋值,在分支 B读取变量值。 在工作流的开始节点进行定义,在工作流内的各节点均可读取,并仅支持在“变量赋值节点”中赋值。 以 WF.XXX 方式命名。  | 使用示例:WF.OrderList,分支A中整理用户订单内容并赋值给 WF.OrderList,分支 B 中获取订单内容并下单。  | 
节点输入变量  | 表示当前工作流节点的输入变量,仅在节点内部编辑和使用。  | -  | 
节点输出变量  | 表示当前工作流节点的输出变量,节点内实现该变量的写入,并在后续节点读取和使用。  | -  | 
生命周期
由于每一种变量的使用场景不同,因此生命周期也存在差异,具体如下:
变量名称  | 生命周期  | |
应用级变量  | 系统变量(除 SYS.Memory 外)  | Session 粒度  | 
  | SYS.Memory  | 永久(具体保存时间取决于用户配置的记忆时效)  | 
  | 环境变量  | 永久  | 
  | API 参数  | 永久  | 
  | 应用变量  | Session 粒度  | 
工作流级变量  | 工作流变量  | Session 粒度  | 
  | 工作流节点输入变量  | Session 粒度  | 
  | 工作流节点输出变量  | Session 粒度  | 
说明:
Session 粒度指的是同 session 内生效,例如:应用变量 APP.UserName 的默认值为“张三”,在 Session1 中,工作流 A 将其改为“李四”,此后,Session1内的工作流B读取 APP.userName 时,值为“李四”。当开启新的 Session2后,工作流 A 再读取 APP.userName,该值仍为默认值“张三”,而不是 Session 1中工作流 A 改成的“李四”。