Customize Input UI: flightFilter CLT

ADG001 - 创建 Actions

📄 第 236 页 🎬 视频课程

课程章节介绍

好,我们来看这一页——它讲的是怎么用自定义的 Lightning 组件来覆盖 Agentforce 里“flight 滤镜”默认的输入界面,从而让用户能更精确地输入价格和折扣百分比,同时还能把数据实时传回背后的规划器。 咱们一步步拆开讲。 首先,在 Salesforce 里,Agentforce 的“flight 滤镜”原本可能只是一个简单的文本输入框,用户在里面打字。但既然是“滤镜”,我们更希望它是一个结构化的表单,比如有两个数字输入框:一个让你填价格,一个让你填折扣。这就需要用到“自定义 Lightning 类型覆盖”。 所以这个地方就用了一个 ,editor.json, 文件,把 `c/flightDeliverFilter` 这个 Lightnig Web Component(LWC)指定为滤镜的编辑器组件。意思是:“Agentforce,当你要显示航班过滤条件的时候,不要用默认的文本框,而是用我这个专门的 LWC 组件。” 这个 LWC 组件名字叫 `flightDeliverFilter`,它被绑定到 `lightning__AgentforceInvestment` 这个对象上,并且提供了两个带标签的数字输入框: - ,Price(价格),:可输入范围 1000 到 20000 - ,Discount Percentage(折扣百分比),:可输入范围 0 到 100 那最关键的部分是什么呢?是 ,数据怎么实时交互,。这里用了一个很重要的模式:,`DeliverInputChange()` 方法,。 每当用户在输入框里改动数值,这个方法就会被触发。它会做两件事: 1. 更新组件内部的状态,让它及时反映最新的输入。 2. 更关键的是——它会`dispatch`一个自定义事件,叫做 `valueChange`,也就是“值发生了变化”。 这个事件会被“父规划器组件”监听到。所谓父规划器,可以理解成 Agentforce 后台那个负责接收过滤条件、做出计划和推荐的智能体。父规划器一旦收到这个事件,就能马上拿到最新的价格和折扣值,不需要等用户额外点“提交”按钮。这就实现了,实时数据绑定,,交互体验会更流畅。 最后一步,也是容易被忽略的一点:,集成完成后,一定要记得更新子代理的指令(Subagent Instructions),。因为原来 LLM(大语言模型)可能被教导成“当用户说要筛选航班时,就收集一段文本描述作为过滤条件”,但现在过滤条件是通过 UI 表单输入的,是结构化的数字。所以必须告诉 LLM:现在要“使用表单里填好的价格和折扣来过滤”,不要再让用户用自然语言说一遍“我要价格在 5000 以内、折扣 20%”了,否则它会搞不懂为什么还要问一次,甚至可能和表单数据冲突。 简单总结一下这页的内容:我们通过 `editor.json` 指定一个自定义 LWC 作为 flight 滤镜的 UI,用数字输入代替文本框,并在 LWC 内部通过 `DeliverInputChange()` 方法触发 `valueChange` 事件,实时把数据传给后台规划器。最后再调整一下子代理的提示词,让 AI 真正理解怎么用这个新 UI 工作。 这样讲,是不是就清晰多了?如果哪儿还不清楚,随时打断我。

关键词

Agentforce Salesforce