“RAG까지 가보자고🔥” - 사내 챗봇 개발기 with n8n & ChatGPT

소개

17기 문과생도 n8n 박정기 스터디장님의 OT에서 'AI Agent'라는 개념을 처음 접한 이후, 나도 뭔가 만들어보고 싶다는 생각이 들었어요. 단순한 실습을 넘어서 실제 업무에서 써먹을 수 있는 걸 만들고 싶었죠. 그래서 생각한 게 바로 사내 전용 AI 챗봇이었습니다.

단, 아무나 쓰면 안 되니까 인증된 사용자만 접근할 수 있는 Slack을 선택했고, 나중엔 RAG를 붙여 좀 더 똑똑한 에이전트로 발전시킬 구상도 했습니다. 이건 그 첫걸음이었어요 😊

✨ 향후 목표는 이 챗봇에 RAG를 적용해서, 사내 문서를 바탕으로 정확하고 맥락 있는 답변을 줄 수 있는 형태로 확장하는 것입니다.

진행 방법

사용 도구

  • ChatGPT

    • 프롬프트: Slack 챗봇을 구성해줘

    • 답변에서 Slash Command와 Webhook Trigger를 이용한 n8n 연동법을 알려줬어요.

    • 하지만, Bot Mention 을 통해 요청하고 싶었고, 답변은 쓰레드로 받길 원했어요.

    • 그래서 다른 방법이 없는지 찾기 시작했어요.

  • n8n Workflow

    • 정말 감탄했습니다. 템플릿 퀄리티가 미쳤어요.

    • 단순한 흐름도뿐만 아니라, 노드별 설정 값까지 바로 확인 가능했습니다.

    • 처음에는 좀 어렵게 느껴졌지만, 계속 보다 보니 무슨 말인지 이해가 되기 시작했고 따라 하기가 쉬워졌습니다.

  • n8n Docs

    • Slack 노드는 Trigger 타입과 Action 타입이 각각 있었어요. 각각의 타입 별 동작에 대한 설명이 체계적이고 상세해서, 문서만 보고도 충분히 구현할 수 있었어요.

    • 복잡한 인증 절차도 친절하게 안내되어 있어, 차근차근 진행하면 성공 가능성이 높습니다.

구성 흐름 요약

Google 봇을 사용하여 메시지를 보내는 방법을 보여주는 다이어그램
  1. Slack의 특정 채널에서 사용자가 챗봇을 멘션하여 질문이나 요청을 보냅니다. (@bot 이 문서 요약해줘 같은 형태)

  2. n8n의 Slack Trigger 노드가 해당 멘션 메시지를 감지하고, 그 내용을 워크플로우로 전달합니다.

  3. 전달받은 메시지는 AI Agent의 Chat Model로 전송되어, 적절한 답변이 생성됩니다.

  4. 생성된 답변은 n8n의 Slack Action 노드를 통해, 원래 멘션했던 메시지의 쓰레드로 응답됩니다. (대화 흐름을 유지할 수 있어요!)

테스트 결과

두 사람 간의 대화 스크린 샷

결과와 배운 점

  • Slack App은 진짜 무궁무진한 가능성을 가진 도구예요. 다만, 처음에는 설정할 게 꽤 많아서 약간 당황할 수도 있어요!

  • 무엇보다 감동적이었던 건, 이전에 봤던 AI 자동화 사례글의 구조가 내 손에서 구현되는 순간이었어요. "이거 그때 봤던 그 구조잖아..!" 라는 깨달음은 정말 짜릿했습니다 😆

  • 그리고 요구사항이 명확하다면 뭐든지 가능하다는 중요한 교훈을 얻었습니다. 막연한 고민보다, 정확한 니즈를 정의하는 것이 자동화의 핵심이라는 걸요.

아쉬웠던 점

  • 아직까지 Slack에서 쓰레드 기반으로 지속적인 대화 흐름을 유지하는 기능은 완벽하게 구현하지 못했어요. 멘션 → Memory 키를 어떻게 적용해야 쓰레드 안에 대화를 저장할 수 있게 만드는 설정이 필요해 보였어요.

도움 받은 글

3
1개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요