박승현상태창 ↗
← 포트폴리오

카카오 챗봇 스킬 관리 시스템 및 API 서버

단독 설계 및 개발

카카오톡 챗봇의 응답과 시나리오를 코드 수정 없이 데이터베이스와 웹 UI를 통해 동적으로 관리하는 커스텀 스킬 서버 플랫폼

HTML5CSSExpressMariaDBDockerNode.js

프로젝트 소개

카카오 i 오픈빌더와 연동하여 농산물 고객 문의를 자동 응대할 수 있도록 개발한 챗봇 관리 플랫폼입니다.

사용자의 발화를 분석하여 등록된 시나리오에 따라 응답을 제공하며, 관리자 페이지를 통해 의도(Intent), 응답 메시지, 시나리오를 직접 관리할 수 있도록 구성하였습니다.

또한 대화 이력 저장, 응답 시뮬레이션, 카카오톡 메시지 포맷 자동 생성 기능을 제공하여 챗봇 운영과 콘텐츠 관리를 효율적으로 수행할 수 있도록 개발하였습니다.

개발 이유

이 프로젝트는 부모님이 운영하시는 농장의 과일 흥보와 고객 응대를 더욱 효율적으로 운영하기 위한 목적이었습니다.

전 직장에서 챗봇 운영 및 관리 업무를 담당한 경험이 있으며, 당시에는 카톡과 자체 데이터베이스가 어떤 방식으로 연동되는지 구체적으로 알지는 못하였지만, 구현 난이도가 높지는 않을 것 이라고 판단, 이에 실제로 챗봇 서비스가 동작하는 구조를 직접 이해하고 구현해 보기 위해 개발을 시작하게 되었습니다.

시스템 아키텍처

주요 구현

  1. 자동 응답 포매팅 엔진 : DB에 저장된 응답 데이터를 파싱하여 카카오톡 챗봇 전용 JSON 규격(SimpleText, BasicCard, Carousel)으로 자동 변환 반환

  2. 의도 및 시나리오 관리 UI : EJS 탬플릿 기반 어드민 페이지를 제공하여 발화 패턴과 대응 응답, 다단계 시나리오를 CRUD 가능

  3. 대화 히스토리 로깅 시스템: 사용자의 모든 질의를 매칭된 인탠트, 실제 반환된 최종 응답내용을 히스토리 테이블에 기록

  4. 시뮬레이션 프리뷰 기능: 관리자 페이지에서 챗봇 시나리오에 따른 응답 결과를 카카오톡 플랫폼 없이 자체 테스트

운영결과

기능을 구현하면서 가장 까다로웠던 부분은 카카오 i 오픈빌더 플랫폼이 가진 제약 사항이었습니다. 특히 응답 메시지의 글자 수 제한과 포맷 규칙을 맞추는 과정에서 예상보다 많은 시행착오를 겪었습니다. 사용자에게 더 많은 정보를 제공하고 싶어도 플랫폼의 제한으로 인해 메시지 구성을 여러 차례 수정해야 했고, 제약을 고려한 데이터 설계와 응답 구조의 중요성을 체감할 수 있었습니다.

개선

추가 개발을 진행한다면 챗봇 기능 확장보다는 관리자 페이지를 강화하여 상품 정보, 응답 메시지, 노출 콘텐츠 등을 보다 편리하게 관리할 수 있는 방향으로 개선해 보고 싶습니다

챗봇1