IBM Cloud Docs
웹 대화 작동 방식

웹 대화 작동 방식

웹 대화는 코드를 작성하지 않고도 웹 사이트에 추가할 수 있는 사용하기 쉬운 챗봇 인터페이스를 제공합니다.

웹사이트에 웹 채팅 스크립트를 추가하면, 고객들은 런처 아이콘을 클릭하여 채팅 창을 열고 어시스턴트와 대화를 시작할 수 있습니다. 실행기 아이콘의 모양은 데스크탑 및 모바일 브라우저에 적용됩니다.

고객이 실행기를 클릭하면 처음에 _홈 화면_을 표시하는 웹 대화 창이 열립니다. 홈 화면에는 인사말과 일반적인 질문과 문제에 대한 제안 대화 시작 세트가 표시됩니다. 고객은 대화 스타터를 클릭하거나 입력 필드에 메시지를 입력하여 어시스턴트와의 대화를 시작할 수 있습니다.

런처 아이콘, 홈 화면, 그리고 웹 채팅의 다른 대부분의 측면의 모양과 작동 방식은 웹사이트 스타일과 브랜딩에 맞게 구성하고 사용자 지정할 수 있습니다. 자세한 정보는 웹 대화 구성을 참조하십시오.

실행기 모양 및 동작

웹 대화 실행기는 고객이 필요한 경우 도움말을 찾을 위치를 알 수 있도록 고객을 환영하고 참여합니다. 기본적으로 웹 채팅 런처는 원형으로 표시됩니다. 오른쪽 하단에 있는 초기 런처의 예:

15초 후에는 실행기가 확장되어 사용자에게 인사말 메시지를 표시합니다. 이 확장 상태에서는 고객이 실행기를 클릭하여 웹 대화를 열 수 있습니다. (고객이 실행기가 확장되기 전에 페이지를 새로 고침하거나 다른 페이지로 이동하면 15초 타이머가 다시 시작됩니다.)

이 확장된 상태의 모양은 고객이 데스크탑 브라우저 또는 모바일 브라우저를 사용하는지 여부에 따라 약간 다릅니다.

  • 데스크탑 브라우저의 경우 확장 실행기는 고객이 클릭하여 웹 대화를 열 수 있는 두 개의 기본 단추 및 실행기를 닫는 닫기 단추를 표시합니다.

    데스크탑 실행기의 예

    고객이 페이지를 다시 로드하거나 다른 페이지로 이동하는 경우에도 확장 실행기는 확장 상태로 남아 있습니다. 고객이 열 때까지 확장된 상태로 유지됩니다. 고객은 두 개의 기본 버튼 중 하나를 클릭하여 열 수 있습니다. 고객이 그것을 닫으면, 세션이 끝날 때까지 작은 초기 상태로 돌아갑니다.

  • 모바일 브라우저의 경우, 실행기는 단일 기본 단추만 표시합니다.

    모바일 실행기의 예

    고객은 페이지에서 스크롤하거나 확장 실행기에서 오른쪽으로 스위핑하거나 확장 실행기가 초기 작은 상태로 자동으로 다시 축소되는 시점에서 10초를 대기하여 실행기를 닫을 수 있습니다. 런처가 펼쳐져 있는 상태에서 사용자가 페이지를 다시 로드하거나 다른 페이지로 이동하면, 런처는 펼쳐진 상태로 유지되고 10초 타이머가 다시 시작됩니다.

다음 페이지를 새로 고친 후 실행기가 클릭되지 않고 계속해서 작은 규모인 경우, 고객의 관심을 끌기 위해 여러 번 켜졌다 꺼집니다. 첫 번째의 여러 번 켜짐은 페이지가 새로 고쳐지고 15초 후에 발생합니다. 고객이 아직 실행기를 클릭하지 않으면 60초 후에 다시 시작됩니다. (사용자가 페이지를 새로 고치거나 다른 페이지로 이동하는 경우 두 번째의 여러 번 켜짐에 영향을 줄 수 있습니다.) 사용자가 아직 실행기를 클릭하지 않으면 다시 여러 번 켜지지 않습니다.

런처에 표시되는 기본 텍스트의 언어는 웹 채팅에 설정된 로케일에 따라 달라집니다. 인사말 텍스트를 사용자 정의하는 경우 제공하는 텍스트는 로케일 설정에 관계없이 사용됩니다.

웹 채팅 설정에서 런처의 색상과 인사말 메시지를 구성할 수 있습니다. 자세한 정보는 웹 대화 구성을 참조하십시오.

어시스턴트 출력 렌더링

일반 텍스트 외에, watsonx Assistant은(는) 멀티미디어 및 대화식 요소를 출력하는 데 사용할 수 있는 많은 응답 유형을 지원합니다. 웹 대화에는 다양한 응답 유형에 대한 기본 제공 지원이 포함됩니다.

  • 텍스트 서식: 웹 채팅은 Markdown 나 HTML을 사용하는 텍스트 서식을 지원합니다. 자세한 정보는 Markdown 형식화 를 참조하십시오.
  • URL: 유효한 URL(예: http://example.com)은 클릭 가능한 링크로 자동 렌더링됩니다. 고객이 웹 대화에서 링크를 클릭하면 대상 웹 사이트가 새 브라우저 탭에 열립니다.
  • 옵션: 옵션 응답(어시스턴트가 고객에게 선택사항 중에서 선택하도록 요청하는 경우)은 자동으로 대화식 요소로 렌더링됩니다. (기본적으로 다섯 개 미만의 옵션 세트가 클릭 가능한 단추 세트로 렌더링됩니다. 다섯 개 이상의 옵션이 드롭 다운 목록으로 렌더링됩니다.)
  • 날짜: 어시스턴트가 고객에게 날짜를 지정하도록 요청하면 웹 대화가 대화식 날짜 선택기를 표시합니다. 고객은 날짜 선택기를 클릭하거나 입력 필드에 올바른 날짜 값을 입력하여 날짜를 지정할 수 있습니다.
  • 멀티미디어 응답: 웹 대화는 모든 멀티미디어 응답 유형(audio, imagevideo)을 지원합니다.
  • iframe: 웹 대화는 웹 대화 창에서 직접 HTML 컨텐츠(예: 양식 또는 대화식 맵)를 임베드하는 iframe 응답 유형을 지원합니다.

웹 대화가 특정 응답 유형을 처리하는 방법에 대한 자세한 정보는 응답 유형 참조를 참조하십시오.

마크다운 형식화

어시스턴트의 텍스트 응답에서 Markdown 형식을 사용하여 기울임꼴과 같은 강조표시를 적용하거나 단락 및 표제와 같은 요소를 포함할 수 있습니다. Markdown 형식의 몇 가지 일반적인 예는 다음과 같습니다.

  • 표제:

    # First-level heading
    
    ## Second-level heading
    
  • 강조표시:

    This text includes *italic* and **bold** highlighting, as well as a `code` snippet.
    
  • 목록:

    1. ordered
    2. list
    
    - bulleted
    - list
    
  • 테이블:

    | Column 1 | Column 2 |
    |----------|----------|
    | Row      | One      |
    | Row      | Two      |
    
  • 링크:

    [This link](https://www.ibm.com/products/watson-assistant/demos/lendyr/demo.html) opens in a new tab.
    
    [This link](https://www.ibm.com/products/watson-assistant/demos/lendyr/demo.html){{target=\"_self\" rel=\"noopener noreferrer\"}} opens in the same tab.
    

Markdown 형식에 대한 자세한 정보는 CommonMark 스펙을 참조하십시오.

라이브 에이전트 전송

웹 채팅은 어시스턴트가 처리할 수 없는 상황에서 고객을 담당자에게 연결해 줍니다. 지원되는 컨택 센터 통합 기능 중 하나를 구성하면, 웹 채팅을 통해 고객이 상담원과 실시간으로 대화할 수 있는 별도의 채팅 창을 열 수 있습니다.

그러면 어시스턴트가 고객의 요청을 처리할 수 없는 상황에서 전송을 시작할 수 있습니다. (전송 시작에 대한 자세한 정보는 활성 에이전트에 연결 을 참조하십시오.)

웹 대화에 컨택 센터 통합을 추가하는 방법에 대한 정보는 컨택 센터 지원 추가 를 참조하십시오.

기술 세부사항

웹 채팅은 웹사이트에 표시되는 짧은 JavaScript 코드 조각에 의해 호출되는 추가적인 JavaScript 코드를 호출하는 IBM Cloud 에 의해 호스팅됩니다. 호스팅된 코드는 새로운 기능과 수정 사항이 자동으로 업데이트되므로 기본적으로 항상 최신 버전을 사용하게 됩니다. (사용자가 직접 업그레이드를 제어할 경우 선택적으로 특정 버전을 잠글 수 있습니다.)

웹 대화 위젯을 작성하는 코드 스니펫에는 웹 대화의 모양 및 작동을 변경하도록 수정할 수 있는 구성 오브젝트가 포함되어 있습니다. 또한 구성 오브젝트는 웹 대화가 어시스턴트에 연결될 수 있도록 하는 세부사항도 지정합니다. JavaScript 코드를 작성하는 데 익숙하다면 코드 조각을 수정하고 웹 채팅 API를 사용하여 웹 채팅을 사용자 정의할 수 있습니다.

웹 대화는 watsonx Assistant v2 Stateful API를 사용하여 어시스턴트와 통신합니다. 기본적으로 세션은 종료되고 대화는 5분동안 사용하지 않으면 종료됩니다. 즉, 사용자가 5분 동안 어시스턴트와의 상호작용을 중단하면, 이전 대화 중에 설정된 모든 컨텍스트 변수 값이 null로 설정되거나 초기값으로 되돌아갑니다. 어시스턴트 설정에서 비활성 제한시간 설정을 변경할 수 있습니다 (플랜에서 허용되는 경우).

내게 필요한 옵션

IBM은 연령이나 능력에 관계없이 모든 사람이 액세스할 수 있는 제품을 제공하기 위해 노력하고 있습니다.

웹 대화 통합은 Web Content Accessibility 2.1 레벨 AA 표준을 준수합니다. 이 도구는 스크린 리더와 자동화된 도구를 모두 사용하여 연속적으로 테스트합니다.

비용 청구

watsonx Assistant 월간 고유 활성 사용자 수(MAU)를 기준으로 요금을 부과합니다.

기본적으로, 웹 대화는 새 사용자가 처음 세션을 시작할 때 고유한 익명 ID를 작성합니다. 이 ID는 45일 동안 활성 상태로 유지되는 퍼스트 파티 쿠키에 저장됩니다. 이 쿠키가 여전히 활성 상태인 동안에도 동일한 사용자가 사이트로 돌아가서 어시스턴트와 다시 대화하는 경우, 웹 대화 통합은 사용자를 인식하고 동일한 사용자 ID를 사용합니다. 동일한 익명 사용자에 대해서는 한 달에 한 번만 요금이 부과됩니다.

Apple 디바이스에서 지능형 추적 방지 기능은 7일 후에 클라이언트측 쿠키를 자동으로 삭제합니다. 익명의 고객이 웹사이트에 접속한 후 2주 후에 다시 방문하는 경우, 두 방문은 서로 다른 MAU로 간주됩니다. 이 문제점을 방지하는 방법에 대한 정보는 웹 대화에서 사용자 ID 정보 관리 를 참조하십시오.

청구 목적으로 사용자 ID 정보의 처리를 사용자 정의하는 방법에 대한 정보는 웹 대화에서 사용자 ID 정보 관리 를 참조하십시오.

사용량은 플랜 유형에 따라 서로 다르게 측정됩니다. Lite 플랜의 경우 웹 대화 통합에서 어시스턴트에게 전송된 /message 호출(API) 수로 사용량을 측정합니다. 기타 모든 플랜의 경우 사용량은 웹 대화가 상호 작용하는 월별 활성 사용자(MAU) 수로 측정됩니다. 허용된 MAU의 최대수는 watsonx Assistant 플랜 유형에 따라 다릅니다.

플랜 세부사항
계획 최대 사용량
Enterprise 무제한 MAU
Premium(레거시) 무제한 MAU
Plus 무제한 MAU
평가판 5,000 MAU
Lite 10,000 API(약 1,000 MAU)

브라우저 지원

웹 대화는 다양한 디바이스 및 플랫폼을 지원합니다. 일반적으로, 브라우저의 마지막 두 버전이 전체 데스크톱 또는 모바일 트래픽의 1% 이상을 차지하는 경우, 해당 브라우저를 지원하는 웹 채팅이 제공됩니다.

다음 목록은 웹 대화에 필요한 최소 필수 브라우저 소프트웨어를 지정합니다(표시된 내용을 제외하고 두 개의 최신 버전 포함).

  • Apple Safari
  • Apple Safari 모바일
  • Google Chrome
  • Google Chrome 안드로이드용
  • Microsoft Edge(Chromium 및 비Chromium)
  • Mozilla Firefox
  • Mozilla Firefox ESR (가장 최근의 ESR만)
  • Mozilla Firefox 모바일
  • Opera
  • 삼성 모바일 브라우저
  • Android용 UC 브라우저

모바일 장치에서 웹 채팅을 최적의 상태로 렌더링하려면 웹 페이지의 " <head> " 요소에 다음 메타데이터 요소가 포함되어야 합니다

<meta name="viewport" content="width=device-width, initial-scale=1" />

쿠키 및 GDPR

웹 대화는 브라우저가 열려 있는 길이의 현재 세션을 식별하는 ID를 저장합니다. 이를 통해 웹 대화는 사용자가 페이지를 탐색할 때 세션을 열린 상태로 유지할 수 있습니다. 사용자가 브라우저를 닫으면 정보가 제거됩니다.

  • userID와의 웹 대화를 제공하는 경우 브라우저에 저장된 데이터 또는 쿠키만 현재 세션에서 가져옵니다. 이 userID 요청 시 사용자의 데이터를 삭제하는 데 사용될 수 있으며, Watson HTTP 헤더의 customer_id 부분으로도 전달되기 때문에 userID 구문은 RFC 7230에 정의된 헤더 필드(보이는 모든 ASCII 문자)에 대한 요구 사항을 충족해야 합니다. 어시스턴트 보안 에서 사용자 데이터 제거에 대한 자세한 정보를 참조하십시오.

  • 고유한 userID 를 사용하여 웹 대화를 제공하지 못하는 경우 생성된 익명 ID를 사용하여 제1당사자 쿠키를 추가합니다. 쿠키는 동일한 달에 여러 번 방문해도 사용자를 한 번 계수하고 청구 메트릭을 오염시키지 않도록 45일동안 활성 상태로 유지됩니다.

웹 대화는 사용되는 기능에 대한 분석을 유지하므로 사용자 경험을 지속적으로 개선할 수 있습니다. 수집된 데이터는 IBM에 일반 사용자를 식별하지 않으며 사용자는 다른 웹 사이트에서 추적되지 않습니다. 웹 대화 내에서만 동작을 기록합니다.

언어 지원

기본적으로 웹 채팅은 영어로 된 고정된 라벨과 메시지를 표시하지만, watsonx Assistant 에서 지원하는 모든 언어에 대한 지원이 내장되어 있습니다. 글로벌 대상의 날짜 및 시간과 같은 문자열 표시를 사용자 정의하기 위해 여러 개의 로케일 중에서 선택할 수도 있습니다.

사용 중인 모든 언어로 하드코딩된 문자열의 텍스트를 사용자 정의할 수도 있습니다.

자세한 정보는 웹 대화에서 글로벌 대상 지원 을 참조하십시오.

보안

기본적으로 웹 대화와 어시스턴트 간에 전송되는 모든 메시지는 TLS (Transport Layer Security) 로 암호화됩니다. 더 강력한 보호가 필요한 경우 웹 대화 보안 기능을 사용으로 설정할 수 있습니다.

웹 사이트에 포함된 웹 대화 임베드 스크립트에는 웹 대화가 어시스턴트와 연결할 수 있도록 하는 고유 ID (예: 통합 ID및 서비스 인스턴스 ID) 가 포함되어 있습니다. 이러한 ID는 시크릿으로 간주되지 않으며 웹 사이트에 액세스할 수 있는 모든 사용자에게 표시됩니다. 이 ID가 있는 모든 사용자는 이 ID를 사용하여 어시스턴트에 메시지를 전송하고 응답을 수신할 수 있습니다. 그러나 이러한 ID는 계정에 로그인하거나 어시스턴트를 변경하거나 어시스턴트에 대한 로그 또는 분석 정보를 검색하는 데 사용할 수 없습니다.

어시스턴트에 대한 권한이 없는 액세스가 우려되는 경우 메시지 원본 확인 및 사용자 인증과 같은 추가 보안을 위해 웹 대화 보안 기능을 사용으로 설정할 수 있습니다. 보안 기능을 사용하려면 웹 사이트에서 더 많은 개발 작업이 필요합니다. 자세한 정보는 웹 대화 보안 을 참조하십시오.

사이트 보안 정책 업데이트

웹 사이트에서 CSP(Content Security Policy)를 사용하는 경우 웹 대화에 대한 권한을 부여하도록 이를 업데이트해야 합니다.

테이블. CSP 등록 정보 는 CSP에 추가할 값을 나열합니다.

CSP 특성
특성
default-src 'self' *.watson.appdomain.cloud 'unsafe-inline'
connect-src *.watson.appdomain.cloud

default-src의 경우, 별도의 font-src 가 있으면 font-src 와 함께 *.watson.appdomain.cloud 를 추가해야 합니다.

다음 예제에서는 전체 CSP 메타데이터 태그를 보여줍니다.

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self' *.watson.appdomain.cloud fonts.gstatic.com 'unsafe-inline';connect-src *.watson.appdomain.cloud" />
요소 허용

CSP가 허용 목록에 <script>, <style> 태그와 같은 요소를 추가하는 데 nonce를 사용하는 경우, unsafe-inline 를 사용하여 이러한 모든 요소를 허용하지 마십시오. 대신 구성 옵션으로 웹 대화 위젯에 임시값을 제공하십시오. 웹 채팅은 동적으로 생성되는 <script><style> 요소 중 하나에 임의의 값을 설정합니다.

웹 대화 위젯에 임시값을 전달하는 CSP는 다음과 같을 수 있습니다.

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self' *.watson.appdomain.cloud fonts.gstatic.com 'nonce-<server generated value>';connect-src *.watson.appdomain.cloud"
>

다음과 같이 임베드 스크립트를 편집하여 웹 대화에 임시값을 전달할 수 있습니다.

window.watsonAssistantChatOptions = {
  integrationID: "YOUR_INTEGRATION_ID",
  region: "YOUR_REGION",
  serviceInstanceID: "YOUR_SERVICE_INSTANCE",

  cspNonce: "<server generated value>",

  onLoad: function(instance) {
    instance.render();
  }
};

웹 대화 호스트에 대한 액세스

웹 사이트를 호스트하는 시스템에 제한된 인터넷 액세스가 있는 경우(예를 들어, 프록시 또는 방화벽을 사용하는 경우) 다음 URL에 액세스할 수 있는지 확인하십시오.

  • https://web-chat.global.assistant.watson.appdomain.cloud: 웹 대화 위젯에 대한 코드를 호스트하며 웹 사이트에 임베드한 스크립트에서 참조합니다.
  • https://integrations.{location}.assistant.watson.appdomain.cloud: 어시스턴트와의 통신을 처리하는 웹 대화 서버를 호스트합니다. {location} 항목을 서비스 인스턴스가 있는 데이터 센터의 위치(서비스 엔드포인트 URL의 일부)로 바꾸십시오. 자세한 내용은 엔드포인트 URL 찾기 및 업데이트를 참조하세요.

보안 검토

웹 채팅 통합 기능은 정기적으로 테스트와 스캔을 거쳐, XSS(Cross-Site Scripting) 취약점과 같은 잠재적인 보안 문제를 찾아 해결합니다.

고유한 보안 검토를 실행하여 웹 대화가 현재 웹 사이트 구조 및 정책과 일치하는 방법을 확인하십시오. 웹 대화는 사이트에서 호스트되며 사이트에 있는 모든 취약점을 상속할 수 있습니다. HTTPS 를 통해 콘텐츠를 제공하고, 콘텐츠 보안 정책(CSP)을 활용하며, 기타 기본적인 웹 보안 예방 조치를 실행하십시오.

세션 상태 복사 중

웹 대화 통합은 현재 세션의 상태를 사용자의 웹 브라우저에 캐시로 저장합니다. 사용자가 어시스턴트에 조회를 전송하면 어시스턴트가 세션의 현재 상태 사본과 함께 응답합니다. 비활성 제한시간 으로 인해 서버에서 어시스턴트 세션이 만료되면 웹 대화가 새 세션을 작성하고 이전 세션 상태를 새 세션에 복사합니다. 따라서, 사용자가 대화의 중간에 있는 동안 세션이 만료되면 사용자로부터 심리스 (seamless) 대화를 얻는다. 이 상태는 사용자가 웹 대화가 열려 있는 상태에서 브라우저 탭을 유지하는 경우에만 유지됩니다. 사용자가 페이지를 다시 로드하거나 페이지에서 나가거나 탭을 닫으면 이 세션 상태가 유실되고 다음에 웹 대화를 열 때 새 상태의 새 세션을 가져옵니다. 서버의 세션이 만료되면 대화를 계속하기 위해 메시지를 보내야 한다는 경고가 사용자에게 표시됩니다.

웹 대화에 의해 저장된 세션 상태에는 개인용 변수 가 포함되지 않습니다. 이러한 변수는 서버에만 저장됩니다. 어시스턴트가 새 세션의 서버에서 이전 세션 상태를 복사할 때 (이전 서버 세션이 만료된 후에 시작됨), 이전 세션에서 설정된 모든 개인용 변수가 유실됩니다.