sayyoon.site
postsguestbook
🏢
SKALA생성형AI

AI 미니프로젝트 - 슬랙 기반 AI 챗봇 서비스 개발

2025.05.11

프로젝트가 끝나고 바로 작성하기 시작한, 따끈따끈한 포스트🔥
미니프로젝트가 너무 연달아 계속 되어서 힘들지만.. 그래도 한 번쯤 개발해보고 싶었던 서비스를 개발할 수 있어 기쁘다 ^_^

 

프로젝트 계기

작년 인턴 생활 동안 슬랙을 정말 많이 썼다. 업무 공유부터 질문, 잡담까지 모든 커뮤니케이션이 슬랙을 중심으로 이뤄졌고, 자연스럽게 “이 안에 AI가 들어가면 꽤 괜찮지 않을까?” 하는 생각이 들었다. 그러던 중, RAG라는 개념을 접하게 됐고, 사내 자료를 검색해서 직원들의 질문에 AI가 답해주는 구조가 가능하다는 걸 알게 됐다. 실제로 검색해보니 많은 기업들이 사내 챗봇 개발에 관심을 가지고 있었고, 굵직한 기업부터 스타트업까지 다양한 시도가 이뤄지고 있었다.
나는 별도의 챗봇 앱을 만드는 것보다는, 직원들이 매일 사용하는 슬랙 같은 메신저에 자연스럽게 챗봇을 녹여넣는 방식이 더 접근성도 좋고, 실제 활용도도 높을 거라고 생각했다. 그래서 “슬랙에서 사용가능한 AI 챗봇을 만들어보고 싶다!”는 결론에 도달!
마침 skala에서 진행하는 팀 프로젝트 주제가 기업에서 활용할 수 있는 AI 서비스 개발이었고, 3일이라는 짧은 개발 기간과 모두 온전한 AI 서비스 개발이 처음이라는 점(그래서 프론트엔드는 과감히 생략했다ㅎ), 슬랙 봇 개발에 팀원들이 관심+흥미+재미를 보였기에, 슬랙에서 직접 인터랙션 가능한 생성형 AI 슬랙봇을 만들기로 했다! (개발하고 나서 보니 우리가 개발한 ai 앱을 얼마든지 사용자가 원활하게 상호작용할 수 있는 서비스였기에 더더욱 재밌었다.)

 

프로젝트 소개

슬랙 기반 사내 AI 비서 서비스 aSK봇은 사내 협업 환경에서 효율성 향상을 원하는 내부 임직원을 대상으로 한다. 슬랙을 사내 메신저로 사용하는 직원들을 위한 생성형 AI 챗봇 서비스이다.
주요 기능으로 업무 메시지 요약, 뉴스 이슈 정리, 사내 정책 응답, 실시간 번역 총 4가지 기능이 있다.

aSK봇을 통해 사내 정보 접근의 비효율성을 줄이고, 협업 툴(Slack)내 정보가 과잉되어 중요 내용을 추출하기 어려운 점을 해결하며, 언어 장벽으로 인한 커뮤니케이션의 어려움을 줄이고자 했다.

핵심 기능에 해당하는 AI Agent를 개별적으로 구성하다 보니, 총 4가지 AI Agent를 구현했다.

  • Summary Agent : 특정 슬랙 채널에서 입력한 기간에 해당하는 전체 메시지를 [발언자별/notice] 형태로 요약
  • QnA Agent : 사내 문서(PDF) 기반 맞춤형 응답 제공
  • Issue Agent : 최신 뉴스 수집 후 뉴스기사와 요약 제공
  • Translate Agent : 번역 결과 제공

 

프로젝트 진행

이번 프로젝트는 3명이 한 팀이 되어 진행했다. 혼자 할 때보다 심적 부담이 훨씬 줄어서 좋았다. (함께 의지할 팀원이 있어 든든했다ㅎ) 우선 어떤 AI 서비스를 만들지 주제를 구체화했고, 서비스 이름과 팀명도 정했다. 그다음 AI, BE, DB 역할을 나눠 본격적으로 개발을 시작했다. GitHub로 버전 관리를 하며 팀원들과 함께 모노레포 방식으로 하나의 코드베이스를 관리했다. 서비스 범위를 미리 정해두고 시작했기 때문에 비교적 깔끔하게 진행할 수 있었다.

나는 평소에 해보고 싶었던 FastAPI 백엔드 개발과 Slack 연동을 맡았다. 초반에는 슬래시 커맨드나 슬랙 스코프 같은 개념이 낯설어서 꽤나 헤맸다. 서비스 구조를 어떻게 설계해야 할지도 감이 안 잡혔고… 하지만 다행히도 GPT 선배(?)의 도움을 받아가며 하나씩 정리해 나갔다. 그 덕분에 개발 방향을 확실히 잡고 슬슬 속도를 낼 수 있었다.

무엇보다 팀원들과 정말 호흡이 잘 맞아서 끝까지 웃으면서 개발할 수 있었던 게 가장 좋았다. 노션으로 각자의 역할과 진행 상황을 정리해가며 매일 짧게 회의를 했고, 그 덕분에 특별한 삽질 없이 계획대로 개발을 마칠 수 있었다. 👏👏👏

 

아래는 슬랙에 출력되는 결과 메시지를 슬래시 커맨드 별로 정리한 이미지이다.

image

prompt의 중요성을 몸소 느끼고, 사용자를 위한 답변 메시지도 생각해보는 유익한 시간이었다.^_^

 

소감

먼저, 팀원들과 분위기 좋게 끝까지 잘 마무리한 게 제일 뿌듯하다. 그리고 예전 대학생 때 했던 프로젝트들과 비교해 보니, 확실히 내가 지금 프로젝트를 보는 시야가 많이 달라졌다는 걸 느꼈다. 그만큼 더 깊게 고민하고, 설계하고, 개발해본 것 같아 기분이 좋았다.

물론 아쉬움이 없진 않다. 몇 가지를 꼽아보자면…

현재는 사용자가 슬래시 커맨드를 직접 구분해서 입력해야 기능이 동작하는데, 수업 시간에 배운 Tool Calling 개념을 적용하면 사용자가 일일이 커맨드를 기억하지 않아도 AI가 알아서 적절한 기능을 불러주는 더 똑똑한 챗봇으로 만들 수 있을 것 같다.

4가지 기능을 만들면서 새로운 Agent를 추가하는 게 생각보다 어렵지 않다는 걸 알았는데, 시간이 부족해 더 많은 기능을 시도하지 못한 게 좀 아쉽다.

또, 이번에는 로컬 환경에서만 돌아가는 서비스라 슬랙 API 등록도 ngrok를 써서 내 PC 주소를 임시로 연결했다. 나중에는 Docker나 클라우드 환경에 배포해 보는 것도 도전해보고 싶다. (주말에 해봐야징)

무엇보다도, 올해 초부터 RAG 기반 챗봇을 한번 꼭 만들어보고 싶었는데 이렇게 직접 개발해볼 기회를 잡아서 정말 좋았다. 슬랙에 붙여서 실제로 돌아가는 걸 보니 더 실감도 났고, 해보고 싶던 걸 해냈다는 느낌이 들었다. 앞으로도 열심히 배워서 최종 프로젝트에서는 더 완성도 높은 결과물을 만들어 보고 싶다. 💪

© Powered by danmin