LogoLogo
카카오비즈니스비즈니스관리자
  • 카카오비즈니스 가이드
  • 카카오비즈니스 바로가기
  • 비즈니스 세미나 바로가기
  • 비즈니스 시작하기
    • 카카오비즈니스 통합 가입
  • 채널
    • 소개
    • 채널 만들기
    • 운영하기
      • 대시보드
      • 프로필
      • 소식
      • 메시지
      • 비즈니스도구
      • 채팅
      • 통계/관리
      • 월렛/캐시 (비즈월렛)
      • 서비스 연결
    • FAQ
  • 광고
    • 소개
    • 카카오모먼트
      • 퀵스타트 가이드
      • 광고 유형
        • 카카오 비즈보드
          • 캠페인 만들기
          • 광고그룹 만들기
          • 소재 만들기
          • 카카오 비즈보드 제작가이드
          • 익스팬더블
        • 카카오 비즈보드 CPT
          • 집행 프로세스
            • 캠페인 만들기
            • 광고그룹 만들기
            • 소재 만들기
          • 제작가이드
          • 제한업종
          • 모션 비즈보드
            • 제작가이드
          • 커스텀 비즈보드
            • 제작가이드
        • 디스플레이 광고
          • 캠페인 만들기
          • 광고그룹 만들기
          • 소재 만들기
          • 디스플레이 광고 제작가이드
        • 브랜딩 디스플레이 광고
          • 집행 프로세스
          • 리치팝 올데이
            • 광고 만들기
            • 제작가이드
          • 포커스 보드
            • 광고 만들기
            • 제작가이드
          • 제한업종
        • 포커스 풀뷰beta
          • 집행 프로세스
          • 광고 만들기
          • 제작가이드
          • 제한업종
        • 프로필 풀뷰beta
          • 집행 프로세스
          • 광고 만들기
          • 제작 가이드
          • 제한업종
        • 동영상 광고
          • 캠페인 만들기
          • 광고그룹 만들기
          • 소재 만들기
          • 동영상 광고 제작가이드
        • 채널 메시지
          • 캠페인 만들기
          • 광고그룹 만들기
          • 소재 만들기
          • 메시지 만들기
            • 메시지 등록
            • 메시지 발송 설정
            • 메시지 대시보드
            • 메시지 보고서
          • 채널 메시지 제작가이드
          • 채널 메시지 집행가이드
          • 채널 메시지 발송 유의사항
        • 개인화 메시지
          • 사전 준비하기
          • 캠페인 만들기
          • 광고그룹 만들기
          • 소재 만들기
          • 개인화 메시지 제작가이드
        • 쇼핑 광고
          • 캠페인 만들기
          • 광고그룹 만들기
          • 소재 만들기
          • 쇼핑 광고 제작가이드
        • 상품 카탈로그
          • 캠페인 만들기
          • 광고그룹 만들기
          • 소재 만들기
          • 트래킹 URL 입력가이드
          • 상품 카탈로그 제작가이드
      • 지표 확인하기
        • 대시보드
        • 보고서
        • SKAdNetwork
      • 운영하기
        • 광고자산 관리
        • 타겟 관리
        • 계정 관리
        • 결제 관리
        • 전환 최적화 가이드
          • 전환 최적화 점검가이드
          • FAQ
        • 카카오 클릭 ID 랜딩 테스트 가이드
        • 동영상 조회수 연동 관리
        • 광고계정 운영 가이드
        • 광고 집행 권장사항
      • 심사가이드
        • 집행 기준 및 준수사항
        • 제한업종
        • 업종별 가이드
        • 소재 구성 가이드
    • 검색 광고
      • 키워드광고
        • 광고 만들기
        • 제작가이드
        • 운영하기
          • 소재 관리
          • 도구 관리
          • 효율 관리
          • 계정 관리
          • 결제 관리(비즈월렛)
          • 광고계정 운영 가이드
        • 심사가이드
          • 제한업종
          • 업종별가이드
          • 등록기준
      • 브랜드검색 광고
        • 광고 만들기
        • 제작가이드
        • 운영하기
          • 도구 관리
          • 효율 관리
          • 계정 관리
          • 결제 관리(비즈월렛)
          • 광고계정 운영 가이드
        • 심사가이드
          • 업종별가이드
          • 키워드/소재가이드
      • 톡채널검색
        • 광고 만들기
        • 제작가이드
        • 심사가이드
          • 제한업종
          • 업종별가이드
          • 등록기준
    • 브랜드 메시지
    • 알림톡
      • 알림톡 제작가이드
        • 이미지형 제작가이드
      • 알림톡 심사가이드
        • 알림톡 화이트리스트
        • 알림톡 블랙리스트
      • 메시지 발송 유의사항
    • 상담톡
    • 카카오쇼핑 광고센터
      • 광고 그룹
      • 광고선택 및 계약
      • 광고센터 월렛 생성하기
      • 지불 방식
      • 광고 집행
      • 대시보드
      • 리포트 (준비중)
      • 광고상품 소개서
    • 기타 광고 서비스
      • 브랜드이모티콘
        • 상품가이드
    • 광고피해신고
      • 광고 차단/신고 안내
      • 불법영업 피해 예방
  • 서비스/도구
    • 카카오싱크
      • 설계하기
      • 도입하기
      • 활용하기
      • FAQ
    • 톡체크아웃
      • 가입하기
      • 판매 관리
      • 정산 관리
      • 고객혜택 관리
      • 고객 관리
      • 판매점정보
      • 고객확인정보
      • 통계
      • 판매점 정책서
        • 판매점 입점 조건
        • 입점 심사 정책
        • 서비스 이용 규칙
    • 카카오톡 예약하기
      • 시작하기
      • 입점
      • 예약
      • 쿠폰
      • 정산
      • 통계
      • 관리
      • 장소
      • 상품
        • 시간예약형
        • 날짜/시간형
        • 날짜형
        • 상시형
        • 병원 예약형
        • 네일샵형
      • 메시지
      • 홍보
    • 카카오톡 주문하기
      • 입점하기
      • 운영하기
    • 카카오맵 매장관리
      • 가입하기
      • 매장 등록
      • 매장 수정/관리
      • 카카오맵 전용번호 관리
      • 소식/후기 관리
      • 매장 삭제/대표자 변경
      • 운영자 관리
    • 비즈니스폼
      • 만들기
      • 활용하기
      • 확인하기
      • 참고하기
    • 비즈플러그인
      • 만들기
      • 확인하기
      • 활용하기
    • 픽셀 & SDK
      • 서비스/도구 > 픽셀 & SDK
      • 픽셀 & SDK 연동 관리
      • 픽셀 & SDK 만들기
      • 카카오 픽셀 헬퍼(Pixel Helper)
      • 카카오 클릭 ID (kclid)
    • 카탈로그
    • 이미지 에디터
    • 챗봇 관리자센터
      • 시작하기
        • 챗봇 관리자센터 개요
        • 챗봇 관리자센터 준비하기
        • 챗봇 도우미
      • 튜토리얼
        • 챗봇 기획하기
        • 챗봇 만들기
          • 튜토리얼 1단계
          • 튜토리얼 2단계
          • 튜토리얼 3단계
        • 알아두면 유용한 팁!
        • 챗봇 제작 팁
      • 주요개념
        • 시나리오
        • 엔티티
        • 블록
        • 발화 패턴
        • 파라미터 설정
        • 응답 설정
        • 컨텍스트
        • Event API
        • 플러그인
        • 스킬
        • 배포
        • 학습
        • 통계
        • 인사이트
        • 권한
        • 봇테스트
        • 작업이력
        • 관리자
        • 봇 설정
        • 알림센터
        • 지식베이스
        • 머신러닝
        • ML+
        • 월렛
        • 내 정보
      • 스킬 개발 가이드
        • 스킬 만들기
        • 블록에 스킬 적용하기
        • 플러그인에 스킬 적용하기
        • 응답 타입별 JSON 포맷
        • 스킬 오류 내역 확인하기
        • AI 챗봇 콜백 개발 가이드
      • 기타
    • 지식
      • 주요 개념들
        • 지식 베이스
        • 지식
        • 카테고리
        • 작업 이력
        • 배포 이력
        • 관리자
        • 설정
    • 선물하기 for Biz
      • 회원가입
      • 선물발송
      • 취소/환불
      • 증빙
      • 선물발송도구
        • 이벤트메이커
        • 임직원/거래처 목록 관리
        • 기념일 예약 선물
        • 오픈API
    • 카카오톡 스토어
      • 입점하기
      • 카카오톡 채널 연동
      • 스토어/판매자 정보관리
      • 상품/리뷰관리
      • 고객혜택관리
      • 판매관리
      • 마케팅 메시지 관리
      • 통계
      • 정산관리
      • 스토어보드 발행 및 관리
      • 라이브 관리
      • 카카오톡 브랜드스토어
    • 비즈월렛
      • 비즈월렛 생성하기
      • 비즈월렛 운영하기
        • 연결/변경/해제/삭제
        • 멤버 초대 및 관리자 요청
        • 비즈월렛 알림
      • 비즈월렛 결제관리
        • 캐시 관리
        • 결제 카드 관리
        • 증빙 서류 관리
    • 카카오톡 지갑
      • 가입하기
      • 입장하기
        • MY BIZ
        • 대시보드
      • 이용기관 등록하기
        • 딜러사
          • 이용기관 등록
          • 기관 추가
        • 이용기관
          • 등록 정보 확인
          • 채널 정보 등록
          • 앱 정보 등록
      • 이용기관 관리하기
        • 딜러사
          • 이용기관 조회
          • 기관 조회
          • 기관 수정
        • 이용기관
          • 기관 조회
          • 기관 수정
      • 계약 관리하기
        • 딜러사
          • 딜러계약 조회
          • 이용기관 계약조회
          • 이용기관 계약추가
        • 이용기관
          • 계약 조회
          • 계약 추가
      • 정보 관리하기
      • 사용량 조회하기
      • 정산 관리하기
  • 파트너 지원 프로그램
    • 카카오광고 고객센터
      • 광고계정 맞춤 컨설팅
      • 문의게시판
      • 원격지원서비스
    • 광고주 성장 프로그램
      • 지원 프로그램
      • 스타터 리워드 프로그램
    • 카카오 RTB 연동
      • Bid Specification
      • Appendix
      • Sample
    • 크로스미디어
      • 제작가이드
    • 공식 대행사 리스트
      • KPP
      • ㄱ~ㅂ
      • ㅅ~ㅇ
      • ㅈ~ㅎ
    • 소상공인 지원 혜택
      • 비즈월렛 확인하는 방법
      • 비즈월렛 만드는 방법
      • 메시지 발송 비용 충전 확인하기
      • 카카오톡 채널 활성화 방법
        • 채널 기본 세팅
          • 채널 생성
          • 비즈월렛 생성
          • 소식 작성
          • 웰컴메시지
          • 채널홈 설정
        • 채널 응용 기능
          • 1:1 채팅 활성화
          • 채널추가 요청 메시지
          • 자주 쓰는 답변 관리
          • 채팅방 메뉴
          • 간편 채팅
          • 챗봇
        • 채널 친구 모으기
          • 카카오톡 채널 URL 활용하기
          • 1:1 채팅을 통한 추가 인증
          • 온/오프라인 홍보 도구
        • 채널 메시지 보내기
          • 메시지 보내기
          • 메시지 보내기(쿠폰형)
        • 서비스/비즈 도구 활용
          • 상담톡
          • 카카오싱크
          • 카카오톡 예약하기
          • 알림톡
          • 톡체크아웃
          • 카카오톡 스토어
          • 카카오맵 매장관리
    • 카카오비즈니스 자격증
      • 출제 범위 및 학습 콘텐츠
  • 개발자 지원 가이드
    • 카카오디벨로퍼스
    • 챗봇 관리자센터
Powered by GitBook
On this page
  • 컨텍스트를 언제 쓰나요?
  • 컨텍스트, 이것만 기억해요!
  • 컨텍스트 사용하기
  • 컨텍스트 조건 설정하기
  • 컨텍스트 정보를 스킬 요청(request)에서 활용하기
  • 컨텍스트 정보를 스킬 응답(response)에서 활용하기

Was this helpful?

  1. 서비스/도구
  2. 챗봇 관리자센터
  3. 주요개념

컨텍스트

Previous응답 설정NextEvent API

Last updated 1 year ago

Was this helpful?

사람과 사람이 대화를 나눌 때를 생각해보면 언제나 특정 문맥적인 상황을 기반으로 이야기하듯이 (예를 들어, ‘날씨’ 등 한 가지 주제로 대화할 때처럼), 사람과 봇 사이에서도 대화를 나눌 때 이와 유사하게 문맥적 상황 공유를 할수 있습니다.

챗봇 관리자센터 안에서는 바로 컨텍스트(Context) 라는 기능을 통해서 봇 작업자가, 블록 안에서 직접 해당 컨텍스트를 정의하고, 블록간 연결 및 관리를 수행할 수 있습니다. 컨텍스트가 잘 정의되어 있다면, 봇은 사용자에게 보다 똑똑하고 매끄러운 대화를 경험할 수 있게 해줍니다.

컨텍스트를 언제 쓰나요?

컨텍스트는 서로 다른 블록 간 ‘연결고리’를 만들고 싶을 때 씁니다. 이 연결고리가 곧 컨텍스트입니다. 서로 다른 의도를 나타내는 블록들이 하나의 컨텍스트로 묶여서 연결될 수 있습니다.

Information.

상기 도식처럼, 서로 다른 블록이 연결되기 위해서는 A라는 블록에서 컨텍스트를 내보내기 위한 '아웃풋(Output)' 컨텍스트가 설정되고, B라는 블록에서 컨텍스트를 받기 위한 '인풋(Input)' 컨텍스트가 반드시 설정되어야 합니다.

그럼, 컨텍스트를 활용한 아주 간단한 예시를 다음과 같이 들어보겠습니다.

본 예시에서는 구조적으로 2개의 서로 다른 블록이 존재합니다.

1번 블록 음료 주문을 확정하는 기본 블록(블록명 : Order_confirm)

Example.

  • 패턴 발화 : 아메리카노 1잔

  • 음료를 주문하는 대화 상황을 '주문상황(Ordering)'이라는 컨텍스트로 정의하고 내보냄(Output Context)

2번 블록 음료를 취소하는 기본 블록 (블록명 : Order_cancel)

Example.

  • 패턴 발화 : 취소해줘

  • 이전 대화의 '주문상황(Ordering)'을 컨텍스트로 받아서 활용(Input Context)

이러한 2개의 다른 블록은 ‘Ordering’이라는 컨텍스트, 즉 ‘문맥’을 서로 공유하는 형태로 챗봇 관리자센터 안에 연결되어 있습니다.

1번 블록에 해당하는 사용자 발화가 시작되면, 기 작성된 2개의 블록은 곧바로 ‘Ordering’이라는 컨텍스트를 공유하게 됩니다. (1번 블록이 컨텍스트를 내보내는 경우) 컨텍스트가 일정 유효 시간(또는 일정 유효 횟수) 동안 유지되면서 대화 중간에 사용자가 봇에게 2번 블록에 해당하는 패턴발화를 말하면, 봇은 주문상황(Ordering) 문맥하에 앞서 실행된 대화안에서의 문맥 정보나 특정 파라미터값을 받아서 2번 블록에서 의도되었던 사용자 응답 메세지를 출력합니다.

본 주문상황(Ordering) 문맥하에 아래처럼 추가적인 3번 블록을 만들어서 수량을 변경하는 액션을 추가할 수도 있습니다.

위 예시들의 2번 블록을 이용한 취소, 3번 블록을 이용한 변경에 따른 결과값(response)은 문맥 정보(Ordering)가 있기에 출력이 가능합니다. 만약, 문맥 정보가 내보내지지 않거나 2번, 3번 블록에서 문맥 정보를 받아두지 않았다면 봇은 문맥을 이해하지 못했기 때문에 폴백블록이 출력됩니다.

컨텍스트, 이것만 기억해요!

  • 봇 작업자는 블록 정보를 주고받을 수 있습니다. 이때, 하나의 블록에서 다른 블록으로 전달 가능한 정보와 불가한 정보는 아래와 같습니다.

전달 가능 상황
전달 불가 상황

현재 블록의 파라미터 정보

현재 블록을 실행시킨 사용자의 발화정보

단, 사용자의 발화정보는 스킬서버에서 처리하면 기능 구현이 가능합니다. '스킬서버'에서 응답을 줄 때 유저의 발화정보를 넣어주면 전달할 수 있습니다.

  • 정보를 받는 블록은 연결이 유효할 때만 실행될 수 있습니다. (조건부임)

기본적으로 챗봇 관리자센터를 통해 만든 블록은, 사용자의 발화 또는 이벤트 정보가 블록안의 내용과 매칭되면 실행됩니다. 여기에 컨텍스트 조건을 부여하고 싶다면, 아래와 같이 블록 설정 버튼을 클릭한 후, ‘컨텍스트 설정’ 메뉴로 진입하여 간단하게 필요 구성값을 입력해주시기만 하면 됩니다.

컨텍스트 메뉴의 3가지 필요 구성값

  • 인풋(Input) 컨텍스트

  • 아웃풋(Output) 컨텍스트

  • 대화 문맥이 살아있는 '컨텍스트 수명(Lifespan)'과 '유효시간(TTL)'

컨텍스트 사용하기

챗봇 관리자센터의 고급 기능 중에 하나인 컨텍스트를 손쉽게 쓸 수 있도록, 다음과 같이 세 가지 활용 방법을 안내합니다.

컨텍스트 조건 설정하기

먼저, 시나리오 > 블록 > 컨텍스트 설정에서 컨텍스트 명칭을 등록합니다. 이때 컨텍스트 명칭 설정 개수에는 제한이 없습니다.

다른 블록으로 컨텍스트를 내보낸다면, Output 컨텍스트에 명칭을 등록합니다.

다른 블록에서 내보낸 컨텍스트를 받는다면, Input 컨텍스트에 명칭을 등록합니다.

Input 컨텍스트에 Ordering이라는 컨텍스트 명칭을 등록중인 화면

특히, Output 컨텍스트 부분은 봇 작업자들이 컨텍스트를 생성하여 연결할 때 가장 먼저 설정 작업을 하고, 주요 정보를 등록하는 중요한 공간입니다. Output 컨텍스트를 등록할 때는 필수로 다음 세 가지를 입력해야 합니다.

컨텍스트 구성 값
의미
값
비고

컨텍스트 명칭

컨텍스트 내용을 설명하는 이름

컨텍스트 수명

컨텍스트가 지속되는 블록 횟수

0/1/3/5/10 (회)

끝나면 컨텍스트가 만료됩니다. 0은 즉시 만료됩니다.(초기화)

유효시간

컨텍스트가 지속되는 시간

1/3/5/10/15/30/60 (분)

끝나면 컨텍스트가 만료됩니다.

컨텍스트 정보를 스킬 요청(request)에서 활용하기

컨텍스트에 담겨진 정보는 스킬 요청시에도 사용할 수 있습니다. 아래 화면과 같이 블록 안의 파라미터 만들기 메뉴 안에서 ‘값’ 입력란에, 원하는 컨텍스트와 파라미터 명을 다음 형식을 따라 참조할 수 있습니다.

형식

#[컨텍스트명].[파라미터명]

반드시 참조한 컨텍스트를 내보내는(Output) 블록이 존재해야 하며, 설정중인 블록에서 해당 컨텍스트를 받아야(Input) 합니다. 이처럼 블록 간 컨텍스트가 설정되어 있지 않다면, 컨텍스트와 파라미터명을 참조해도 동작하지 않습니다.

컨텍스트 정보를 스킬 응답(response)에서 활용하기

스킬 응답에서 ‘Output 컨텍스트’의 정보를 직접 업데이트 할 수 있습니다. 예를 들어 다음과 같은 스킬 응답 포맷이 있다고 하겠습니다.

  • 스킬 응답의 Structure 예시

{
  "version": "2.0",
  "template": {
    ...
  },
  "context": {
    "values": [{
      "name": ...,
      "lifeSpan": ...,
      "params": ...
    },{
      "name": ...,
      "lifeSpan": ...,
      "params": ...
    },
    ...
    ]
  }
}

다음처럼,

  • 복수의 Output 컨텍스트들 중 특정 컨텍스트만 Output 되도록 변경할 수 있습니다. → name

  • 컨텍스트의 수명(lifespan)을 변경할 수 있습니다. → lifeSpan

  • 컨텍스트와 관련해 전달하고 싶은 값을 추가할 수 있습니다. → params

스킬 응답의 Output 컨텍스트에 들어있는 내용이 현재 블록의 Output 컨텍스트란에 존재하는 경우에는, 스킬에 들어있는 값으로 현재 Output 컨텍스트를 덮어쓰기합니다.

Information.

인풋(Input)으로 설정한 컨텍스트가 만료될 경우 해당 블록은 설정된 응답이 아닌 폴백 메시지로 응답하게 됩니다. 폴백 메시지가 설정되어 있지 않으면 빈 말풍선이 나가게 되므로 기본 시나리오> 폴백블록 에서 설정 상태를 확인해 주세요.

컨텍스트 갱신

스킬 응답으로 컨텍스트를 수정하는 경우, 변경하려는 output 컨텍스트가 미리 블록에서 설정되어야 합니다. 스킬 응답의 context 필드는 값을 수정할 뿐, 새로운 output 컨텍스트를 만들 수는 없습니다.

Example.

예를 들어 abc 라는 output 컨텍스트를 블록에서 생성했다면, 스킬 응답으로 abc name을 가지는 context의 lieSpan, params를 수정할 수 있습니다. 하지만 def 라는 output 컨텍스트를 블록에서 생성하지 않은 상황에서, 스킬 응답으로 def라는 name을 가지는 context를 수정한다면 이는 반영되지 않습니다.

스킬 서버에 대한 자세한 내용은 를 참조하시길 바랍니다.

챗봇 관리자센터에서의 컨텍스트 구조에 대한 도식
음료 주문 상황(Context)에서 주문 확정과 취소를 실행하는 블록 구성 예시
음료 주문 상황(Context)에서 주문 확정과 수량변경을 실행하는 블록 구성 예시
컨텍스트 설정 메뉴 위치
컨텍스트 설정 메뉴내 상세 컨텍스트 조건 설정 화면입니다. – Input 컨텍스트 / Output 컨텍스트 / 컨텍스트 수명 및 유효시간이 나타나 있습니다.
컨텍스트 설정 선택 팝업 위치
Output 컨텍스트에 Ordering이라는 컨텍스트 명칭을 등록중인 화면
Output 컨텍스트의 수명 정보 설정 모습
Output 컨텍스트의 유효 시간 정보 설정 모습
파라미터 설정 안에서 파라미터 만들기 메뉴 안의 ‘값’ 설정 부분
형식 예시
스킬 개발 가이드 > 스킬 서버 이해하기
응답 타입별 JSON 포맷 > ContextControl