

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 에이전트 셀프 서비스 사용
<a name="agentic-self-service"></a>

**작은 정보**  
 AWS 워크숍: [Connect AI 에이전트를 사용하여 고급 생성형 AI 구축](https://catalog.us-east-1.prod.workshops.aws/workshops/f77f49a2-1eae-4223-a9da-7044d6da51f8/en-US/01-introduction)에서이 과정을 확인하세요.

에이전트 셀프 서비스를 통해 Connect AI 에이전트는 음성 및 채팅 채널에서 고객 문제를 자율적으로 해결할 수 있습니다. 사용자 지정 도구를 선택할 때 AI 에이전트가 고객 응대 흐름에 대한 제어를 반환하는 [레거시 셀프 서비스와](generative-ai-powered-self-service.md) 달리 에이전트 셀프 서비스는 여러 단계에서 추론하고, MCP 도구를 호출하여 고객을 대신하여 조치를 취하고, 문제가 해결되거나 에스컬레이션이 필요할 때까지 지속적인 대화를 유지할 수 있는 오케스트레이터 AI 에이전트를 사용합니다.

예를 들어 고객이 호텔 예약에 대해 전화를 걸면 오케스트레이터 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>

에이전트 셀프 서비스는 다음과 같은 기능을 제공합니다.
+ **자율 다단계 추론 -** 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>

다음 도구 유형을 사용하여 셀프 서비스를 위해 오케스트레이터 AI 에이전트를 구성할 수 있습니다.
+ **[MCP 도구](ai-agent-mcp-tools.md)** - 모델 컨텍스트 프로토콜을 통해 AI 에이전트 기능을 확장합니다. MCP 도구는 백엔드 시스템에 연결하여 주문 상태 조회, 환불 처리, 레코드 업데이트와 같은 작업을 수행합니다. AI 에이전트는 고객 응대 흐름에 대한 제어를 반환하지 않고 대화 중에 MCP 도구를 호출합니다.
+ **컨트롤로 돌아가기** - AI 에이전트에 제어를 중지하고 고객 응대 흐름으로 반환하도록 신호를 보냅니다. 기본적으로 `SelfServiceOrchestrator` AI 에이전트에는 `Complete` (상호 작용을 종료하기 위해) 및 `Escalate` (사람 에이전트로 전송하기 위해)가 포함됩니다. 이러한 기본값을 제거하거나 직접 생성할 수 있습니다. 자세한 내용은 [사용자 지정 컨트롤로 돌아가기 도구](#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 에이전트 유형으로 선택합니다. **기존에서 복사**에서 셀프 서비스용 시스템 AI 에이전트를 시작 구성으로 사용하려면 **SelfServiceOrchestrator**를 선택합니다.

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. 오케스트레이션 프롬프트를 생성하고 연결합니다. 에는 있는 그대로 사용하거나 새 프롬프트를 생성하여 AI 에이전트의 성격, 동작 및 도구 사용 지침을 정의할 수 있는 기본 `SelfServiceOrchestration` 프롬프트가 `SelfServiceOrchestrator` 포함되어 있습니다. 프롬프트에 대한 자세한 내용은 섹션을 참조하세요[Connect AI 에이전트 사용자 지정](customize-connect-ai-agents.md).
**중요**  
오케스트레이터 AI 에이전트는 응답을 `<message>` 태그로 래핑해야 합니다. 이 형식이 없으면 고객은 AI 에이전트의 메시지를 볼 수 없습니다. 자세한 내용은 [메시지 구문 분석](use-orchestration-ai-agent.md#message-parsing) 단원을 참조하십시오.

1. AI 에이전트를 기본 셀프 서비스 에이전트로 설정합니다. **AI 에이전트** 페이지에서 **기본 AI 에이전트 구성**으로 스크롤하고 **셀프 서비스** 행에서 에이전트를 선택합니다.

1. 대화형 AI 봇을 생성합니다. **라우팅**, **흐름**, **대화형 AI**로 이동하여 Amazon Connect AI 에이전트 의도가 활성화된 봇을 생성합니다. 자세한 내용은 [Connect AI 에이전트 의도 생성](create-qic-intent-connect.md) 단원을 참조하십시오.

1. 고객 응대를 AI 에이전트로 라우팅하는 고객 응대 흐름을 구축합니다. 대화형 AI 봇을 호출하는 [고객 입력 가져오기](get-customer-input.md) 블록과 AI 에이전트가 선택한 컨트롤로 돌아가기 도구를 기반으로 라우팅할 [연락처 속성 확인](check-contact-attributes.md) 블록을 추가합니다. 자세한 내용은 [흐름 생성 및 대화형 AI 봇 추가](create-bot-flow.md) 단원을 참조하십시오.

   다음 이미지는 에이전트 셀프 서비스에 대한 고객 응대 흐름의 예를 보여줍니다.  
![\[로깅 동작 설정, 음성 설정, Lex 봇으로 고객 입력 가져오기, 완료, 에스컬레이션 및 일치하지 않음 브랜치를 사용하여 도구 선택을 위한 고객 응대 속성 확인, 작업 대기열 설정, 대기열로 전송 및 연결 해제 블록을 사용하는 에이전트 셀프 서비스 고객 응대 흐름의 예입니다.\]](http://docs.aws.amazon.com/ko_kr/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>

다음 예제에서는 기본 에스컬레이션 도구를 에스컬레이션 이유, 요약, 고객 의도 및 감정을 캡처하는 사용자 지정 버전으로 교체하는 방법을 보여줍니다. 이 추가 컨텍스트는 인간 에이전트가 대화를 시작할 때 시작을 제공합니다.

먼저 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. AI 대화가 종료됩니다.

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. (선택 사항) Amazon Lex 세션 속성에서 연락 속성으로 도구의 입력 파라미터를 복사하는 [연락처 속성 설정](set-contact-attributes.md) 블록을 추가합니다. 이렇게 하면 다운스트림 라우팅 및 에이전트 화면 팝업에 컨텍스트를 사용할 수 있습니다.

1. 각 조건을 적절한 라우팅 로직에 연결합니다. 예제:
   + **완료** - 상호 작용을 종료하기 위해 **연결** 해제 블록으로 라우팅합니다.
   + **에스컬레이션** - **작업 대기열 설정** 및 **대기열로 전송 블록으로** 라우팅하여 고객 응대를 인적 에이전트로 전송합니다.
   + **사용자 지정 도구** - 사용 사례에 맞는 추가 흐름 로직으로 라우팅합니다.

1. [연락처 속성 확인](check-contact-attributes.md) 블록의 **일치 항목 없음** 출력을 **연결 해제** 블록 또는 추가 라우팅 로직에 연결합니다.

#### 예: 컨텍스트를 사용하여 에스컬레이션 도구 라우팅
<a name="agentic-self-service-escalation-example"></a>

컨텍스트가 있는 사용자 지정 에스컬레이션 도구를 생성한 경우( 참조[예: 컨텍스트가 있는 사용자 지정 에스컬레이션 도구](#agentic-self-service-custom-escalate-schema)) [연락처 속성 설정](set-contact-attributes.md) 블록을 사용하여 에스컬레이션 컨텍스트를 연락처 속성에 복사할 수 있습니다. 다음 속성을 동적으로 설정합니다.


| 대상 키(사용자 정의) | 소스 네임스페이스 | 소스 세션 속성 키 | 
| --- | --- | --- | 
| escalationReason | Lex - 세션 속성 | escalationReason | 
| escalationSummary | Lex - 세션 속성 | escalationSummary | 
| customerIntent | Lex - 세션 속성 | customerIntent | 
| 감성 | Lex - 세션 속성 | 감성 | 

(선택 사항) **이벤트 흐름 설정** 블록을 추가하여 고객 응대를 수락할 때 인적 에이전트에 에스컬레이션 컨텍스트를 표시합니다. **에이전트 UI의 이벤트를 기본 흐름**으로 설정하고 에이전트에게 에스컬레이션 요약, 이유 및 감정을 제공하는 흐름을 선택합니다.

## 테스트 및 개발에 상수 도구 사용
<a name="agentic-self-service-constant-tools"></a>

상수 도구는 호출 시 구성된 정적 문자열 값을 AI 에이전트에 반환합니다. 컨트롤로 돌아가기 도구와 달리 상수 도구는 AI 대화를 종료하지 않습니다. AI 에이전트는 문자열을 수신하고 대화를 계속합니다. 따라서 개발 중 테스트 및 빠른 반복에 상수 도구가 유용하므로 백엔드 시스템에 연결하지 않고도 도구 응답을 시뮬레이션할 수 있습니다.

상수 도구를 생성하려면:

1. AI 에이전트 구성에서 **도구 추가**를 선택한 다음 **새 AI 도구 생성을** 선택합니다.

1. 도구 이름을 입력하고 도구 유형으로 **상수**를 선택합니다.

1. **상수 값** 필드에 도구가 AI 에이전트에 반환해야 하는 정적 문자열을 입력합니다.

1. **생성을** 선택한 다음 **게시**를 선택하여 AI 에이전트를 저장합니다.

예를 들어 샘플 JSON 응답을 반환**getOrderStatus**하는 라는 상수 도구를 생성할 수 있습니다. 이를 통해 AI 에이전트가 MCP 도구를 통해 실제 주문 관리 시스템에 연결하기 전에 주문 상태 요청을 처리하는 방법을 테스트할 수 있습니다.

# 에이전트 셀프 서비스 채팅 경험을 처음부터 끝까지 설정하는 방법
<a name="setup-agentic-selfservice-end-to-end"></a>

**참고**  
오케스트레이션 AI 에이전트는 채팅 고객 응대에 대해 채팅 스트리밍을 활성화해야 합니다. 채팅 스트리밍을 활성화하지 않으면 일부 메시지가 렌더링되지 않습니다. [AI 기반 채팅을 위한 메시지 스트리밍 활성화](message-streaming-ai-chat.md)을(를) 참조하세요.

## AI 메시징 스트리밍이란 무엇인가요?
<a name="what-is-ai-message-streaming"></a>

AI 메시지 스트리밍은 채팅 상호 작용 중에 **AI 에이전트 응답을 점진적으로 표시할** 수 있는 Amazon Connect 기능입니다. 고객에게 무언가를 보여주기 전에 AI가 완전한 응답을 생성할 때까지 기다리는 대신 스트리밍은 생성되는 텍스트를 표시하여 보다 자연스럽고 대화적인 경험을 만듭니다.

### 작동 방식
<a name="how-streaming-works"></a>

표준 채팅 응답을 사용하면 AI가 전체 응답을 생성하는 동안 고객이 기다리면 전체 메시지가 한 번에 나타납니다. AI 메시지 스트리밍을 사용하면 실시간으로 다른 사람이 유형을 입력하는 것을 보는 것과 마찬가지로 AI가 단어를 생성할 때 단어가 점진적으로 나타나는 **텍스트 버블이 늘어나**는 것을 볼 수 있습니다.

**참고**  
**공식 설명서**: 전체 기술 참조는 섹션을 참조하세요[AI 기반 채팅을 위한 메시지 스트리밍 활성화](message-streaming-ai-chat.md).

### 프로그레시브 텍스트 디스플레이의 이점
<a name="benefits-progressive-text"></a>

AI 메시지 스트리밍은 고객 경험에 대한 몇 가지 주요 이점을 제공합니다.
+ **인식된 대기 시간 단축** - 고객은 로딩 스피너를 바라보지 않고 즉각적인 활동을 볼 수 있습니다.
+ **보다 자연스러운 대화 흐름** - 프로그레시브 텍스트는 사람의 입력을 모방하여 보다 매력적인 상호 작용을 생성합니다.
+ **참여도 향상** - 고객은 응답이 생성되는 동안 응답을 읽을 수 있습니다.
+ **이행 메시지** - AI 에이전트는 처리 중에 "계정을 검토하는 동안 1분"과 같은 임시 메시지를 제공할 수 있습니다.

### 표준 채팅과 스트리밍 채팅 비교
<a name="standard-vs-streaming-chat"></a>

다음 표에서는 표준 채팅과 스트리밍 채팅 간의 고객 경험을 비교합니다.


| 속성 | 표준 채팅 | 스트리밍 채팅 | 
| --- | --- | --- | 
| 응답 표시 | 완료 메시지가 한 번에 모두 표시됨 | 텍스트가 점진적으로 나타납니다(풍선 증가). | 
| 고객 경험 | 로드 표시기가 있는 전체 응답 대기 | 실시간으로 표시되는 단어 보기 | 
| 인식된 대기 시간 | 더 김(완전한 응답을 기다리는 중) | 더 짧음(즉각적인 시각적 피드백) | 
| 대화 느낌 | 트랜잭션 | 사람과 채팅하는 것과 같은 자연스러움 | 
| 이행 메시지 | 사용할 수 없음 | AI가 중간 상태 업데이트를 전송할 수 있음 | 
| Lex 제한 시간 처리 | Lex 제한 시간 적용 | Lex 제한 시간 제거 | 

## 활성화 상태
<a name="enablement-status"></a>

AI 메시지 스트리밍 가용성은 Amazon Connect 인스턴스가 생성된 시기와 구성 방식에 따라 달라집니다.

### 새 인스턴스에 대한 자동 활성화
<a name="automatic-enablement-new-instances"></a>

**2025년 12월 이후에** 생성된 Amazon Connect 인스턴스에는 기본적으로 AI 메시지 스트리밍이 활성화되어 있습니다. `MESSAGE_STREAMING` 인스턴스 속성은 이러한 인스턴스에 `true` 대해 자동으로 로 설정되므로 추가 구성이 필요하지 않습니다.

**중요**  
**2025년 12월 이전에** 생성된 Amazon Connect 인스턴스가 있는 AWS 계정을 사용하는 경우 AI 메시지 스트리밍을 수동으로 활성화해야 할 수 있습니다. [AI 기반 채팅을 위한 메시지 스트리밍 활성화](https://docs.aws.amazon.com/connect/latest/adminguide/message-streaming-ai-chat.html) 설명서의 지침에 따라 인스턴스의 `MESSAGE_STREAMING` 속성을 확인하고 필요한 경우 활성화합니다.

### Amazon Lex 봇 권한
<a name="amazon-lex-bot-permissions"></a>

AI 메시지 스트리밍이 올바르게 작동하려면 `lex:RecognizeMessageAsync` 권한이 필요합니다. 이 권한을 통해 Amazon Connect는 스트리밍 응답을 활성화하는 비동기 메시지 인식 API를 호출할 수 있습니다.

**새 Lex 봇 연결의 경우**: 새 Amazon Lex 봇을 Amazon Connect 인스턴스와 연결하면 필요한 `lex:RecognizeMessageAsync` 권한이 봇의 리소스 기반 정책에 **자동으로 포함됩니다**. 추가 구성은 필요하지 않습니다.

**중요**  
AI 메시지 스트리밍이 활성화되기 **전에** Amazon Connect 인스턴스와 연결된 Amazon Amazon Lex 봇이 있는 경우 `lex:RecognizeMessageAsync` 권한을 포함하도록 봇의 리소스 기반 정책을 업데이트해야 할 수 있습니다.  
기존 Lex 봇 정책을 업데이트하려면:  
Amazon Lex 콘솔로 이동
봇을 선택하고 **리소스 기반 정책**으로 이동합니다.
Amazon Connect 액세스 권한을 부여하는 정책 설명에 `lex:RecognizeMessageAsync` 작업 추가
업데이트된 정책 저장
자세한 지침은 AWS 설명서의 [Lex 봇 권한](https://docs.aws.amazon.com/connect/latest/adminguide/message-streaming-ai-chat.html#lex-bot-permissions) 섹션을 참조하세요.

## 통신 위젯 생성
<a name="create-communications-widget"></a>

Amazon Connect Communications Widget은 모든 웹 사이트에 추가할 수 있는 임베딩 가능한 채팅 인터페이스입니다. 이 섹션에서는 AI 메시지 스트리밍을 테스트하는 위젯을 생성하고 구성합니다. 자체 고객 채팅 위젯을 사용하려는 경우이 섹션을 건너뛸 수 있습니다.

### 1단계: 통신 위젯으로 이동
<a name="navigate-to-widget"></a>

1. Amazon Connect 콘솔에서 인스턴스로 이동합니다.

1. 왼쪽 탐색 메뉴에서 **채널을 클릭합니다.** 

1. **커뮤니케이션 위젯** 클릭

1. 통신 위젯 관리 페이지가 표시됩니다.

**참고**  
**통신 위젯이란 무엇입니까?** 통신 위젯은 Amazon Connect의 out-of-the-box 채팅 솔루션입니다. 간단한 JavaScript 코드 조각을 사용하여 웹 사이트에 포함할 수 있는 완전한 기능을 갖춘 채팅 인터페이스를 제공합니다. 위젯은 연결 설정, 세션 관리 및 메시지 표시의 모든 복잡성을 처리합니다.

### 2단계: 새 위젯 생성
<a name="create-new-widget"></a>

1. **위젯 추가**를 클릭하여 새 통신 위젯을 생성합니다.

1. 다음 세부 정보를 입력합니다.
   + **이름:** **AI-Streaming-Demo-Widget**
   + **설명:** **Widget for testing AI Message Streaming**

1. **통신 옵션**에서 **채팅 추가**가 선택되어 있는지 확인합니다.

1. 채팅 고객 응대 **흐름으로 셀프 서비스 테스트** 흐름을 선택합니다.

1. **저장을 클릭하고 계속**을 클릭하여 구성 페이지로 이동합니다.

**고객 응대 흐름 선택**  
다음과 같은 고객 응대 흐름을 선택해야 합니다.  
기본 설정이 구성되어 있음(AI 세션 생성, 로깅 등)
AI 에이전트 통합을 통해 Lex 봇으로 라우팅
연결 해제에 대한 적절한 오류 처리가 있습니다.
고객 응대 흐름을 아직 생성하지 않은 경우 [흐름 생성](https://catalog.workshops.aws/amazon-q-in-connect/en-US/03-Self-Service-Track/01-ai-agent-configuration/04-creating-flow/) 섹션을 먼저 완료합니다.

### 3단계: 위젯 모양 사용자 지정
<a name="customize-widget-appearance"></a>

브랜드에 맞게 채팅 위젯의 모양과 느낌을 사용자 지정하고 **저장 후 계속**을 선택합니다.

### 4단계: 허용된 도메인 구성
<a name="configure-allowed-domains"></a>

통신 위젯은 명시적으로 허용된 웹 사이트에서만 로드됩니다. 이 보안 기능은 위젯의 무단 사용을 방지합니다.

1. **허용된 도메인까지 아래로 스크롤합니다.**

1. **도메인 추가**를 클릭하고 localhost 테스트를 위해 다음 도메인을 추가합니다.
   + **http://localhost**

1. 보안에서 **아니요**를 선택합니다.

1. 나중에 프로덕션 웹 사이트에 배포하려는 경우 해당 도메인도 추가하고 보안을 구성해야 합니다(예: **https://www.example.com**).

### 5단계: 위젯 코드 저장 및 가져오기
<a name="save-get-widget-code"></a>

1. **저장 및 계속**을 클릭하여 위젯 구성을 저장합니다.

1. 생성 후 임베드 코드가 포함된 **위젯 세부 정보** 페이지가 표시됩니다.

1. **중요**: 임베드 코드 조각에서 다음 값을 복사하여 저장합니다.
   + **클라이언트 URI** - 위젯 JavaScript 파일의 URL
   + **위젯 ID** - 위젯의 고유 식별자
   + **코드 조각 ID** Base64-encoded 구성 문자열

### 6단계: 로컬 테스트 환경 설정
<a name="setup-local-testing"></a>

위젯을 로컬에서 테스트하려면 통신 위젯을 로드하는 간단한 HTML 파일을 생성합니다.

1. 컴퓨터에 테스트용 새 폴더 생성(예: `ai-streaming-test`)

1. 데모 페이지의 배경 이미지를 다운로드하여 테스트 폴더에 `background.jpg` 로 저장합니다.

1. 다음 내용을 사용하여 `index.html` 테스트 폴더에 라는 새 파일을 생성합니다.

```
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <style>
        body {
            background-image: url("background.jpg");
            background-repeat: no-repeat;
            background-size: cover;
        }
    </style>
    <title>AI Message Streaming Demo</title>
</head>
<body>
    <div id="root"></div>
    <script type="text/javascript">
      (function(w, d, x, id){
        s=d.createElement('script');
        s.src='REPLACE_WITH_CLIENT_URI';
        s.async=1;
        s.id=id;
        d.getElementsByTagName('head')[0].appendChild(s);
        w[x] = w[x] || function() { (w[x].ac = w[x].ac || []).push(arguments) };
      })(window, document, 'amazon_connect', 'REPLACE_WITH_WIDGET_ID');
      amazon_connect('styles', {
        iconType: 'CHAT',
        openChat: { color: '#ffffff', backgroundColor: '#ff9200' },
        closeChat: { color: '#ffffff', backgroundColor: '#ff9200'}
      });
      amazon_connect('snippetId', 'REPLACE_WITH_SNIPPET_ID');
      amazon_connect('supportedMessagingContentTypes', [
        'text/plain',
        'text/markdown',
        'application/vnd.amazonaws.connect.message.interactive',
        'application/vnd.amazonaws.connect.message.interactive.response'
      ]);
      amazon_connect('customStyles', {
        global: { frameWidth: '500px', frameHeight: '900px'}
      });
    </script>
</body>
</html>
```

### 7단계: 자리 표시자 값 바꾸기
<a name="replace-placeholder-values"></a>

HTML 파일의 자리 표시자 값을 실제 위젯 값으로 바꿉니다.


| Placeholder | 로 바꾸기 | 예제 | 
| --- | --- | --- | 
| REPLACE\$1WITH\$1CLIENT\$1URI | 5단계의 클라이언트 URI | https://d2s9x5slqf05.cloudfront.net/amazon-connect-chat-interface-client.js | 
| REPLACE\$1WITH\$1WIDGET\$1ID | 5단계의 위젯 ID | amazon\$1connect\$1widget\$1abc123 | 
| REPLACE\$1WITH\$1SNIPPET\$1ID | 5단계의 코드 조각 ID | QVFJREFIaWJYbG... (긴 Base64 문자열) | 

### 8단계: 로컬 웹 서버 시작
<a name="start-local-web-server"></a>

위젯을 테스트하려면 로컬 웹 서버에서 HTML 파일을 제공해야 합니다. 다음은 몇 가지 옵션입니다.

**옵션 A: Python(설치된 경우)**  


```
python -m http.server 8001
```

**옵션 B: Node.js(설치된 경우)**  


```
npx http-server -p 8001
```

**옵션 C: VS Code Live Server 확장**  

+ VS Code에 "Live Server" 확장 프로그램 설치
+ 마우스 오른쪽 버튼을 클릭하고 "Live Server로 열기"를 `index.html` 선택합니다.

서버를 시작한 후 브라우저를 열고 다음으로 이동합니다. `http://localhost:8001` 

오른쪽 하단에 주황색 채팅 버튼이 있는 데모 페이지가 표시됩니다.

## 스트리밍 환경 테스트
<a name="test-streaming-experience"></a>

위젯이 로드되었으므로 이제 AI 메시지 스트리밍을 테스트하고 진행 중인 텍스트 표시를 관찰할 차례입니다.

### 찾아야 할 사항: 스트리밍과 비스트리밍
<a name="what-to-look-for"></a>

스트리밍 응답과 비스트리밍 응답의 차이를 이해하면 AI 메시지 스트리밍이 작동하는지 확인하는 데 도움이 됩니다.


| 동작 | 비 스트리밍(표준) | 스트리밍(AI 메시지 스트리밍) | 
| --- | --- | --- | 
| 초기 디스플레이 | 표시기 로드 또는 점 입력 | 텍스트가 즉시 표시되기 시작합니다. | 
| 텍스트 모양 | 완료 메시지가 한 번에 모두 표시됨 | 단어가 점진적으로 나타납니다(풍선 증가). | 
| 응답 타이밍 | AI 생성이 완료될 때까지 기다립니다. | 생성 중 응답 확인 | 
| 시각적 효과 | 전체 텍스트의 "팝" | 다른 사람 유형 보기와 같은 부드러운 흐름 텍스트 | 