课程章节介绍
同学们,我们来看这一页内容,讲的是 Agentforce 里怎么在发起对话或者发送消息的时候,顺带把一些信息带进去——也就是“变量”。这个特性非常实用,因为它可以让你的机器人一开始就知道用户是谁、想用什么语言、之前聊过什么,就像你拿起电话,对方上来就亲切地喊出你的名字一样。
我先帮大家把概念理一理。变量总的分两类。第一类是,上下文变量,,它的特点就是名字前面有个固定的 ,`$Context`, 前缀。这类变量,绝大多数在会话开始之后就“锁死”了,变成只读的,不能随便改动。不过有一个例外,就是 ,EndUserLanguage,,它可以动态变化,用来实时调整给用户看的语言,比如用户中途切换语言,机器人马上就能跟着改。
第二类是,自定义变量,,你可以根据自己的业务需要来创建,而且为了简化,Salesforce 在 Agentforce 里去掉了我们平时在字段上常看到的 `__c` 后缀,看起来更清爽。
接下来,如果你希望外面其他系统能通过 API 来往里塞值,或者读出值,那就需要把这个变量“开放”出去。怎么开放呢?有两种方法。第一种,直接在 Agentforce 的 Builder 界面里,找到那个变量,勾上“,允许 API 设置值,”的选项。第二种,用元数据 API,把对应变量(就是那个 ConversationVariable 的记录)里的“,可见性,”字段设置成“,外部,”。这两种方式效果是一样的,都是告诉系统:这个变量不只自己在内部用,允许外部来访问。
说到元数据,设计一个变量的时候,有几个关键的属性一定得弄清楚。我挑重要的跟你说:
- ,dataType,:数据类型,这个好理解,是文本、数字还是布尔值,决定了变量能存什么。
- ,描述,:就是对这个变量写一段注释,方便你自己和同事以后知道它干嘛用的。
- ,developerName,:开发名称,是系统里的唯一标识,一旦创建就不要随便改它。
- ,includeInPrompt,:这个特别重要。它是用来控制这个变量的值要不要放进大语言模型的提示词里。如果勾上了,模型就能“看到”这个变量的内容,并据此调整它的回答;如果不勾,那这个变量就只在流程中流转,模型是不知道的。比如,你可以把用户的会员等级放进变量,勾上这个,机器人就会自动用更尊贵的语气说话。
- ,可见性,:我们刚提过,选“内部”呢,就只在你自己的对话操作里用;选“外部”,就代表允许 API 来进行读写。
所以简单总结一下,你要在对话启动的时候把信息塞进来,就用上下文变量或者自定义变量;要能通过 API 调,就记得把可见性打开或勾选允许设置值;而 includeInPrompt 的开关,则决定了你的机器人是不是能“感知”到这条信息。把这些点掌握了,你就可以让 Agent 的对话变得非常灵活、智能。
你先把这几个点消化一下,下一个小节我们会实际操作演示一遍,看看在 Builder 里怎么配置这些变量。有任何不清楚的,随时打断我。