

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用代理自助服务
<a name="agentic-self-service"></a>

**提示**  
查看 Workshop 中的这门 AWS 课程：[使用 Connect 人工智能代理构建高级、生成式人工智能](https://catalog.us-east-1.prod.workshops.aws/workshops/f77f49a2-1eae-4223-a9da-7044d6da51f8/en-US/01-introduction)。

Agentic 自助服务使 Connect AI 代理能够通过语音和聊天渠道自主解决客户问题。与[传统的自助服务](generative-ai-powered-self-service.md)不同，在选择自定义工具时，AI 代理会将控制权交还给联系流程，而代理自助服务使用 Orchestrator AI 代理，这些代理可以跨多个步骤进行推理，调用 MCP 工具代表客户采取行动，并保持持续的对话，直到问题得到解决或需要上报。

例如，当客户致电询问酒店预订问题时，Orchestrator AI 代理可以用名字向他们打招呼，询问澄清问题，查找他们的预订并处理修改——所有这些都可以在一个对话中完成，而无需将控制权交还给每个步骤之间的联系流程。

**Topics**
+ [关键功能](#agentic-self-service-key-capabilities)
+ [适用于编排器 AI 代理的工具](#agentic-self-service-default-tools)
+ [设置代理自助服务](#agentic-self-service-setup)
+ [自定义 “返回控制” 工具](#agentic-self-service-custom-escalate)
+ [处理流程中的返回控制工具](#agentic-self-service-escalation-flow)
+ [常用工具](#agentic-self-service-constant-tools)
+ [设置代理自助服务端到端聊天](setup-agentic-selfservice-end-to-end.md)

## 关键功能
<a name="agentic-self-service-key-capabilities"></a>

Agentic 自助服务提供以下功能：
+ **自主多步推理** — AI 代理可以在单个对话回合中链接多个工具调用和推理步骤，以解决复杂的请求。
+ **MCP 工具集成** — 通过模型上下文协议 (MCP) 工具连接到后端系统，以采取诸如查找订单状态、处理退款和更新记录之类的操作。有关更多信息，请参阅 [AI 代理 MCP 工具](ai-agent-mcp-tools.md)。
+ **安全配置文件** — AI 代理使用与人工代理相同的安全配置文件框架，控制 AI 代理可以访问哪些工具。有关更多信息，请参阅 [为 AI 代理分配安全配置文件权限](ai-agent-security-profile-permissions.md)。

## 适用于编排器 AI 代理的工具
<a name="agentic-self-service-default-tools"></a>

您可以使用以下工具类型将 Orchestrator AI 代理配置为自助服务：
+ **[MCP 工具](ai-agent-mcp-tools.md)** — 通过模型上下文协议扩展 AI 代理功能。MCP 工具连接到后端系统以执行诸如查找订单状态、处理退款和更新记录之类的操作。AI 代理在对话期间调用 MCP 工具，而不会将控制权交还给联系流。
+ **返回控制** — 向 AI 代理发出信号，要求其停止并将控制权交还给接触流。默认情况下，`SelfServiceOrchestrator`AI 代理包括`Complete`（用于结束交互）和`Escalate`（转移到人工代理）。您可以删除这些默认设置， and/or 创建自己的默认值。有关更多信息，请参阅 [自定义 “返回控制” 工具](#agentic-self-service-custom-escalate)。
+ **常量**-向 AI 代理返回已配置的静态字符串值。对于开发期间的测试和快速迭代很有用。有关更多信息，请参阅 [常用工具](#agentic-self-service-constant-tools)。

## 设置代理自助服务
<a name="agentic-self-service-setup"></a>

按照以下高级步骤设置代理自助服务：

1. 创建协调器 AI 代理。在 Amazon Connect 管理网站中，前往 **AI 代理设计器**，选择 **AI 代理**，然后选择**创建 AI 代理**。选择 “**编排**” 作为 AI 代理类型。对于**从现有版本复制**，**SelfServiceOrchestrator**请选择使用用于自助服务的系统 AI 代理作为起始配置。

1. 为您的 AI 代理创建安全配置文件。转至 “**用户**”，选择 “**安全配置文件**”，然后创建配置文件以授予对 AI 代理所需工具的访问权限。然后，在 AI 代理配置中，滚动到 “**安全配置文件**” 部分，并从 “选择**安全配置文件” 下拉列表中选择配置文件**。有关更多信息，请参阅 [为 AI 代理分配安全配置文件权限](ai-agent-security-profile-permissions.md)。

1. 使用工具配置您的 AI 代理。从连接的命名空间中添加 MCP 工具，并配置默认的 “返回控制” 工具（`Complete`和）。`Escalate`有关 MCP 工具的更多信息，请参阅[AI 代理 MCP 工具](ai-agent-mcp-tools.md)。

1. 创建并附加编排提示。`SelfServiceOrchestrator`包括一个默认`SelfServiceOrchestration`提示，您可以按原样使用该提示或创建新提示来定义 AI 代理的个性、行为和工具使用说明。有关提示的更多信息，请参阅[自定义 Connect 人工智能代理](customize-connect-ai-agents.md)。
**重要**  
Orchestrator AI 代理要求将响应封装在标签中。`<message>`如果没有这种格式，客户将看不到来自 AI 代理的消息。有关更多信息，请参阅 [消息解析](use-orchestration-ai-agent.md#message-parsing)。

1. 将您的 AI 代理设置为默认自助服务代理。在 **AI 代理**页面上，滚动至**默认 AI 代理配置**，然后在**自助服务**行中选择您的代理。

1. 创建对话式 AI 机器人。前往 “**路由**”、“**流程**”、“**对话式 AI**”，然后创建一个启用 Amazon Connect AI 代理意图的机器人。有关更多信息，请参阅 [创建 Connect 人工智能代理意图](create-qic-intent-connect.md)。

1. 构建联系人流，将联系人路由到您的 AI 代理。添加一个[获取客户输入](get-customer-input.md)用于调用对话式 AI 机器人的[检查联系属性](check-contact-attributes.md)方块，以及一个基于 AI 代理选择的回归控制工具进行路径的方块。有关更多信息，请参阅 [创建流并添加对话式 AI 机器人](create-bot-flow.md)。

   下图显示了代理自助服务的联系流程示例。  
![代理自助服务联系流程示例，包括 “设置日志行为”、“设置语音”、“使用 Lex bot 获取客户输入”、“完成”、“上报” 和 “不匹配” 分支检查联系人属性以选择工具、设置工作队列、转移到队列和断开连接屏蔽。](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/agentic-self-service-contact-flow.png)

**提示**  
如果要为代理自助服务启用聊天流，请参阅[为 AI 支持的聊天启用消息流](message-streaming-ai-chat.md)。有关直播的完整 end-to-end聊天演练，请参阅[设置代理自助服务端到端聊天](setup-agentic-selfservice-end-to-end.md)。

## 创建自定义 “返回控制” 工具
<a name="agentic-self-service-custom-escalate"></a>

返回控制工具向 AI 代理发出信号，要求其停止处理并将控制权交还给联系流。调用 “回归控制” 工具时，工具名称及其输入参数将存储为 Amazon Lex 会话属性，您的联系流程可以使用[检查联系属性](check-contact-attributes.md)块读取这些属性以确定下一步操作。

虽然 `SelfServiceOrchestrator` AI 代理包括默认工具`Complete`和`Escalate`返回控制工具，但您可以创建带有输入架构的自定义 “返回控制” 工具，这些模式可以捕获其他背景信息以供您的联系流采取行动。

要创建自定义 “返回控制” 工具，请执行以下操作：

1. 在 AI 代理配置中，选择**添加工具**，然后选择**创建新 AI 工具**。

1. 输入工具名称并选择 “**返回控制**” 作为工具类型。

1. 定义一个输入架构，用于指定 AI 代理在调用该工具时应捕获的上下文。

1. （可选）在**说明**字段中，描述 AI 代理何时应使用此工具。

1. （可选）添加示例以指导 AI 代理在调用该工具时的行为。

1. 选择**创建**，然后选择**发布**以保存您的 AI 代理。

### 示例：带上下文的自定义升级工具
<a name="agentic-self-service-custom-escalate-schema"></a>

以下示例说明如何使用自定义版本替换默认的 Escalate 工具，该版本可以捕获上报原因、摘要、客户意图和情绪。这种额外的背景使人类代理在开始对话时可以抢先一步。

首先，从 AI 代理中移除默认的升级工具。然后使用以下输入架构创建一个名为**Escalate**的新 “返回控制” 工具：

```
{
    "type": "object",
    "properties": {
        "customerIntent": {
            "type": "string",
            "description": "A brief phrase describing what the customer wants to accomplish"
        },
        "sentiment": {
            "type": "string",
            "description": "Customer's emotional state during the conversation",
            "enum": ["positive", "neutral", "frustrated"]
        },
        "escalationSummary": {
            "type": "string",
            "description": "Summary for the human agent including what the customer asked for, what was attempted, and why escalation is needed",
            "maxLength": 500
        },
        "escalationReason": {
            "type": "string",
            "description": "Category for the escalation reason",
            "enum": [
                "complex_request",
                "technical_issue",
                "customer_frustration",
                "policy_exception",
                "out_of_scope",
                "other"
            ]
        }
    },
    "required": [
        "escalationReason",
        "escalationSummary",
        "customerIntent",
        "sentiment"
    ]
}
```

在**说明**字段中，描述 AI 代理何时应升级。例如：

```
Escalate to a human agent when:
1. The customer's request requires specialized expertise
2. Multiple tools fail or return errors repeatedly
3. The customer expresses frustration or explicitly requests a human
4. The request involves complex coordination across multiple services
5. You cannot provide adequate assistance with available tools
```

（可选）添加示例以指导 AI 代理在升级期间的语气。例如：

```
<message>
I understand this requires some specialized attention. Let me connect you
with a team member who can help coordinate all the details. I'll share
everything we've discussed so they can pick up right where we left off.
</message>
```

## 在联系流程中处理 “返回控制” 工具
<a name="agentic-self-service-escalation-flow"></a>

当 AI 代理调用 “返回控制权” 工具时，控制权将返回到您的联系流。您需要配置流程以检测调用了哪个工具并相应地路由联系人。

### “回归控制” 检测的工作原理
<a name="agentic-self-service-escalation-detection"></a>

当 AI 代理调用 “恢复控制” 工具时：

1. 人工智能对话结束。

1. 控制返回到接触流。

1. 工具名称和输入参数存储为 Amazon Lex 会话属性。

1. 您的流程会相应地检查这些属性和路线。

### 基于 “返回控制” 工具配置路由
<a name="agentic-self-service-escalation-flow-steps"></a>

请按照以下步骤在联系流程中添加 “回归控制” 路由：

1. 在 “**获取客户输入**” [检查联系属性](check-contact-attributes.md) 区块的 “**默认**输出” 之后添加一个区块。

1. 配置方块以检查工具名称：
   + **命名空间**：**Lex**
   + **关键**：**会话属性**
   + **会话属性密钥**：**Tool**

   为您要处理的每个 “回归控制” 工具添加条件。例如，添加值等于**Complete****Escalate**、或您创建的任何自定义 “返回控制” 工具名称的条件。

1. （可选）添加一个[设置联系属性](set-contact-attributes.md)方块，将工具的输入参数从 Amazon Lex 会话属性复制到联系人属性。这使得上下文可用于下游路由和代理屏幕弹出。

1. 将每个条件连接到相应的路由逻辑。例如：
   + **完成**-路由到**断开连接**区块以结束互动。
   + **升级** — 路由到 **“设置工作队列**” 和 “**转移到队列**” 区块以将联系人转移给人工代理。
   + **自定义工具**-路由到特定于您的用例的任何其他流程逻辑。

1. 将[检查联系属性](check-contact-attributes.md)模块的 N **o match** 输出连接到 Disc **on** nect 模块或其他路由逻辑。

#### 示例：使用上下文传送 “升级” 工具
<a name="agentic-self-service-escalation-example"></a>

如果您创建了带有上下文的自定义升级工具（请参阅[示例：带上下文的自定义升级工具](#agentic-self-service-custom-escalate-schema)），则可以使用[设置联系属性](set-contact-attributes.md)块将升级上下文复制到联系人属性。动态设置以下属性：


| 目标密钥（用户定义） | 源命名空间 | 源会话属性密钥 | 
| --- | --- | --- | 
| 上报原因 | Lex — 会话属性 | 上报原因 | 
| 上报摘要 | Lex — 会话属性 | 上报摘要 | 
| 客户意图 | Lex — 会话属性 | 客户意图 | 
| 情绪 | Lex — 会话属性 | 情绪 | 

（可选）添加 **“设置事件流**” 块，以便在人工代理接受联系时向他们显示升级上下文。将**代理用户界面的事件设置为默认流程**，然后选择向代理显示升级摘要、原因和情绪的流程。

## 使用常量工具进行测试和开发
<a name="agentic-self-service-constant-tools"></a>

常量工具在调用 AI 代理时会向 AI 代理返回配置的静态字符串值。与 “重返控制” 工具不同，“常量” 工具不会结束 AI 对话——AI 代理会接收字符串并继续对话。这使得 Constant 工具可用于开发期间的测试和快速迭代，使您无需连接到后端系统即可模拟工具响应。

要创建常量工具，请执行以下操作：

1. 在 AI 代理配置中，选择**添加工具**，然后选择**创建新 AI 工具**。

1. 输入刀具名称并选择 “**常量**” 作为刀具类型。

1. 在**常量值**字段中，输入该工具应返回给 AI 代理的静态字符串。

1. 选择**创建**，然后选择**发布**以保存您的 AI 代理。

例如，您可以创建一个名为的常量工具**getOrderStatus**，用于返回 JSON 响应示例。这使您可以在通过 MCP 工具连接到实际订单管理系统之前，测试 AI 代理如何处理订单状态请求。