채잘채잘 이야기 나누기

[Python + Flask] 카카오 챗봇 - 스킬 공부 1주차 본문

학습일지/챗봇 공부하기

[Python + Flask] 카카오 챗봇 - 스킬 공부 1주차

채잘채잘 2022. 8. 26. 01:48

공부를 시작하게 된 계기

최근 운이 좋게 챗봇 분야에서 어시스턴트로 일하는 기회를 얻게 되었다.

이제 2주차.... ㅎㅎㅎ

사실 실무 경험이 있는 상황이라서 이 상황에 어시스턴트를 하는 것도 괜찮을까 고민했지만, (안 했다면 거짓말이다!)

추후에 이 쪽으로 가고 싶은 생각도 있었고 취업 준비를 하면서 생계 유지도 필요해서 결정했다.

 

어시스턴트는 기본적으로 엄청난 지식 수준이나 기술 수준을 요하는 업무를 하지는 않지만...

기왕 기회가 생긴 거 잘 공부해서 경험을 잘 쌓아가고 싶다는 생각에 공부를 시작하게 되었다.

이러다가 3주 뒤에 갑자기 사라지는 거 아닌가... 싶지만... 아무튼 그렇다.


챗봇 공부로 얻고자 하는 것

줄글보다는 불렛이 더 좋을 것 같아서 불렛으로 정리해봤다. 그리고 다 쓰고 나니 나는 정말 욕심이 많다는 생각을 다시 한 번 했다.

  • 챗봇에 대한 폭넓은 이해 (구조, 트렌드, 가능한 BM 등)
  • 실 개발 프로세스
  • 기획 및 개발 시 고려해야 하는 사항들
  • 챗봇 플랫폼 서비스별 차이
  • 플랫폼별로 챗봇의 대중화를 위해 어떻게 노력하고 있는지
  • 챗봇의 미래 및 사용 예시

+) 사이드 프로젝트에서 하고 있는 챗봇을 일부 개선하고자 하는데 그게 가능한지 확인


어떤 부분에 대해 공부를 할 것인가

사이드 프로젝트 URURL에서 카카오 채널을 이용하고 있어서 기본적인 기능들도 사용해봤고,

그 채널을 좀 개선하고 싶어서 이것저것 찾아도 보고 도움말도 보고 해봤다.

하지만... 필자가 개발자는 아니기에... 스킬 기능에 대해서는 이해가 부족했다.

(*스킬 기능 : 챗봇과 api를 연동하여 데이터 및 챗봇의 답변을 더 다양하게 커스터마이징할 수 있는 기능이라고 할 수 있다.)

 

일단 초반에는 챗봇 관련해서 URL도 이것저것 찾아서 읽고 이랬는데...

챗봇 트렌드나 흘러가는 흐름은 얼추 알았으니까 진짜 그 플랫폼들을 경험해보는 게 중요할 것 같다는 생각이 들었다.

그래서 챗봇 관리자센터 OBT 신청해서 챗봇을 직접 만들어보기로 했다.


어떤 챗봇을 만들 것인가

나는 개인 일정관리용 챗봇을 만들어보고 싶다.

일단은 러프하게 노션 api를 연결해서 쓰는 형태를 생각하고 있다.

몇 가지 간단한 예시들을 먼저 시도해본 다음, 일정관리용 챗봇을 만들 예정이다.

다음에는 주문/예약과 관련된 챗봇을 만들어볼까도 싶다.

시나리오를 먼저 짜서 어떤 정보들이 필요할지 고려하는 작업이 필요할 것 같다.


시작부터 쉽지 않은 챗봇 스킬 이용하기

api를 만들어서 챗봇을 만들어볼 생각에 OBT 심사 통과하고 딱 관리자센터를 열었는데... 이럴수가....

대학교 3학년 때 동기가 우분투와 큰 씨름을 하는 것을 오래 지켜본 나에게...

스킬 기본 세팅을 위해 Ubuntu를 깔라니....

너무 높은 허들에 며칠을 머뭇거렸다.

 

일단은 패스하고 다른 기능들로 이것저것 고민, 연습해봤지만, 역시 카카오 챗봇의 꽃은 api를 연동하는 "스킬" 기능...😂

(물론 본인의 생각입니다)

 

결국 포기하지 못하고 다른 언어로 해결할 수 없는지 찾게 되었다.

내가 그래도 써본 언어이면서 사람들이 가이드를 좀 써둔 걸 찾다가 아래 블로그를 발견했다.

그리고 내가 모두 경험해본 스펙이라서(구름 IDE 제외) 바로 시도했다.

 

https://novice-engineers.tistory.com/23?category=939679 

 

[python] 10분만에 카카오톡 챗봇 만들기2 - Flask

드디어 승인 메시지가 도착했습니다! 승인 메시지를 확인하러 아래 이미지를 클릭해주세요. 받은 메일함 | 카카오 메일 (kakao.com) 카카오메일 새로운 시작, 카카오메일 mail.kakao.com 아래 이미지를

novice-engineers.tistory.com


다시 찾아온 고난

사실 이건 고난이 아니라 멍청함과 덜렁댐에서 비롯한 시간 낭비다...ㅎ

이미 경험해본 기능들과 툴, 언어 등인 만큼 시도하는 건 전혀 어렵지 않았다.

그렇다면 어디서 막혔냐...!

 

바로... 스킬 기능에서 "URL을 입력하는 부분"에서...!

 

블로그 글을 잘 살펴보면, 아래 내용이 분명히 있는데 이걸 안 읽었다.

그래서 혼자 30분 동안 처절하게 몇 번이나 시도하면서 스트레스를 받았다...

출처 및 원문 : https://novice-engineers.tistory.com/24?category=939679

왜 이런 일이 생겼냐면... 코드를 안 본지 너무 오래된 것... 이제 코드를 보려면 검색해가면서 봐야 하는 것...

다시 익숙해지면 되니까 괜찮다...ㅎㅎ

 

암튼 그래서 위 블로그 주인 분이신 "초보 개발자"님 덕분에 스킬 이용해서 챗봇 만들기 1차 시도는 성공~

스킬 이용해서 챗봇 만들기 1차 시도 성공!


다음주 공부 계획

일단 다음주에는 환율 정보를 알려주는 챗봇이랑 사칙연산하는 챗봇을 생각하고 있다.

아 이번에는 시나리오 설계하는 것도 한 번 같이 문서화해볼까 싶다.

그렇게 해서 챗봇 기획 문서를 남겨보는 것도 재밌을 것 같다.

 

스킬 사용 및 파이썬 코드 작성에 어느 정도 익숙해지면,

주문/예약 챗봇의 시나리오를 짜보고...

다른 챗봇 툴도 써볼 예정이다!

 

일단 당분간은 기능형 챗봇에 중심을 두고 공부를 해나가려고 한다.

그 이유는 감성형 챗봇은 세부적인 설계보다는 기술적인 요소들이 더 많이 작용하기 때문이다.

유저의 정보를 기억하거나 문맥을 이해하게끔 시키는 부분은 AI 알고리즘 쪽에 대한 이해를 좀 높이고 난 뒤에야 시도나 해볼 수 있지 않을까 싶다... (사실 그 때도 잘 모를 거 같음 ㅎㅎ)


이번주 느낀 점

사실 입사 전에는 플랫폼 서비스들이나 일반 챗봇 서비스나 다 재밌을 거라고 생각했는데

플랫폼 서비스가 꽤나 재밌는 것 같다.

챗봇을 어떻게 필요에 맞춰서 더 제작하기 쉽게 만들 것이냐(그래서 어떻게 수익을 낼 것이냐)가 주요 목적이기도 하고

챗봇을 만들기 위해 알아야 할 개념들에 대해 어떻게 인지하게끔 만들 것인지도 꽤 중요하다고 느꼈다.

 

재밌는 것 같아서 좀 다른 플랫폼 서비스들도 얼른 경험해보고 싶다.