课程章节介绍
好,我们接下来看这个页面讲的是变量(Variables)。它把变量分成了两类,一类叫“常规变量”,一类叫“链接变量”。理解这两类很重要,因为它们在代理里的行为完全不一样。
先看“常规变量”。你可以把它想象成一个代理想临时记住的便签条。比如你让代理记住用户名、一个数字、今天是星期几,这些就可以用常规变量。它的好处是,你可以给它一个默认值,比如默认用户名是“访客”,然后代理自己也可以在对话过程中修改它。这种变量支持的类型其实挺丰富的,有字符串、数字、布尔值,还有对象——这里说的对象就是复杂的 JSON,以及日期,另外还支持列表。也就是说,你可以用一个变量存一个数组。变量命名呢,和 Salesforce 的标准开发规范一样,就是那种 API 名称的写法,不能乱写。在 Agentforce 里,你要引用它,得分两个地方:如果你在脚本逻辑里用,要写 @variables.变量名;如果你在提示指令(也就是给大模型的自然语言指令里)要引用它,就得用 {! @variables.变量名 } 这个语法。注意花括号和感叹号的位置,有点类似我们之前在 Flow 或者公式里看到的写法,但不完全一样。
再来看“链接变量”。这类变量比较特殊,它像是代理和外部的消息通道之间的连接器,用来直接读取或写入外部来源的数据。比如说,你的代理是通过短信(Messaging)回复用户,或者是在语音通话(Voice Call)里,你就需要用到链接变量。它的特点跟常规变量几乎是相反的:它没有默认值,代理也不能去设置它的值,而且它不能是对象或者列表类型,只能是简单的字符串这类。为什么?因为它的值是直接绑定的,比如你从短信会话里拿到当前用户的输入,或者把代理的输出直接发回去,它更像是读和写的管道,而不需要你手动给它赋值。可用的来源其实就是那几个命名空间:@MessagingResponse、@MessagingEnduser 和 @VoiceCall。你需要根据你用的渠道,去用对应的那个来源。
总结一下,你可以这样记:凡是你想让代理自己算一算、记一记的东西,用常规变量;凡是和外部输入输出通道自动同步的,用链接变量。这样就不容易混淆了。