Agentforce 客户聊天体验开发指南

简介: 构建 Agentforce 客户聊天体验的完整指南。涵盖 Enhanced Chat v2(内联模式/上下文事件/Custom Lightning Types)和 Custom Connections(通过 Agent API + AiSurface/AiResponseFormat 元数据实现结构化响应、原生 UI 组件渲染)。包含三种响应格式设计模式、部署顺序、客户端解析和故障排查。

客户聊天体验

Enhanced Chat v2 概述

Enhanced Chat v2 是 Service Cloud 上 Enhanced Web Chat 的新客户界面,允许你连接和部署 Service Agent 到外部聊天渠道。支持通过 Custom Lightning Types 自定义 UI、通过 utilAPI.setSessionContext 方法传递上下文事件、以及内联模式(Inline Mode)将聊天客户端嵌入到网页特定元素中。

Context Events(上下文事件)

Enhanced Chat v2 提供了一个独特的上下文事件传递方式。Enhanced Web Chat 中的 utilAPI 新增了 setSessionContext 方法,可在 Enhanced Chat v2 部署中使用,用于在网页和聊天客户端之间传递上下文事件。

Inline Mode(内联模式)vs 浮动模式

模式行为
浮动模式(默认)用户点击右下角 FAB 按钮时出现聊天窗口
内联模式聊天直接渲染在父页面指定的 <div> 元素内,填满目标元素

启用内联模式:

embeddedservice_bootstrap.settings.displayMode = 'inline'; embeddedservice_bootstrap.settings.headerEnabled = false; // 可选 const myElement = document.querySelector('.chat-container'); embeddedservice_bootstrap.settings.targetElement = myElement;


### Custom Lightning Types

使用 Lightning Web Components 个性化聊天外观,可以代表用户发送消息或从 LWC 传递上下文事件。

![上下文事件、内联模式和 Lightning Types](https://sfdcvideotest.oss-cn-beijing.aliyuncs.com/media/ADG001/slide_200/image.png)

## Custom Connections(自定义连接)

Custom Connections 通过 Agent API 将外部 Web 客户端连接到 Agentforce Agent。你定义基于元数据的连接,告知 Agent 你的客户端支持哪些结构化响应格式,Agent 则返回符合这些 Schema 的 JSON。这使得你的客户端可以渲染原生 UI 组件,如轮播、卡片、表单或选择器。

![Custom Connections](https://sfdcvideotest.oss-cn-beijing.aliyuncs.com/media/ADG001/slide_201/image.png)

### 工作原理

Custom Connections 使用两种元数据类型:


- AiSurface —— 定义连接本身:表面级指令(语气、长度限制、格式化条件)、引用的响应格式列表、surfaceType 设为 "Custom"

- AiResponseFormat —— 定义单个结构化输出格式:JSON Schema(input 字段)、描述和指令(告诉 Agent 何时应用此格式)、可选的 invocationTarget

### 响应格式选择过程


- 当前对话轮次的子代理和动作指令首先运行

- Agent 评估每个启用的 AiResponseFormat 的描述和指令

- Agent 每轮最多选择一个格式 —— 判定为最匹配的格式

- `sortOrder` 控制 LLM 评估顺序(较低值先评估;影响但不强制执行)

- 回退:如果没有格式被选中或发生错误 → 返回标准 Agent API 响应(无格式纯文本)

> 警告:所有响应格式指令都是非确定性的。Agent 可能选择错误的格式或产出不完全符合 JSON Schema 的输出。始终构建客户端解析以处理结构化响应和纯文本回退两种情况。

![工作原理](https://sfdcvideotest.oss-cn-beijing.aliyuncs.com/media/ADG001/slide_202/image.png)

## 设置 Custom Connection

![设置 Custom Connection](https://sfdcvideotest.oss-cn-beijing.aliyuncs.com/media/ADG001/slide_203/image.png)

### 目录结构

`unpackaged/
  package.xml
  aiResponseFormats/
    AcmeChatChoices_{surfaceId}.aiResponseFormat
    AcmeChatChoicesWithImages_{surfaceId}.aiResponseFormat
    AcmeChatTimePicker_{surfaceId}.aiResponseFormat
  aiSurfaces/
    AcmeChatClient_{surfaceId}.aiSurface
  genAiPlannerBundles/
    {YourPlannerBundle}/
      {YourPlannerBundle}.genAiPlannerBundle`

{surfaceId} 是区分自定义连接及其关联响应格式的唯一字母数字标识符。

部署顺序(重要)

AiResponseFormat 必须在 AiSurface 之前部署,因为 Surface 引用了 Format。sf project deploy start --manifest unpackaged/package.xml。更新时直接重新部署同名的定义即可替换旧版本。

元数据结构

AiSurface 字段参考

  • description —— 连接的用途描述

  • instructions[] —— 高层指导(instruction 字符串 + sortOrder 整数,较低值优先),如 "Always reply with a brief, friendly, clear response under 160 characters."

  • responseFormats[] —— 启用的响应格式列表(enabled 布尔值 + responseFormat 开发者名称)

  • surfaceType —— "Custom"

AiResponseFormat 字段参考

  • description —— 告诉 Agent 何时选择此格式(用于选择评估,而非仅供人阅读)。如 "Use this when the number of choices is GREATER THAN 1 and LESSER THAN 8."

  • input —— 定义预期输出结构的 JSON Schema(Agent 尝试映射但非严格强制)

  • instructions[] —— 应用此特定格式的详细用例条件

  • invocationTarget / invocationTargetType —— 可选的可调用动作引用(apex/flow/standardInvocableAction)

关联到 Agent

在 GenAiPlannerBundle 中添加 plannerSurfaces 条目,指定 surface 名称和 surfaceType 为 Custom。

AiSurface 和 AiResponseFormat 参考

使用、解析和测试 Custom Connections

在 Agent API 会话中使用

"surfaceConfig": { "surfaceType": "Custom" }


### 解析响应


- 检查消息是否包含 `result` 数组 → 响应格式已被应用

- 读取 `result[0].type` → 格式标识(前缀为 `SURFACE_ACTION__` + AiResponseFormat 开发者名称,不含 _{surfaceId} 后缀)

- 将 `result[0].value` 解析为 JSON → 符合你定义的 input Schema

- 无 result 数组 → 回退,将 message 字段渲染为纯文本

`// 示例响应
"result": [{
  "type": "SURFACE_ACTION__RegistrationForm",
  "value": "{\"title\":\"registrationForm\",\"message\":\"To register...\"}"
}]`

重要:始终在客户端验证 result[0].value 后再交给渲染器 —— 平台不会对 Agent 的结构化输出进行 Schema 验证。

使用、解析和测试

响应格式示例和故障排查

响应格式示例

三种常见设计模式

模式Schema使用条件
文本选项{message: string, choices: string[]}选项数 >1 且
带图选项{message: string, choices: [{title, imageUrl, actionText}]}图片对决策至关重要
时间选择器Slack Block Kit timepicker 语法用户需要选择具体时间

设计技巧

  • 保持格式集小 —— 每个连接少于 7 个响应格式;太多会导致选择不可靠

  • 描述要写给选择逻辑 —— 明确写出精确条件(项目数量、是否包含图片、数据形状),而非泛泛的人类描述

  • 用 LLM 生成 JSON Schema —— 向你偏好的 LLM 提供输出结构,让它生成对应的 JSON Schema

故障排查速查

问题解决方案
无效 JSON Schema验证 input 字段包含有效、正确转义的 JSON
缺失引用AiSurface 中所有格式必须作为已部署的 AiResponseFormat 实体存在
元数据部署错误先部署 AiResponseFormat,再部署 AiSurface
surfaceType 不匹配确保 AiSurface 和 plannerSurfaces 中 surfaceType 一致
响应未格式化验证会话调用中包含 surfaceConfig 且 surfaceType 为 "Custom"

响应格式示例和设计技巧

Custom Connections 为你提供了对客户如何与 Agentforce Agent 交互的完全控制 —— 从原生 UI 组件渲染到结构化数据交换,全部通过标准化的元数据定义实现。

文章来源:https://www.salesforcecrm.cn/article/agentforce/agentforce-customer-chats-guide.html

目录
相关文章
|
5天前
|
人工智能 弹性计算 运维
|
3天前
|
缓存 人工智能 安全
GPT-5.6 Terra与GPT-5.5性能实测:成本减半后的跑分对比与快速迁移指南
GPT-5.6 Terra 的定价为每百万 token 输入 2.50/输出 15。GPT-5.5 则是 5/ 30。Terra 的每一项费率,包括 $0.25/M 的缓存读取,都恰好是 GPT-5.5 的一半,因此在任何工作负载组合下,Terra 都固定 便宜 2.0x。以每天 10 万次请求、3K token 提示词计算,大约是 Terra 每天 2,000,GPT−5.5每天 4,000,即每月约 60,000对 120,000。问题在于:OpenAI 没有发布任何针对 Terra 的编码基准。那个著名的 91.9% Terminal-Bench 数字是 Sol 在 Ul
|
2天前
|
SQL 人工智能 自然语言处理
大模型内容安全实时防护:恶意Prompt注入拦截、越权阻断与熔断机制方案.166
本文系统阐述大模型输入安全防护体系,涵盖提示词注入、恶意Prompt拦截、越权阻断与输入熔断四大核心风险及应对方案。提出四层防护架构(预处理、检测、鉴权、熔断),结合规则引擎、语义识别与RBAC权限控制,实现全链路实时防护,保障业务合规、数据安全与服务稳定。
215 1
|
26天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
10天前
|
人工智能 编解码 物联网
2026 最新Stable Diffusion 本地部署教程 下载安装使用详细图解(含官网安装包)
Stable Diffusion(SD)是2022年发布的开源文生图模型,由Stability AI等联合开发。支持文生图、图生图、局部重绘等,依托VAE降低算力需求,可在消费级显卡运行。本文提供秋葉aaaki制作的Windows整合包(含图形界面与插件),开箱即用,零配置启动。
|
11天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
20天前
|
存储 人工智能 监控
QoderWork完全指南:从入门到精通,把“AI实习生”变成你的全能工作搭档
阿里云2026年推出的桌面端AI工作助手QoderWork,不止聊天,更可动手干活:本地运行、安全可控,支持文件整理、数据分析、PPT生成、网页开发等;内置专家套件、多Agent协作与自定义Skills,让AI真正成为你身边的“AI实习生”。
|
17天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
510 127
|
3天前
|
人工智能 缓存 JSON
刚刚 GPT-5.6 发布,吊打 Claude 5 和 Grok 4.5?一手实测来啦!
GPT-5.6 刚发布,跑分号称超越 Fable 5,真的假的?附一手实测,让 3 个最强 AI 编程模型 GPT-5.6 Sol、Claude Fable 5、Grok 4.5 在 Cursor 里同时一把梭开发网页游戏,看看最新模型到底谁更能打。
239 0