티스토리 뷰

반응형

이전단계 다시보기 : https://yeolco.tistory.com/227

카카오 i 오픈빌더의 [튜토리얼 2: 스킬로 응답하기]는 챗봇이 정해진 답변만 반복하는 수준을 넘어, 외부 서버의 로직을 빌려와 동적인 데이터(실시간 정보, 사용자 맞춤형 결과)를 제공하게 만드는 핵심 과정입니다. 


🛠️ 카카오 챗봇 튜토리얼 2: 스킬(Skill) 연동 마스터 가이드

Step 1. 스킬(Skill)의 개념과 작동 원리 이해

스킬은 챗봇의 '두뇌' 역할을 외부 서버로 확장하는 기능입니다. 튜토리얼 2의 핵심은 사용자의 발화에서 핵심 정보를 추출해 서버로 던지고, 그 결과를 다시 받아오는 흐름을 완성하는 것입니다.

  • 작동 프로세스:
    1. 사용자: "삼성전자 주가 알려줘"라고 메시지 전송.
    2. 오픈빌더: 발화를 분석해 삼성전자라는 키워드를 추출하고, 연결된 스킬 서버에 HTTP Request(JSON)를 보냄.
    3. 스킬 서버(Backend): 전달받은 키워드로 주가 정보를 조회하고, 규격화된 응답 JSON을 생성해 리턴.
    4. 오픈빌더: 서버로부터 받은 JSON 데이터를 해석해 사용자에게 카드나 텍스트 형태로 최종 출력.

Step 2. 스킬 서버(Backend) 구축 시 필수 고려사항

스킬 서버는 카카오 서버와 직접 통신하므로 기술적인 제약 사항을 반드시 준수해야 합니다.

  1. HTTPS 보안: 카카오는 보안을 위해 오직 HTTPS(SSL) 프로토콜을 사용하는 서버 주소만 허용합니다. (포트 번호는 443 권장)
  2. 5초 타임아웃: 카카오 서버는 스킬 서버를 호출한 뒤 5초 이내에 응답이 오지 않으면 실패로 처리합니다. PDF 요약과 같이 시간이 걸리는 로직은 비동기 처리나 '아웃풋 그룹화' 기법을 고민해야 합니다.
  3. JSON 응답 규격: 반드시 카카오가 정의한 Common, Component, Context 등의 구조를 가진 JSON으로 응답해야 합니다.

Step 3. 오픈빌더 관리자 센터에 스킬 등록하기

서버가 준비되었다면 이제 오픈빌더에게 "내 서버는 여기야"라고 알려줄 차례입니다.

  1. 스킬 메뉴 진입: 좌측 사이드바 하단의 [설정] > [스킬] 메뉴를 클릭합니다.
  2. 새 스킬 생성: [생성] 버튼을 누르고 관리하기 편한 이름을 입력합니다. (예: Stock_Query_Skill)
  3. URL 설정: 개발하신 API의 엔드포인트 URL을 입력합니다. (예: [https://api.yourdomain.com/kakao/stock](https://api.yourdomain.com/kakao/stock))
  4. 테스트 실행: URL 입력 옆의 [테스트] 버튼을 눌러 서버가 200 OK 응답과 함께 올바른 JSON 데이터를 뱉는지 확인합니다.

Step 4. 시나리오 블록과 스킬 연결 (Binding)

스킬을 등록했다고 해서 바로 작동하는 것은 아닙니다. 어떤 대화 상황에서 이 스킬을 쓸지 지정해야 합니다.

  1. 블록 생성: [시나리오] 메뉴에서 실시간 정보가 필요한 새 블록을 만듭니다. (예: "정보조회")
  2. 스킬 선택: 블록 편집 화면 하단으로 내려가면 [스킬 선택] 항목이 있습니다. 여기서 Step 3에서 등록한 스킬을 선택합니다.
  3. 응답 설정(중요): '봇 응답' 영역 상단의 탭을 [텍스트/카드]에서 [스킬 데이터] 혹은 [스킬 응답]으로 전환합니다. 이렇게 설정해야만 봇이 미리 적어둔 글자 대신 서버에서 보내준 값을 화면에 뿌려줍니다.

Step 5. 엔티티(Entity)를 통한 파라미터 전달

사용자가 입력한 문장에서 필요한 정보만 쏙쏙 뽑아 서버로 전달하는 과정입니다.

  1. 엔티티 지정: 사용자의 발화 "서울 날씨 알려줘"에서 "서울"을 드래그하여 @sys.location (혹은 직접 만든 커스텀 엔티티)로 지정합니다.
  2. 파라미터 매핑: 하단의 '파라미터 설정' 섹션에서 이름(예: location)을 정합니다.
  3. 데이터 전송: 이제 챗봇이 서버를 호출할 때 action.params.location 값에 "서울"이라는 데이터를 담아 보냅니다.
  4. 서버 로직 수행: Java/Spring 코드에서 이 파라미터를 읽어 해당 지역의 날씨 DB를 조회하거나 API를 호출합니다.

Step 6. 최종 검증 및 배포

  1. 봇 테스트: 우측 상단의 [봇 테스트] 기능을 사용하여 실제 대화를 진행해 봅니다. 서버에서 보낸 텍스트나 카드 이미지가 제대로 나오는지 확인합니다.
  2. 오류 확인: 만약 응답이 오지 않는다면 스킬 관리 메뉴의 '로그'를 확인하여 JSON 형식 위반인지, 타임아웃인지 파악합니다.
  3. 배포: 모든 연동이 완벽하다면 [배포] 탭에서 최종 배포를 진행합니다.

 

다음단계 바로보기 : https://yeolco.tistory.com/229

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함
반응형