Slack AI 반려봇을 단계적으로 구축하기

소개

이번에 시도한 것은 Slack을 개인 AI 관제실처럼 사용하면서, 역할이 다른 3개의 AI 반려봇을 단계적으로 구축하는 구조를 설계하는 것이었습니다.

처음에는 “AI 봇 하나를 Slack에 연결하면 되겠지”라고 생각했습니다. 하지만 실제로 개인 일정, 강의·코칭, 사업 운영까지 한 공간에서 다루려고 하니 고민이 생겼습니다.

“하나의 Slack 봇이 모든 데이터를 보고 모든 역할을 맡아도 괜찮을까?”

편리함만 보면 하나의 봇이 모든 일을 처리하는 것이 쉽습니다. 하지만 장기적으로 운영하려면 역할과 권한을 분리하는 편이 더 안전하다고 판단했습니다.

그래서 목표를 이렇게 정했습니다.

Mac mini에서 Hermes Agent를 24시간 실행하고, Slack 안에서 개인·교육·사업용 AI 반려봇을 단계적으로 연결하기

이 사례글은 실제 구현 전에 정리한 Slack 중심 3반려봇 구축 런북을 바탕으로 작성했습니다. 개인정보, 실제 계정명, 토큰, 구체적인 식별자는 제외하고, 전체 프로세스와 시행착오 중심으로 정리했습니다.


진행 방법

1. 한 번에 3개 봇을 만들지 않기로 했습니다

가장 먼저 정한 원칙은 “한 번에 다 만들지 않는다”였습니다.

처음부터 개인용, 교육용, 사업용 봇을 동시에 Slack에 연결하면 문제가 생겼을 때 원인을 찾기 어렵습니다. Slack App 설정, Hermes profile, Gateway, OAuth, launchd, Google 데이터 연결이 한꺼번에 얽히기 때문입니다.

그래서 실제 진행 단위를 다음처럼 나누었습니다.

  1. 개인·가족용 봇 1개만 Slack에 먼저 연결한다.

  2. 기존 Telegram 연결과 Calendar 조회가 계속 되는지 확인한다.

  3. Slack DM과 비공개 채널에서 정상 응답하는지 확인한다.

  4. 그 다음 교육용 봇을 추가한다.

  5. 마지막으로 사업지원 봇을 추가한다.

  6. 세 봇이 모두 안정화되면 launchd로 상시 운영을 검증한다.

이렇게 하니 “작게 만들고, 검증하고, 다음 단계로 넘어가는” 흐름이 생겼습니다.


2. Slack은 채팅 앱이 아니라 AI 운영 공간으로 설계했습니다

이번 구조에서 Slack은 단순한 메신저가 아니라 개인 AI 운영 공간 역할을 합니다.

제가 생각한 Slack 구조는 다음과 같습니다.

Slack 공간

목적

봇과의 1:1 DM

빠른 질문과 개인 작업 요청

개인·가족 비공개 채널

일정, 생활, 가족 관련 대화

교육·코칭 비공개 채널

강의안, 커리큘럼, 코칭 아이디어 정리

사업 운영 비공개 채널

프로젝트, 고객관리, 제안서, 회의 정리

중요한 점은 각 봇을 필요한 채널에만 초대한다는 것입니다.

예를 들어 개인·가족용 봇은 가족 일정 채널에는 들어갈 수 있지만, 사업 운영 채널에는 초대하지 않습니다. 사업지원 봇은 사업 채널에는 들어가지만 개인 일정 채널에는 들어가지 않습니다.

Slack의 채널 구조를 AI 권한 경계로 활용하는 방식입니다.


3. Mac mini 서버에는 Slack Desktop이 없어도 된다는 것을 확인했습니다

처음에는 Mac mini에서 Slack Desktop 앱을 설치해야 하는지 헷갈렸습니다.

확인해보니 Hermes Gateway는 Slack Desktop을 통해 메시지를 주고받는 것이 아니라, Slack App과 Socket Mode로 직접 연결됩니다.

즉, Mac mini 서버에는 Slack Desktop이 필수는 아니었습니다.

구성요소

필요한 이유

Slack Desktop

사용자가 채팅하는 UI. 서버에는 필수 아님

Slack App

봇 권한과 이벤트를 정의하는 핵심 구성

Socket Mode

외부 공개 URL 없이 Slack과 Gateway를 연결

Hermes Gateway

Slack 이벤트를 받아 AI 에이전트로 전달

이 부분을 이해하고 나니 Mac mini를 더 깔끔한 서버로 운영할 수 있겠다고 느꼈습니다.


4. 첫 번째 봇부터 성공 기준을 명확히 정했습니다

처음 연결할 봇은 개인·가족용 봇 하나로 정했습니다.

이 단계의 성공 기준은 다음과 같습니다.

  • Slack DM에서 봇이 응답한다.

  • 비공개 채널에서 @mention으로 봇이 응답한다.

  • 기존 Telegram 연결은 계속 유지된다.

  • 기존 Calendar 조회 기능이 Slack에서도 작동한다.

  • 허용하지 않은 사용자의 요청은 처리하지 않는다.

  • Gateway 로그에 Slack 인증 또는 Socket Mode 오류가 없다.

이렇게 기준을 정해두면 “연결됐다”는 느낌이 아니라, 실제로 운영 가능한 상태인지 확인할 수 있습니다.


5. Slack App Manifest를 먼저 만들고 검증하는 방식으로 설계했습니다

Slack App은 수동으로 하나하나 설정할 수도 있지만, 가능하면 Manifest로 만드는 편이 재현성이 좋습니다.

Hermes에서는 Slack App 구성을 위한 manifest 생성 흐름을 사용할 수 있습니다. 예시는 아래와 같은 형태입니다.

hermes slack manifest \
  --agent-view \
  --name "개인용 AI 비서" \
  --description "개인 일정과 생활을 돕는 AI 반려봇" \
  --write "$HOME/.hermes/slack-manifest-personal.json"


6. 토큰은 채팅에 붙여 넣지 않는 원칙을 세웠습니다

Slack App을 만들면 두 종류의 중요한 토큰이 생깁니다.

토큰 종류

역할

Bot User OAuth Token

봇이 메시지를 읽고 쓰기 위한 토큰

App-Level Token

Socket Mode 연결을 위한 토큰

이 값들은 AI 채팅창이나 공개 메신저에 붙여 넣지 않는 것을 원칙으로 했습니다.

대신 사용자가 Mac mini의 터미널에서 직접 입력하는 방식으로 설계했습니다.

AI 에이전트는 토큰을 요청하거나, 토큰을 채팅에 다시 출력하지 않도록 했습니다.

이 원칙을 세워두니 보안상 불안감이 많이 줄었습니다.


7. Gateway 재시작도 별도 단계로 분리했습니다

Slack 설정을 입력한 뒤에는 Gateway가 새 설정을 읽도록 재시작해야 합니다.

하지만 Gateway 재시작은 기존 Telegram 응답이 잠깐 끊길 수 있으므로, 자동으로 실행하지 않고 별도 승인 단계로 분리했습니다.

검증할 내용은 다음과 같습니다.

  • Gateway가 running 상태인지

  • 기존 Telegram 연결이 유지되는지

  • Slack adapter가 연결되는지

  • 로그에 인증 오류가 없는지

  • Slack DM과 채널 mention이 정상 동작하는지

작업을 “설정 입력”과 “Gateway 재시작”으로 나눠두면, 사용자가 어느 순간에 서비스 영향이 생기는지 이해하기 쉽습니다.


8. 두 번째, 세 번째 봇은 첫 번째 봇이 안정화된 뒤 추가합니다

첫 번째 봇이 Slack에서 정상 동작하면 그 다음에 교육용 봇, 사업지원 봇을 추가합니다.

이때는 단순히 Slack App만 하나 더 만드는 것이 아니라, Hermes profile도 분리합니다.

9. 세 봇을 한 Slack 워크스페이스에 둘 때 주의할 점도 정리했습니다

하나의 Slack 워크스페이스에 3개의 App을 둘 수는 있지만, 몇 가지 주의가 필요합니다.

  • 각 봇은 별도 Slack App으로 만든다.

  • 각 봇은 별도 Hermes profile을 사용한다.

  • 각 App은 필요한 채널에만 초대한다.

  • Slash Command 이름이 중복되면 Slack UI에서 헷갈릴 수 있다.

  • 필요하면 일부 봇은 DM과 @mention 중심으로만 운영한다.

  • Agent view 같은 되돌리기 어려운 설정은 신규 App에서만 신중하게 적용한다.

처음부터 모든 기능을 켜는 것보다, 하나의 봇으로 검증한 뒤 나머지를 확장하는 방식이 더 안전했습니다.


10. AI에게 사용한 프롬프트 예시

이번 설계를 만들 때 AI에게는 다음처럼 요청했습니다.

Mac mini에서 Hermes Agent를 24시간 운영하고 싶어.
Slack을 중심으로 개인·가족용 봇, 교육·코칭용 봇, 사업지원용 봇을 단계적으로 연결하려고 해.

조건은 다음과 같아.
- 기존 Telegram 봇과 Calendar 연결은 유지하고 싶어.
- Slack은 먼저 개인용 봇 하나만 연결해서 검증하고 싶어.
- 그 다음 교육용, 사업용 봇을 순서대로 추가하고 싶어.
- 각 봇은 별도 Hermes profile과 별도 Slack App을 사용했으면 해.
- 토큰은 채팅에 붙여 넣지 않고 Mac mini에서 직접 입력할 거야.
- Gateway 재시작처럼 서비스 영향이 있는 작업은 단계별로 승인받고 싶어.

Slack Workspace, Slack App Manifest, Socket Mode, Hermes Gateway, launchd 기준으로 구축 런북을 작성해줘.
검증 기준과 실패했을 때 확인할 항목도 포함해줘.

결과와 배운 점

결과

이번 작업의 결과물은 실제 명령어 실행 전 단계에서 사용할 수 있는 Slack 중심 3반려봇 구축 런북입니다.

핵심 구조는 다음과 같습니다.

  1. Mac mini에서 Hermes Gateway를 24시간 실행한다.

  2. Slack은 개인 AI 관제실처럼 사용한다.

  3. 첫 단계에서는 개인·가족용 봇 하나만 연결한다.

  4. DM, 비공개 채널, 기존 Telegram, Calendar 조회를 모두 검증한다.

  5. 이후 교육용 봇과 사업지원 봇을 별도 profile과 별도 Slack App으로 추가한다.

  6. 토큰은 채팅에 붙여 넣지 않고 Mac mini에서 직접 입력한다.

  7. Gateway 재시작과 launchd 등록은 서비스 영향 작업으로 보고 별도 승인 후 진행한다.

  8. 최종적으로 세 봇을 launchd로 상시 운영한다.

이 구조를 정리하면서 “Slack에 AI 봇을 붙인다”는 일이 단순한 앱 설치가 아니라, 운영 체계 설계에 가깝다는 것을 알게 되었습니다.

도움 받은 글 (옵션)

모각에서 의견주신 벤쿠버쪼 , 망원궁예 딩돌이 님들 감사합니다.

4
4개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.