您在此处:
配置代理以使用会话上下文
生成问题列表,帮助购物者更快获得产品推荐。Shopper Agent 将购物者的初始查询与产品类别进行匹配,并生成有关购物者产品偏好的相关问题。
要生成上下文感知问题列表并跨类别和方面跟踪购物者首选项,请参阅在 购物者切换产品类别时维护对话上下文。
-
在您的 Salesforce 组织中,在页面顶部,点击
,然后选择设置。
- 在“快速查找”框中,输入并选择 Agentforce 代理。
- 选择您的 B2C Shopper Agent,然后单击在 Builder 中打开。
- 在“子代理”选项卡下,选择 “B2C Commerce Product Search Assistant”。
- 在“此子代理的操作”下,单击 “新建 ”,然后选择 “从资源库添加”。
- 输入并选择 获取 B2C Commerce 对话上下文问题。
- 点击完成。
- 在左侧导航菜单中,单击“ 上下文 ”选项卡,然后单击“ 新建变量”。
-
为新变量输入以下详细信息:
- 名称: convContextKey,API 名称是自动填充的。
- 说明:存储类别方面并检测多轮次对话中的上下文切换。
- 数据类型:文本
- 选择 “允许 API 设置值 ”和 “允许 LLM 使用值”。
- 保存更改。
- 在左侧导航菜单中,点击子代理选项卡,然后从 此子代理的操作 选项卡中,点击 获取 B2C Commerce 对话上下文问题。
-
在“输入”选项卡下,为这些字段分配一个变量。
站点 ID → MessagingSession SiteId__c- 身份验证令牌 →
authToken - 组织 ID →
MessagingSession OrganizationId__c - 用户区域设置 →
MessagingSession UserLocale__c - 当前类别的对话上下文键
→ convContextKey
-
在“输出”选项卡下,为此字段分配一个变量:当前类别的对话上下文键
→ convContextKey - 返回到“子代理详细信息”页面,然后单击 “搜索 B2C 产品商店 ”操作。
-
在“输入”选项卡下,为此字段分配一个变量:当前类别的对话上下文键
→ convContextKey - 返回到“子代理”页面,然后单击 B2C Commerce Product Search Assistant 子代理。
-
在“子代理配置”选项卡上,向下滚动,单击 “添加说明 ”,然后粘贴这些说明。
备注 如果您已经完成了对话上下文问题的初始设置,请将之前的说明替换为此说明。
工具调用策略(高优先级): 1.拒绝 的硬约束 - 当用户拒绝或拒绝确认(例如“否”、“否”、“不是这个”或更改选项 )时,不得在该轮次调用 B2CCommerceProductSearch。在这种情况下,必须使用用户的最新消息调用 CommerceGuidedShoppingB2C__GetB2CConvContextQuestionAction 以重新生成或更新 convContext,并设置值 contextSwitchType=“exploratory”。 2.常规产品搜索规则 - 仅在以下情况下调用 B2CCommerceProductSearch: a) convContext 已完成(已选择或确认所有必需选项),以及 b) 您未处于“用户刚刚被拒绝”的情况。 3.回退规则 - 如果CommerceGuidedShoppingB2C__GetB2CConvContextQuestionAction失败或返回错误,则可以调用 B2CCommerceProductSearch 作为回退,除非您正在处理规则 1 中的用户拒绝。 上下文构建流程: - 在调用 B2CCommerceProductSearch 之前,始终使用用户查询作为输入调用CommerceGuidedShoppingB2C__GetB2CConvContextQuestionAction来构建或优化 convContext。 - 收到用户的响应后,如果类别保持不变,则相应地更新 convContext,同时保留现有上下文。 - 如果用户查询指示不同的类别/产品,则必须再次调用 GetB2CConvContextQuestionAction,通过传递用户查询和空 convContext 来生成新的 convContext。 - 以以下格式维护 convContext: convContext: “category/product-name, attribute1:value1, attribute2:value2, attributeN:valueN” e.g. convContext: “mens-clothing, color:blue, size:M” STEP-BY-STEP FLOW: 步骤 1:当用户切换到其他产品/类别(开关)或返回上一个产品/类别(重复)时,必须首先使用新用户查询作为输入调用 GetB2CConvContextQuestionAction,并相应地将 contextSwitchType 设置为“switch”或“repeat”。 步骤2:以纯文本形式显示 generatedQuestions(无引号,无额外格式)。 步骤3:让用户选择选项并以指定的格式形成 convContext。 步骤4:确认处理: - 如果您要求用户确认预先选择的选项(重复问题场景): * 如果用户确认(yes/yeah/yep/sure/okay 等): - 如果 convContext 已完成→则使用当前 convContext 调用 B2CCommerceProductSearch。 - 如果需要更多详细信息→请调用 GetB2CConvContextQuestionAction 以继续优化 convContext。 * 如果用户拒绝或更改选项(否/否/不是真的/不同的颜色/其他尺寸等): - 将 convContext 重置为空字符串,并且必须与 contextSwitchType=“exploratory” 一起传递给 GetB2CConvContextQuestionAction 作为输入。 - 调用 GetB2CConvContextQuestionAction,不带 convContext(空)和 contextSwitchType=“exploratory”,以生成一组新的问题。 - 请勿在此轮次调用 B2CCommerceProductSearch。 步骤5:如果 convContext 缺失或为空,请使用用户查询作为输入调用 GetB2CConvContextQuestionAction 来重新生成它。 步骤6:如果 GetB2CConvContextQuestionAction 失败或返回错误: - 调用 B2CCommerceProductSearch 作为回退,除非这是用户拒绝的情况(请参阅规则 1)。 contextSwitchType: 1 的重要规则。在每个新的 GetB2CConvContextQuestionAction 调用中,将 contextSwitchType 的值传递为“exploratory”、“repeat”或“switch”,如下所示: - 如果这是第一个搜索话语,并且尚未设置 convContext,请传递“exploratory”。 - 当再次询问相同类型的产品时,传递“重复”(例如用户在当前会话中返回到之前搜索的产品)。 - 当用户查询切换到另一个产品/类别时,传递“切换”。 2.当类别或产品更改时,您调用 GetB2CConvContextQuestionAction: - 将当前 convContext 作为 convContext 传递,以及 - 将“repeat”或“switch”作为 contextSwitchType 传递。空/“探索性”在第一个问题的情况下。 -
单击 “添加说明 ”,然后粘贴这些说明。
当 B2CCommerceProductSearch 结果包含类型为“QUESTION_WITH_ANSWERS”的作时,请使用“options”数组来解释用户的答复。每个选项都包含一个“displayValue”。收到用户选择或响应后,通过按下所示格式附加新响应来更新 convContext。不要替换现有的 convContext。 示例: 现有 convContext: “color:blue, size:M” QUESTION_WITH_ANSWERS(用户响应):给我看看跑步用的夹克。 更新了 convContext:"color:blue, size:M, activity:running" - 保存更改。
- 预览代理对话,然后激活更新的代理。
- 在购物者切换产品类别时保持对话上下文
如果您的代理已使用对话上下文,请更新它以保持购物者的首选项,即使他们在产品类别之间切换也是如此。现在,代理会在类别转换期间保留用户上下文,并要求将先前定义的首选项应用于新的搜索结果。

