대화 세션이란 봇과 사용자 간의 중단 없는 상호 작용이라고 정의할 수 있습니다. 이러한 세션은 봇 빌더 및 봇 관리자 콘솔 플랫폼의 다양한 분석 대시보드에서 사용됩니다. Kore.ai 가상 비서 플랫폼을 사용하면 이러한 대화 세션을 생성하고 종료하는 방법을 사용자 정의할 수 있습니다.
대화 세션은 청구 세션과 다릅니다. 청구 세션에 대한 자세한 내용은 여기를 참조하세요.
개요
대화 세션이란 봇과 최종 사용자 간의 중단 없는 상호 작용이라고 정의할 수 있습니다.
- 플랫폼의 v7.2 출시 이전 – 최종 사용자의 마지막 상호 작용 이후 비활성 기간(15분으로 설정)이 경과한 후 새 세션이 생성되었습니다.
- v7.2 이후 – 비활성 기간(15분으로 설정)이 경과한 후
- 최종 사용자가 돌아와 같은 의도에서 계속 진행하면 현재 세션이 계속됩니다.
- 최종 사용자가 새 의도나 기존 의도에 대해 유효하지 않은 입력과 함께 돌아올 경우 새 세션이 생성됩니다.
- v8.0 이후 플랫폼은 다음과 같은 옵션을 제공합니다.
- 비활성 상태 후 세션을 사전에 종료함 세션 관리에 대한 자세한 내용은 여기를 참조하세요.
- 비활성 후 세션을 사전에 종료하지 않음 – 위에서 설명한 v7.2 동작을 유지합니다.
대화 세션은 가상 비서 또는 봇과의 모든 상호 작용에 대해 생성되며 다음을 포함합니다.
- 모든 대화는 대화형 세션으로 표시된 사용자의 메시지를 하나 이상 포함합니다. 이러한 대화는 권한 부여 세부 정보 제공을 비롯한 모든 채널과 이벤트에서 모든 최종 사용자 상호 작용을 포함합니다.
- onConnect 이벤트 메시지와 같은 모든 봇으로 시작한 대화 세션은 비대화형 세션으로 기록됩니다. 이러한 세션은 사용자 메시지가 수신되는 즉시 대화형 세션으로 업데이트됩니다. 비대화형 세션은 청구 세션 계산에 고려되지 않습니다.
- 개발자 상호 작용도 대화 세션에 포함됩니다. 플래그는 사용자 세션을 개발자 세션과 구분하며, 이러한 개발자 세션에 대해서는 청구 세션이 생성되지 않습니다.
참고: 대화 세션에 비대화형 및 개발자 상호 작용을 포함시키기 위해 ver8.0을 사용합니다.
세션 관리
이 기능은 플랫폼 v8.0에서 출시되었습니다. 빌드 탭의 설정에서 세션 관리 옵션을 선택하여 대화 세션 동작을 정의할 수 있습니다.
- 비활성 상태 후 세션을 사전에 종료하지 마세요 – 이 옵션은 사용자가 15분 동안 비활성 상태였다 돌아와 새 의도를 제공할 때만 세션을 종료합니다. 이 동작은 플랫폼의 ver8.0 릴리스 이전의 기본 동작입니다. 이 옵션은 향후 릴리스에서 사용되지 않습니다.
- 비활성 상태 후 세션을 사전에 종료하세요 – 이 옵션은 지정된 비활성 기간 후에 세션을 종료합니다. 다음과 같은 매개 변수를 설정할 수 있습니다.
- 비활성 기간 – 기본적으로 15분으로 설정되어 있으며 세션을 종료할 시간을 결정합니다. 5분에서 60분 사이로 값을 설정할 수 있습니다.
- 사전 종료 동작 – 사용자에게 알리지 않고 세션을 종료하거나 사용자에게 메시지를 보내 세션 종료를 알릴 수 있습니다. 이 메시지는 응답 관리 링크를 사용하여 사용자 정의할 수 있습니다.
구현
대화 세션은 언제 시작하나요? 대화 세션은 모든 상호 작용에 대해 생성됩니다.
- 모든 채널 및 이벤트에서 최종 사용자 상호 작용 – 대화 세션은 On_connect에 대해 생성됩니다. 예: 스크립트 실행, 메시지 실행, 대화 시나리오 트리거. 이러한 대화 세션은 두 가지 카테고리로 구성됩니다.
- 대화형 세션은 사용자의 메시지를 하나 이상 포함하는 대화입니다.
- 비대화형 세션은 사용자의 메시지를 포함하지 않는 대화입니다. 모든 봇으로 시작한 대화 세션은 '비대화형'으로 시작합니다. 이러한 세션은 사용자 메시지가 수신되는 즉시 대화형 세션으로 업데이트됩니다. 비대화형 세션은 청구 세션 계산에 고려되지 않습니다.
- 개발자 상호 작용은 대화 세션 생성에도 고려되지만 사용자 세션과 다르게 표시되며 청구 세션에는 고려되지 않습니다.
대화 세션은 언제 종료되나요?
- 플랫폼은 위에서 설명한 세션 관리 옵션에 설정된 비활성 시간이 지나면 비활성 세션을 사전에 종료합니다.
- 다음 발화가 감지되는 경우 – "Discard"
- 대화 창을 새로 고침하면 "refresh: true"가 감지됩니다.
- 현재 진행 중인 대화를 종료하려면 koreUtil.closeConversationSession 플랫폼 기능을 실행합니다. 자세한 내용은 여기를 참조하세요.
대화 세션이 종료되면 어떤 일이 발생합니까?
- 세션 종료 후 다음 정보 또는 변수가 지워집니다.
- 대화 세션
- 봇 사용자 세션(사용자 정의 TTL이 없는 개발자 정의 변수)
- 대화 컨텍스트(항목 파일 및 대화 세부 정보)
- 대화가 설정되면 대화 세션을 종료하기 전에 플랫폼에서 지원 채널의 사용자에게 세션 종료 메시지를 사전 전송합니다.
- "refresh: true"인 경우
- 전체 세션 정보가 지워집니다.
- 새 대화 세션이 생성됩니다.
- "discard all"인 경우
- 대화 컨텍스트, 현재 및 기록 태그가 지워집니다.
- 감정적 어조가 재설정됩니다.
- 같은 대화 세션이 계속됩니다.
- "discard"인 경우
- 현재 대화 컨텍스트가 지워집니다.
- 현재 태그가 기록 태그에 마지막으로 업데이트된 '태그'로 대체되고, 기록 태그가 지워집니다.