

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

# 시각적 대화 빌더 사용
<a name="visual-conversation-builder"></a>

시각적 대화 빌더는 풍부한 시각적 환경 내에서 의도를 사용하여 대화 경로를 쉽게 설계하고 시각화할 수 있는 드래그 앤 드롭 방식의 대화 빌더입니다.

**시각적 대화 빌더에 액세스하려면**

1. Amazon Lex V2 콘솔에서 봇을 선택하고 왼쪽 탐색 창에서 **의도**를 선택합니다.

1. 다음 방법 중 하나로 의도 편집기로 이동합니다.
   + **의도** 섹션의 오른쪽 상단에서 **의도 추가**를 선택한 다음 빈 의도를 추가할지 아니면 기본 제공 의도를 추가할지 선택합니다.
   + **의도** 섹션에서 의도 이름을 선택합니다.

1. 의도 편집기에서 화면 하단 창의 **시각적 빌더**를 선택하여 시각적 대화 빌더에 액세스합니다.

1. 메뉴 의도 편집기 인터페이스로 돌아가려면 **편집기**를 선택합니다.

![\[시각적 대화 빌더를 사용한 샘플 대화 흐름.\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-sample.png)


시각적 대화 빌더는 대화 흐름을 시각화하고 수정할 수 있는 기능을 갖춘 보다 직관적인 사용자 인터페이스를 제공합니다. 블록을 드래그 앤 드롭하여 기존 흐름을 확장하거나 대화 단계를 재정렬할 수 있습니다. Lambda 코드를 작성하지 않고도 복잡한 분기를 사용하여 대화 흐름을 개발할 수 있습니다.

이 변경은 Lambda의 다른 비즈니스 로직과 대화 흐름 설계를 분리하는 데 도움이 됩니다. 시각적 대화 빌더는 기존 의도 편집기와 함께 사용할 수 있으며 대화 흐름을 구축하는 데 사용할 수 있습니다. 하지만 좀 더 복잡한 대화 흐름에는 시각적 편집기 보기를 사용하는 것이 좋습니다.

의도를 저장하면 Amazon Lex V2에서 누락된 연결이 확인되면 의도를 자동으로 연결하거나, Amazon Lex V2가 연결을 제안하거나, 사용자가 직접 차단할 연결을 선택할 수 있습니다.


| Action | 예시 | 
| --- | --- | 
|  작업 영역에 블록 추가  |  ![\[작업 영역으로 블록 추가\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-addblock.gif)  | 
|  블록 간 연결 만들기  |  ![\[블록 간 연결 만들기\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-connectionblock.gif)  | 
|  블록에서 구성 패널 열기  |  ![\[블록의 구성 패널 열기\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-openpanelblock.gif)  | 
|  크기에 맞게 확대/축소  |  ![\[크기에 맞게 확대/축소\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-zoomtofit.gif)  | 
|  대화 흐름에서 블록 삭제  |  ![\[대화 흐름에서 블록 삭제\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-deleteblock.gif)  | 
|  작업 영역 자동 정리  |  ![\[작업 영역 자동 정리\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-autoclean.gif)  | 

**용어:**

**블록** – 대화 흐름의 기본 구성 단위입니다. 각 블록에는 대화의 다양한 사용 사례를 처리하는 특정 기능이 있습니다.

**포트** - 각 블록에는 한 블록을 다른 블록에 연결하는 데 사용할 수 있는 포트가 있습니다. 블록에는 입력 포트와 출력 포트가 포함될 수 있습니다. 각 출력 포트는 블록의 특정 기능 변화(예: 오류, 시간 초과 또는 성공)를 나타냅니다.

**엣지** – 엣지는 한 블록의 출력 포트와 다른 블록의 입력 포트를 연결하는 것입니다. 대화 흐름에서 분기의 일부입니다.

**대화 흐름** – 고객과의 의도 수준 상호 작용을 설명하는 엣지로 연결된 블록 세트입니다.

**블록**

블록은 대화 흐름 설계의 구성 요소입니다. 의도 시작부터 사용자 입력, 종료까지 의도 내의 다양한 상태를 나타냅니다.

블록 유형에 따라 각 블록에는 진입점과 하나 이상의 종료점이 있습니다. 대화가 종료점을 통해 진행될 때 각 종료점을 해당 메시지로 구성할 수 있습니다. 종료점이 여러 개 있는 블록의 경우 종료점은 노드에 해당하는 상태와 관련이 있습니다. 조건 노드의 경우 종료점은 다양한 조건을 나타냅니다.

각 블록에는 블록 오른쪽 상단의 **편집** 아이콘을 클릭하면 열리는 구성 패널이 있습니다. 구성 패널에는 각 블록에 맞게 구성할 수 있는 세부 필드가 있습니다.

봇 프롬프트와 메시지는 새 블록을 드래그하여 노드에서 직접 구성하거나 오른쪽 패널에서 블록의 다른 속성과 함께 수정할 수 있습니다.

**블록 유형** – 시각적 대화 빌더와 함께 사용할 수 있는 블록 유형은 다음과 같습니다.


| 블록 유형 | 블록 | 
| --- | --- | 
|  **시작** - 대화 흐름의 루트 또는 첫 번째 블록입니다. 봇이 초기 응답(의도가 인식되었다는 메시지)을 보낼 수 있도록 이 블록을 구성할 수도 있습니다. 자세한 내용은 [초기 응답](intent-initial.md) 섹션을 참조하세요.  |  ![\[시각적 대화 빌더의 시작 블록\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-start.png)  | 
|  **슬롯 값 가져오기** – 이 블록은 단일 슬롯에 대한 값을 유도하려고 합니다. 이 블록에는 슬롯 유도 프롬프트에 대한 고객 응답을 기다리는 설정이 있습니다. 자세한 내용은 [Slots](intent-slots.md) 섹션을 참조하세요.  |  ![\[시각적 대화 빌더의 슬롯 값 가져오기 블록\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-getslotvalue.png)  | 
|  **조건** – 이 블록에는 조건문이 포함되어 있습니다. 여기에는 최대 4개의 사용자 지정 분기(조건 포함)와 1개의 기본 분기가 포함됩니다. 자세한 내용은 [조건을 추가하여 대화 분기 설정](paths-branching.md) 섹션을 참조하세요.  |  ![\[시각적 대화 빌더의 조건 블록\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-condition.png)  | 
|  **대화 코드 후크** - 이 블록은 대화 Lambda 함수 호출을 처리합니다. 이 블록에는 Lambda 함수 성공, 실패 또는 시간 초과에 따른 봇 응답이 포함되어 있습니다. 자세한 내용은 [대화 코드 후크 간접 호출](paths-code-hook.md) 섹션을 참조하세요.  |  ![\[시각적 대화 빌더의 코드 후크 블록\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-codehook.png)  | 
|  **확인** – 이 블록은 의도를 충족하기 전에 고객을 쿼리합니다. 여기에는 확인 프롬프트에 예 또는 아니오로 답한 고객을 기반으로 한 봇 응답이 포함됩니다. 자세한 내용은 [확인](intent-confirm.md) 섹션을 참조하세요.  |  ![\[시각적 대화 빌더의 확인 블록\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-confirmation.png)  | 
|  **이행** – 이 블록은 일반적으로 슬롯 유도 후 의도 이행을 처리합니다. 이행이 성공하거나 실패할 경우 Lambda 함수를 호출하고 메시지로 응답하도록 구성할 수 있습니다. 자세한 내용은 [이행](intent-fulfillment.md) 섹션을 참조하세요.  |  ![\[시각적 대화 빌더의 이행 블록\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-fulfillment.png)  | 
|  **응답 종료** – 이 블록을 사용하면 봇이 대화를 종료하기 전에 메시지로 응답할 수 있습니다. 자세한 내용은 [종료 응답](intent-closing.md) 섹션을 참조하세요.  |  ![\[시각적 대화 빌더의 종료 블록\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-closing.png)  | 
|  **대화 종료** – 이 블록은 대화 흐름의 종료를 나타냅니다.  |  ![\[시각적 대화 빌더의 엔드 블록\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-end.png)  | 
|  **사용자 입력 대기** – 이 블록을 사용하여 고객의 입력을 캡처하고 발화에 따라 다른 의도로 전환할 수 있습니다.  |  ![\[시각적 대화 빌더의 대기 블록\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-wait.png)  | 
|  **의도로 이동** – 이 블록을 사용하여 새 의도로 이동하거나 해당 의도의 특정 슬롯을 직접 유도할 수 있습니다.  |  ![\[시각적 대화 빌더의 의도로 이동 블록\]](http://docs.aws.amazon.com/ko_kr/lexv2/latest/dg/images/vcb-gotointent.png)  | 

**포트 유형**

모든 블록에는 상위 블록을 연결하는 데 사용되는 입력 포트 하나가 있습니다. 대화는 상위 블록의 출력 포트에서 특정 블록의 입력 포트로만 전달될 수 있습니다. 그러나 블록에는 0, 1 또는 여러 개의 출력 포트가 포함될 수 있습니다. 출력 포트가 없는 블록은 현재 의도(`GoToIntent`,`EndConversation`,`WaitForUserInput`)의 대화 흐름이 종료되었음을 의미합니다.

**의도 설계 규칙:**
+ 의도의 모든 흐름은 시작 블록에서 시작됩니다.
+ 각 종료점에 해당하는 메시지는 선택 사항입니다.
+ 구성 패널의 각 종료점에 해당하는 값을 설정하도록 블록을 구성할 수 있습니다.
+ 의도 내 단일 흐름에는 단일 시작, 확인, 이행 및 종료 블록만 존재할 수 있습니다. 여러 조건, 대화 코드 후크, 슬롯 값 가져오기, 대화 종료, 전송 및 사용자 입력 대기 블록이 존재할 수 있습니다.
+ 조건 블록은 조건 블록에 직접 연결할 수 없습니다. 대화 코드 후크에도 동일하게 적용됩니다.
+ 순환 흐름은 세 블록은 허용되지만 시작 의도로 수신 커넥터는 허용되지 않습니다.
+ 옵션 슬롯에는 수신 커넥터나 발신 연결이 없으며 주로 의도 유도 중에 존재하는 모든 데이터를 캡처하는 데 사용됩니다. 대화 경로의 일부인 다른 모든 슬롯은 필수 슬롯이어야 합니다.

블록:
+ 시작 블록에는 아웃바운드 엣지가 있어야 합니다.
+ 슬롯이 필요한 경우 모든 슬롯 값 가져오기 블록에는 성공 포트의 아웃바운드 엣지가 있어야 합니다.
+ 블록이 활성 상태인 경우 모든 조건 블록에는 각 분기로부터 나가는 엣지가 있어야 합니다.
+ 조건 블록에는 상위가 두 개 이상 있을 수 없습니다.
+ 활성 조건 블록에는 수신 엣지가 있어야 합니다.
+ 모든 활성 코드 후크 블록에는 각 포트의 아웃바운드 엣지(성공, 실패 및 시간 초과)가 있어야 합니다.
+ 활성 코드 후크 블록에는 수신 엣지가 있어야 합니다.
+ 활성 확인 블록에는 수신 엣지가 있어야 합니다.
+ 활성 이행 블록에는 수신 엣지가 있어야 합니다.
+ 활성 종료 블록에는 수신 엣지가 있어야 합니다.
+ 조건 블록에는 기본이 아닌 분기가 하나 이상 있어야 합니다.
+ 의도로 이동 블록에는 의도가 지정되어 있어야 합니다.

엣지:
+ 조건 블록은 다른 조건 블록에 연결할 수 없습니다.
+ 코드 후크 블록은 다른 코드 후크 블록에 연결할 수 없습니다.
+ 조건 블록은 0개 또는 1개의 코드 후크 블록에만 연결할 수 있습니다.
+ 연결(코드 후크 -> 조건 -> 코드 후크)이 유효하지 않습니다.
+ 이행 블록은 하위 블록과 동일한 코드 후크 블록을 포함할 수 없습니다.
+ 이행 블록의 하위 블록인 조건 블록에는 코드 후크 블록 하위가 포함될 수 없습니다.
+ 종료 블록에는 하위 블록과 동일한 코드 후크 블록이 포함될 수 없습니다.
+ 종료 블록의 하위 블록인 조건 블록은 코드 후크 블록의 하위 블록을 가질 수 없습니다.
+ 시작, 확인 또는 슬롯 값 가져오기 블록은 종속성 체인에 코드 후크 블록을 두 개 이상 포함할 수 없습니다.

**참고**  
2022년 8월 17일, Amazon Lex V2는 사용자와의 대화를 관리하는 방식에 대한 변경 사항을 발표했습니다. 이번 변경을 통해 사용자가 대화를 통해 이동하는 경로를 더 효과적으로 제어할 수 있게 되었습니다. 자세한 내용은 [Amazon Lex V2의 대화 흐름 변경 사항](understanding-new-flows.md) 단원을 참조하세요. 2022년 8월 17일 이전에 생성된 봇은 대화 코드 후크 메시지, 값 설정, 다음 단계 구성, 조건 추가를 지원하지 않습니다.