Claude in Slack vs Claude CLI 기반 OpenClaw — 같은 슬랙 봇, 무엇이 다른가
01 · Claude in Slack vs Claude CLI 기반 OpenClaw — 우리가 OpenClaw를 쓰는 이유
🛣️ 이 편의 핵심 — 같은 “슬랙 봇”이지만 Claude in Slack과 OpenClaw는 철학이 정반대. 협업의 정의도, 구독 카운트도, 봇이 팀원이냐 도구냐도 다름. 우리(뽀피터스)가 어느 쪽을 표준으로 잡았고 왜 그런지 푸는 편. 셋업 들어가기 전 이 큰 그림을 잡고 가야 ep.2 작동 흐름부터 ep.5 N대 머신까지 흐름이 풀려. 비개발자도 따라올 수 있게 비유 위주로 풀었어.
📜 “어쩌다 지금 셋업이 됐는지” 변천사가 궁금하면 → Claude CLI 도입기 ep.1 OpenClaw 변천사 (토큰 빌려쓰기 → ACP 우회 → Claude CLI 정식). 본 편은 지금 표준을 다루고, 거쳐온 길은 Claude CLI 도입기 ep.1 변천사로 분리했어.
🤔 잠깐 — 그냥 claude 치면 되지, 왜 OpenClaw가 필요해?
답은 두 단계로 나뉘어:
Step 1 — 혼자야, 팀이야? (협업 관점)
- 혼자라면 → 터미널에서
claude단독으로 충분- 팀이라면 → 슬랙에 봇으로 붙여야 협업 가능
Step 2 — 슬랙에 붙이는 두 갈래 (페르소나·철학 관점) 여기서 진짜 차이가 나와. 표면적으론 둘 다 슬랙 봇이지만 철학이 정반대.
🏠 한 줄 비유 — 집·사무실·직원
| 시나리오 | 비유 한 줄 |
|---|---|
| 🟦 터미널 단독 | 각자 집에서 일함 |
| 🟪 Claude in Slack | 각자 집에서 일하던 걸 회사 사무실 와서 함. 공간은 같지만 자기 일은 자기 Claude로 함 |
| 🟢 OpenClaw | 내가 만든 에이전트가 회사 직원으로 출근. 팀원들이 그 직원한테 일 시킴 |
핵심 차이 한 줄:
- 🟪 Claude in Slack: 내 에이전트를 다른 사람이 못 부름 (자기 거 자기가 씀, 슬랙은 만남의 공간일 뿐)
- 🟢 OpenClaw: 내 에이전트가 회사 직원이 돼서 팀이 같이 부림
🤝 협업의 두 종류 — 가시성 vs 위임
협업이라고 다 같은 협업 아니야. 두 종류로 나뉘어:
| 가시성 협업 (옆에서 봄) | 위임 협업 (시킴) | |
|---|---|---|
| 🟦 집에서 일 (터미널 단독) | ❌ | ❌ |
| 🟪 사무실 와서 일 (Claude in Slack) | ✅ | ❌ |
| 🟢 직원 출근 (OpenClaw) | ✅ | ✅ |
- Claude in Slack은 사무실 효과까지 — 같은 공간에서 일하니 진행이 보이고 팀이 코멘트 가능. 근데 “네가 좀 해줘”는 안 됨 — 결국 내 일은 내가 함
- OpenClaw는 진짜 직원 효과 — 봇이 출근해서 팀이 그 봇한테 일 위임 가능. “네가 좀 해줘”가 진짜로 됨
Claude를 쓰는 3가지 시나리오 — 자세히
🟦 시나리오 1 — 터미널 단독
🙋 사람 → 내 노트북 터미널 → claude 입력 → 1:1 대화
- 1:1 대화. 사람이 옆에 있어야 작동
- 로컬 파일 직접 수정 강력 (Bash·파일시스템 자유)
- 슬랙 연결 X
- 노트북 닫으면 끝
비유: 각자 집에서 일하는 노트북. 내가 켤 때만 작동.
🟪 시나리오 2 — Claude in Slack (Anthropic 공식)
Anthropic 공식 Claude in Slack. 슬랙 워크스페이스에 봇 install + 각 팀원이 자기 Claude 계정 연결.
다혜가 @Claude 부르면 → 다혜 Claude가 응답 (다혜 노트북 안 켜도 OK, 클라우드)
진우가 @Claude 부르면 → 진우 Claude가 응답
↑ 봇 1마리지만 부르는 사람마다 자기 Claude로 응답
작동 방식: 슬랙 채팅창은 공동 출입구. 부르는 사람마다 자기 Claude가 잠깐 나와서 답하고 들어감.
핵심 한계:
- 내 Claude를 다른 사람이 못 부름 — 진우가 “다혜 Claude”한테 일 시키려면 진우 본인 Claude 따로 필요
- 봇 이름 =
@Claude고정 (페르소나 커스텀 X) - 5명이 쓰려면 5개 구독 필요
- DM 안 됨, GitHub repo 필수, 세션당 PR 1개
비유: 각자 집에서 일하던 걸 회사 사무실 와서 함. 공간은 같이 쓰지만 자기 일은 자기 Claude로. 옆 사람한테 내 Claude 못 빌려줌.
🟢 시나리오 3 — OpenClaw (이 시리즈가 다루는 방식)
다혜가 @뽀야 부르면 → 뽀야가 응답 (뽀야 = 다혜가 만든 직원, 다혜 Claude로 일함)
진우가 @뽀야 부르면 → 같은 뽀야가 응답 (역시 다혜 Claude로 일함)
↑ 봇이 직원이라 누가 부르든 같은 봇이 일함
작동 방식: 다혜가 자기 Claude로 봇(@뽀야)을 만듦. 그 봇은 회사 직원처럼 슬랙에 출근. 팀원이 누구든 그 봇한테 일 시킬 수 있음.
핵심 강점:
- 봇이 회사 직원 — 이름·성격·기억·스킬을 가지고 24시간 출근
- 다른 팀원은 자기 Claude 구독 X 필요 — 봇이 만든 사람 Claude로 일함
- 봇 N마리 자유롭게 만들 수 있음 (
@뽀야,@뽀짝이,@뽀둥이…) - DM·텔레그램·웹훅 등 다채널, 크론 자동화도 가능
- 세팅 난이도 ↑ — 그래서 이 시리즈가 필요
비유: 내가 만든 직원이 회사에 출근. 팀이 그 직원한테 일 시킴. 직원은 이름·말투·역할(페르소나)을 가지고 일함.
한눈에 비교
| 항목 | 🟦 터미널 단독 | 🟪 Claude in Slack | 🟢 OpenClaw |
|---|---|---|---|
| 한 줄 비유 | 각자 집에서 일함 | 집 일을 사무실 와서 함 | 내가 만든 직원이 출근 |
| 봇 = 회사 직원? | ❌ | ❌ (슬랙은 만남의 공간) | ✅ |
| 봇 이름·성격 | ❌ | ❌ @Claude 고정 | ✅ 자유 (@뽀야 등) |
| 내 Claude를 남이 부를 수 있나? | ❌ | ❌ (각자 자기 거) | ✅ (봇이 만든 사람 Claude로 일함) |
| 5명이 쓰려면 구독 몇 개? | 5개 | 5개 | 1개 (만든 사람만) |
| 24시간 자동 | ❌ 노트북 켜야 | ✅ Anthropic 클라우드 | ✅ 데몬 (만든 사람 머신 켜야) |
| DM 가능 | ✅ | ❌ 채널만 | ✅ |
| 로컬 파일 수정 | ✅ 강력 | ❌ GitHub repo만 | ✅ |
| 세팅 난이도 | 쉬움 | 쉬움 | 높음 (이 시리즈가 풀어줌) |
⚠️ Claude in Slack의 숨은 함정 — 5명 중 한 명이라도 Pro/Max 구독 안 하면 그 사람만 봇한테 코딩 위임 불가 (일반 chat 답변만 받음). 5명이 다 쓰려면 5명 다 본인 구독 필수.
🟢 OpenClaw에선 봇 만든 사람 1명만 구독 있으면 OK — 팀원 전원이 그 봇 부를 수 있어. 신규 입사자가 들어와도 그냥 봇 부르면 됨.
결정 트리 — 어디로 가야 하나
🤔 Claude로 뭘 하고 싶어?
│
├─ 혼자, 내 노트북에서 코딩 → 🟦 터미널 단독
│
└─ 팀이랑 슬랙에서 같이 → 슬랙에 붙이기
│
├─ 각자 자기 Claude로 일하면 됨 → 🟪 Claude in Slack
│ (5명이면 5개 구독, 봇 이름·성격 X)
│
└─ 봇이 회사 직원처럼 이름·성격 갖고 응대 → 🟢 OpenClaw
(만든 사람 1명 구독으로 팀 다 부림. 페르소나·기억·스킬 보유)
🐱 그래서 우리(뽀피터스)는 OpenClaw를 쓴다
세 가지 시나리오를 봤지만, 우리 본진 표준은 OpenClaw 하나야. 이유:
- 에이전트가 진짜 팀원 — 뽀야(팀장), 뽀짝이(부팀장), 뽀둥이(데이터 전담)… 페르소나·기억·스킬을 가지고 24시간 출근
- 위임 협업이 진짜로 됨 — “@뽀짝이 이거 처리해줘” → 뽀짝이가 처리. 가시성 협업(보기만)을 넘어 진짜 위임
- 구독 1개로 팀 전체 응대 — 만든 사람 Claude로 봇이 일하니까 팀원이 자기 구독 X 필요
- 다채널·자동화 — 슬랙 + DM + 텔레그램 + 웹훅 + 크론까지 한 시스템에서
OpenClaw의 정체성 = “에이전트가 진짜 동료가 되어 회사 슬랙에서 팀원으로 협업하는 것”. 이 시리즈는 그 모델을 어떻게 만드는지 풀어줘.
💡 다른 두 시나리오(터미널 단독·Claude in Slack)도 도구로서 가치는 있지만, “팀이 봇을 직원처럼 쓰는” 모델은 OpenClaw에서만 가능. 이게 우리가 그쪽을 표준으로 잡은 이유.
🔍 OpenClaw 골랐어도 끝이 아니다 — 그 안에서 PI 모드(빌트인) vs Claude CLI 모드 두 갈래가 또 있어. 우린 CLI를 골랐고, 그 결정으로 잃는 것·얻는 것이 분명히 갈려. 공식문서 근거로 정리한 심화 편을 따로 뒀어 → Claude CLI 도입기 ep.2 PI vs Claude CLI — OpenClaw 안의 두 갈래
셋업이 급하면 건너뛰어도 OK. 왜 우리 봇 시스템이 Claude Code 훅·skill 생태계 위에 얹혀 있는지 진짜로 이해하고 싶으면 거기로.
🔄 작동 흐름은 별도 편으로 — 셋업 들어가기 전에
📖 OpenClaw 작동 흐름 — 메시지 한 줄이 어떻게 페르소나 입은 답이 되는지 8단계로 푸는 편을 별도로 분리했어. cwd 잡기 + 페르소나 자료 자동 임베드 +
--resume기억 잇기 3종 세트가 핵심.→ ep.2 OpenClaw 작동 흐름 — 메시지 한 줄이 페르소나 입은 답이 될 때까지
처음이라면 ep.2부터 보고 셋업으로 가자. 이미 작동 원리 알고 있다면 아래로 계속.
📊 1마리 → 2마리 → N대 머신·N마리 — 설정 차이 한눈에
각 시나리오에서 어떤 게 그대로고, 어떤 게 바뀌는지 한 표로:
| 항목 | 🐱 1마리 (ep.3) | 🐱🐈⬛ 2마리·같은 머신 (ep.4) | 🏢🏢 N대 머신·N마리 (ep.5) |
|---|---|---|---|
| 🪪 슬랙 앱 / 봇 토큰 | 1개 / 1쌍 | 2개 / 2쌍 | N개 / N쌍 |
| 🪑 워크스페이스 디렉토리 | 1개 | 2개 (workspace-A, workspace-B) | N개 (머신·봇별로 흩어짐) |
| 🏢 OpenClaw 게이트웨이 | 1대 | 1대 (그대로!) | 머신당 1대 |
⚙️ openclaw.json | 1개, 봇 1마리만 정의 | 1개, 봇 2마리 정의 | 머신마다 1개 (자기 머신 봇만) |
👑 default: true | 그 1마리에 박음 | 둘 중 1마리만 (보통 팀장) | 머신당 1마리 (전체로는 의미 분산) |
📬 bindings (type: "route") | 1줄 | 2줄 이상 (봇별로) | 머신별로 자기 봇 라우트만 |
| 🪪 OAuth | 봇 1개분 | 봇 2개분 | 모든 봇·머신에서 각자 따로 (복사 절대 금지) |
🎫 slack accounts.<id> key 규칙 | default 한 줄로 충분 | 봇별 key (bboya/bbojjak) — 폴더명과 일치 필수 | 머신별 봇 account만 |
| 🪝 hook (slack-thread-rehydrate) | 글로벌 ~/.claude/settings.json에 1번 등록 | 그대로 자동 적용 (재등록 X) | 머신마다 등록 (공용 레포 경로 권장) |
📚 공용 레포 (bbopters-shared) | 굳이 안 써도 OK | 굳이 안 써도 OK | 필수 — 스킬·hook·문서를 git pull/push로 동기화 |
| 🤝 봇 간 협업 방식 | (혼자라 해당없음) | subagents.allowAgents로 같은 머신 내 위임 | 슬랙 스레드를 메시지 큐로 (subagent는 머신 못 넘음) |
한 줄로 정리
봇이 늘어나도 게이트웨이는 1대 그대로. 머신이 늘면 게이트웨이도 늘고, 공용 레포가 필수가 된다. OAuth는 무조건 봇·머신별 따로. default는 머신당 1마리 룰만 지키면 멀티 호스트도 안 꼬여.
🐱 한 줄 요약
OpenClaw는 봇이 진짜 직원이 되는 모델 — 페르소나·기억·스킬을 가진 동료가 슬랙에 출근. 구독 1개로 팀 전체가 같이 부림. Claude in Slack과 가장 큰 차이는 위임 협업이 진짜로 된다는 것.
📜 변천사가 궁금하면 → Claude CLI 도입기 ep.1 OpenClaw 변천사 (토큰 빌려쓰기 → ACP → Claude CLI 정식)
다음 단계
자, 이제 셋업 들어가자 → ep.2 OpenClaw 작동 흐름부터 보고 ep.3 1마리 출근시키기로