变量说明

最近更新时间:2025-11-03 14:27:11

我的收藏
智能体开发平台提供了丰富的变量类型供用户使用,以满足不同业务场景需求。

变量类型

从变量的使用范围角度,智能体开发平台的变量分为“应用级变量”和“工作流级变量”两类变量。

应用级变量

应用级变量表示应用全局范围内可见、可使用的变量,具体包括:
变量类型
变量描述
变量名称及描述
系统变量
智能体开发平台系统默认提供的变量,在应用范围内的各模块均可读取,但不支持用户编辑。
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 方式命名。
使用示例: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 改成的“李四”。