变量说明

2026-03-31   访问量:0


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

变量类型

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

应用级变量

应用级变量表示应用全局范围内可见、可使用的变量,具体包括:

变量类型

变量描述

变量名称及描述

系统变量

智能体开发平台系统默认提供的变量,在应用范围内的各模块均可读取,但不支持用户编辑。

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 中获取订单内容并下单。

节点输入变量

表示当前工作流节点的输入变量,仅在节点内部编辑和使用。

-

节点输出变量

表示当前工作流节点的输出变量,节点内实现该变量的写入,并在后续节点读取和使用。

-

适用范围

由于使用场景不同,每种变量的适用范围也存在差异,具体如下:

变量名称

是否用户隔离

是否 Session 隔离

应用级变量

系统变量(除 SYS.Memory 外)

SYS.Memory

环境变量

API 参数

应用变量

工作流级变量

工作流变量

工作流节点输入变量

工作流节点输出变量

说明:

由于上述变量都存在于应用中,是应用下的概念,因此天然就是“应用隔离”,此处不再赘述。

“用户隔离”是指同一个变量对于不同终端用户的变量值不同,终端用户根据调用 API 时传入的 visitor_biz_id 字段进行区分(详情请参见 对话端接口文档(HTTP SSE)对话端接口文档(WebSocket))。

例如:API 参数 userID(表示用户 ID),张三的 userID 是001,李四的 userID 是002,是“用户隔离”;而环境变量 APIKey(表示某插件的密钥)无论对于张三还是李四变量值都相同,不是“用户隔离”。

“Session 隔离”是指同一个变量在不同的 session 下,该变量值不同。

例如:张三的长期记忆(SYS.Memory)可以跨 Session 使用,不是“Session隔离”;而工作流节点的输入变量,换 Session 后这些值也随即更换,是“Session 隔离”。

从隔离的范围上看,应用隔离 > 用户隔离 > Session 隔离。灵活使用 ADP 提供的各类变量可以满足复杂的业务场景需求。


热门文章
更多>