티스토리 뷰
반응형
이전단계 다시보기 : https://yeolco.tistory.com/227
카카오 i 오픈빌더의 [튜토리얼 2: 스킬로 응답하기]는 챗봇이 정해진 답변만 반복하는 수준을 넘어, 외부 서버의 로직을 빌려와 동적인 데이터(실시간 정보, 사용자 맞춤형 결과)를 제공하게 만드는 핵심 과정입니다.
🛠️ 카카오 챗봇 튜토리얼 2: 스킬(Skill) 연동 마스터 가이드
Step 1. 스킬(Skill)의 개념과 작동 원리 이해
스킬은 챗봇의 '두뇌' 역할을 외부 서버로 확장하는 기능입니다. 튜토리얼 2의 핵심은 사용자의 발화에서 핵심 정보를 추출해 서버로 던지고, 그 결과를 다시 받아오는 흐름을 완성하는 것입니다.
- 작동 프로세스:
- 사용자: "삼성전자 주가 알려줘"라고 메시지 전송.
- 오픈빌더: 발화를 분석해 삼성전자라는 키워드를 추출하고, 연결된 스킬 서버에 HTTP Request(JSON)를 보냄.
- 스킬 서버(Backend): 전달받은 키워드로 주가 정보를 조회하고, 규격화된 응답 JSON을 생성해 리턴.
- 오픈빌더: 서버로부터 받은 JSON 데이터를 해석해 사용자에게 카드나 텍스트 형태로 최종 출력.
Step 2. 스킬 서버(Backend) 구축 시 필수 고려사항
스킬 서버는 카카오 서버와 직접 통신하므로 기술적인 제약 사항을 반드시 준수해야 합니다.
- HTTPS 보안: 카카오는 보안을 위해 오직 HTTPS(SSL) 프로토콜을 사용하는 서버 주소만 허용합니다. (포트 번호는 443 권장)
- 5초 타임아웃: 카카오 서버는 스킬 서버를 호출한 뒤 5초 이내에 응답이 오지 않으면 실패로 처리합니다. PDF 요약과 같이 시간이 걸리는 로직은 비동기 처리나 '아웃풋 그룹화' 기법을 고민해야 합니다.
- JSON 응답 규격: 반드시 카카오가 정의한 Common, Component, Context 등의 구조를 가진 JSON으로 응답해야 합니다.
Step 3. 오픈빌더 관리자 센터에 스킬 등록하기
서버가 준비되었다면 이제 오픈빌더에게 "내 서버는 여기야"라고 알려줄 차례입니다.
- 스킬 메뉴 진입: 좌측 사이드바 하단의 [설정] > [스킬] 메뉴를 클릭합니다.
- 새 스킬 생성: [생성] 버튼을 누르고 관리하기 편한 이름을 입력합니다. (예: Stock_Query_Skill)
- URL 설정: 개발하신 API의 엔드포인트 URL을 입력합니다. (예: [https://api.yourdomain.com/kakao/stock](https://api.yourdomain.com/kakao/stock))
- 테스트 실행: URL 입력 옆의 [테스트] 버튼을 눌러 서버가 200 OK 응답과 함께 올바른 JSON 데이터를 뱉는지 확인합니다.
Step 4. 시나리오 블록과 스킬 연결 (Binding)
스킬을 등록했다고 해서 바로 작동하는 것은 아닙니다. 어떤 대화 상황에서 이 스킬을 쓸지 지정해야 합니다.
- 블록 생성: [시나리오] 메뉴에서 실시간 정보가 필요한 새 블록을 만듭니다. (예: "정보조회")
- 스킬 선택: 블록 편집 화면 하단으로 내려가면 [스킬 선택] 항목이 있습니다. 여기서 Step 3에서 등록한 스킬을 선택합니다.
- 응답 설정(중요): '봇 응답' 영역 상단의 탭을 [텍스트/카드]에서 [스킬 데이터] 혹은 [스킬 응답]으로 전환합니다. 이렇게 설정해야만 봇이 미리 적어둔 글자 대신 서버에서 보내준 값을 화면에 뿌려줍니다.
Step 5. 엔티티(Entity)를 통한 파라미터 전달
사용자가 입력한 문장에서 필요한 정보만 쏙쏙 뽑아 서버로 전달하는 과정입니다.
- 엔티티 지정: 사용자의 발화 "서울 날씨 알려줘"에서 "서울"을 드래그하여 @sys.location (혹은 직접 만든 커스텀 엔티티)로 지정합니다.
- 파라미터 매핑: 하단의 '파라미터 설정' 섹션에서 이름(예: location)을 정합니다.
- 데이터 전송: 이제 챗봇이 서버를 호출할 때 action.params.location 값에 "서울"이라는 데이터를 담아 보냅니다.
- 서버 로직 수행: Java/Spring 코드에서 이 파라미터를 읽어 해당 지역의 날씨 DB를 조회하거나 API를 호출합니다.
Step 6. 최종 검증 및 배포
- 봇 테스트: 우측 상단의 [봇 테스트] 기능을 사용하여 실제 대화를 진행해 봅니다. 서버에서 보낸 텍스트나 카드 이미지가 제대로 나오는지 확인합니다.
- 오류 확인: 만약 응답이 오지 않는다면 스킬 관리 메뉴의 '로그'를 확인하여 JSON 형식 위반인지, 타임아웃인지 파악합니다.
- 배포: 모든 연동이 완벽하다면 [배포] 탭에서 최종 배포를 진행합니다.
다음단계 바로보기 : https://yeolco.tistory.com/229
반응형
'기타' 카테고리의 다른 글
| 2026년 하반기 주요 취업 박람회 일정 정보 (0) | 2026.05.09 |
|---|---|
| 카카오 챗봇 구축 쉽게 따라하기 - 3단계 (0) | 2026.05.08 |
| 카카오 챗봇 구축 쉽게 따라하기 - 1단계 (0) | 2026.05.08 |
| KRX OPEN API 활용하여 주식정보 가져오기-STEP3 (0) | 2026.05.07 |
| KRX OPEN API 활용하여 주식정보 가져오기-STEP2 (0) | 2026.05.07 |
| KRX OPEN API 활용하여 주식정보 가져오기-STEP1 (0) | 2026.05.07 |
| 2026년 5월, 6월 대구 축제 정보 (0) | 2026.05.06 |
| 2026년 5월, 6월 부산 축제 정보 (0) | 2026.05.06 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 문제풀이
- 데이터베이스
- 아두이노
- C++ 클래스
- 안드로이드
- 자바
- 리스트
- html
- 블루투스
- 문자열
- Class
- OpenCV
- C언어
- C++
- 알고리즘
- 상속
- Java
- String
- 벡터
- Android
- C
- 배열
- 클래스
- 자료구조
- 정보처리기사
- DB연동
- c#
- 파이썬
- MySQL
- 파일처리
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
반응형
