[OpenClaw] Claude + GPT를 한 팀으로! 텔레그램/슬랙에서 멀티 AI 에이전트 세팅한 과정

김춘식2026. 4. 1.조회 2

OpenClaw로 Claude(토니)와 GPT(엘라)를 각각 텔레그램/슬랙 봇으로 세팅하고, 역할을 나눠 한 채널에서 함께 대화할 수 있는 멀티 에이전트 환경을 구축한 사례입니다.

이런 분들께 도움돼요

  • AI 에이전트를 메신저(텔레그램/슬랙)에 연결해서 편하게 쓰고 싶은 분

  • Claude와 GPT를 동시에 쓰고 싶은데, 매번 창을 전환하는 게 불편한 분

  • OpenClaw를 설치하다가 오류가 나서 포기했던 분 (4시간 삽질 경험담 포함)


소개: 시도하고자 했던 것과 그 이유

문제 상황 (Before)

Claude와 GPT를 업무에 같이 쓰고 있었는데, 매번 브라우저 탭을 전환하면서 대화하는 게 번거로웠습니다. 특히 전략은 GPT에게, 실행은 Claude에게 맡기고 싶은데, 이 둘의 대화를 한 곳에서 관리할 방법이 없었습니다.

그래서 OpenClaw를 설치했는데, 여기서 문제가 시작됐습니다:

  • GPT용 OpenClaw를 먼저 설치하고, Claude용을 추가 설치하면서 웹사이트가 Claude로 바뀜

  • GPT로 다시 바꾸려다가 4시간 동안 오류 → 전체 시스템 망가짐

  • docker run으로 수동 실행하면서 구조가 꼬이고, 컨테이너 삭제/재생성 반복으로 설정 파일까지 손상

결국 쓸 수 있는 게 아무것도 없는 상태가 되었습니다.

시작하게 된 계기

평소 생각했던 멀티 에이전트 구조를 고려해서, "이왕 이렇게 된 거 처음부터 제대로 다시 설치하자"고 결심했습니다. 목표는 명확했습니다:

  1. 토니(Claude) = 코드/자동화/콘텐츠 생성 담당

  2. 엘라(GPT) = 전략/브레인스토밍/리뷰 담당

  3. 텔레그램 + 슬랙에서 둘 다 대화 가능


진행 방법: 어떤 도구를 사용했고, 어떻게 활용했나요?

사용한 도구

  • 도구: OpenClaw (Docker), Claude Code (VSCode 확장)

  • 모델: Claude Sonnet 4.6 (토니), GPT-4.1 (엘라)

  • 메신저: Telegram, Slack

  • 환경: Windows 10 + WSL + Docker Desktop

AI와 협업한 과정

Step 1. 완전 초기화 — 깨끗하게 다시 시작

4시간 삽질의 교훈: 꼬인 건 고치지 말고 밀어버리자.

# 이전 볼륨 삭제
docker volume rm openclaw-data

# 망가진 설정 파일 원본 복구
cd /c/Users/cskim/openclaw
git restore docker-compose.yml
git pull

# 정식 설치 스크립트 실행 (Ubuntu WSL에서)
cd /mnt/c/Users/cskim/openclaw
./docker-setup.sh

설치 마법사에서 핵심 선택:

  • Setup mode: Manual (직접 제어)

  • Config handling: Full reset (완전 초기화)

  • Model/auth: Anthropic (Claude CLI + API key)

  • Default model: claude-sonnet-4-6

  • Channel: Telegram (토니 봇 토큰 입력)

📸 docker-setup.sh 설치 마법사 실행 화면

Step 2. 토니(Claude) 텔레그램 연결

설치 마법사에서 이미 설정했으므로, 텔레그램에서 토니 봇에게 메시지를 보내니 바로 응답이 왔습니다. 여기까진 순조로웠습니다.

단, Pairing 문제가 있었습니다. 웹 UI(localhost:18789)에 접속하면 pairing required 오류가 나왔는데, pending.json의 device를 paired.json에 수동 등록해서 해결했습니다.

Step 3. 엘라(GPT) 텔레그램 추가 — 여기서부터 삽질

토니는 쉬웠는데, 두 번째 봇 추가는 달랐습니다.

# CLI로 엘라 봇 추가
docker exec openclaw-openclaw-gateway-1 sh -c \
  'node dist/index.js channels add --channel telegram \
   --token "엘라봇토큰" \
   --account ella --name "ELLA"'

그런데 엘라가 Claude로 응답하는 문제가 발생했습니다. 모델을 GPT로 바꿔야 했습니다:

  1. OpenAI API Key 등록auth-profiles.json에 OpenAI provider 추가

  2. 사용 가능 모델 추가openclaw.json에 GPT-4.1, GPT-5 등 등록

  3. 웹 UI에서 세션 모델 변경 — ella 세션 선택 → 모델 드롭다운에서 GPT-4.1 선택

주의: GPT-5는 thinking 파라미터 호환 문제(400 Unsupported value)로 그룹 채팅에서 오류가 납니다. GPT-4.1을 권장합니다.

Step 4. 캐릭터/역할 분리 — IDENTITY.md

토니와 엘라가 같은 IDENTITY.md를 읽어서 둘 다 같은 캐릭터로 응답하는 문제가 있었습니다.

해결: 봇별 구분 규칙을 IDENTITY.md에 추가하고, 세션 초기화를 반드시 해야 적용됩니다.

## 봇 구분 규칙
- Tony 봇(@tony2326_openclaw_bot)으로 온 메시지 → 토니로 응답
- ELLA 봇(@ella2326_openclaw_bot)으로 온 메시지 → 엘라로 응답

최종 워크스페이스 구조:

workspace/              ← 공동 (협업 규칙, 유저 정보)
workspace-tony/         ← 토니 전용 (IDENTITY.md, SOUL.md)
workspace-ella/         ← 엘라 전용 (IDENTITY.md, SOUL.md, 전략 로그)

📸 텔레그램에서 토니(Claude)/엘라(GPT) 각각 다른 캐릭터로 응답하는 화면

Step 5. 슬랙 연결 — Tony + Ella 별도 앱

텔레그램 그룹 채팅에서 엘라가 응답하지 않는 문제가 있어서(OpenClaw 멀티 계정 제한), 슬랙으로 전환했습니다.

Tony용 Slack 앱 설정:

  1. Slack API에서 앱 생성

  2. Socket Mode 활성화 → App Token(xapp-) 생성

  3. Bot Token Scopes 4개 추가: chat:write, channels:history, channels:read, app_mentions:read

  4. Event Subscriptions → app_mention 이벤트 구독

  5. Install to Workspace → Bot Token(xoxb-) 복사

  6. OpenClaw Communications(localhost:18789/communications)에서 Slack 토큰 입력

Ella용 Slack 앱도 동일하게 별도 생성:

  • 별도 앱이므로 Slack에서 @Tony, @Ella로 각각 멘션 가능

  • 이름/아이콘도 각각 다르게 표시

📸 Slack에서 @Tony와 @Ella가 각각 응답하는 화면

Step 6. 중복 응답 해결 — 가장 까다로웠던 부분

슬랙 연결 후 봇이 같은 메시지에 2~3번 응답하는 문제가 발생했습니다. 원인이 2가지였습니다:

원인 1: 이벤트 중복 수신

  • message.channels + app_mention 이벤트가 둘 다 들어옴

  • 해결: Slack API에서 message.channels 이벤트 제거, app_mention만 유지

원인 2: default + custom 계정 중복

  • OpenClaw의 default 계정과 custom 계정이 같은 봇 토큰을 사용

  • 해결: default 토큰을 custom(tony) 계정으로 이동, 중복 계정 제거

docker exec openclaw-openclaw-gateway-1 python3 -c "
import json
with open('/home/node/.openclaw/openclaw.json','r') as f: d=json.load(f)
slack = d['channels']['slack']

# default 토큰을 tony용 custom 계정으로 이동
tony_bot = slack.pop('botToken','')
tony_app = slack.pop('appToken','')

slack['accounts']['tony'] = {
    'botToken': tony_bot,
    'appToken': tony_app,
    'enabled': True
}

# 중복 계정 제거
slack['accounts'].pop('custom-1', None)

with open('/home/node/.openclaw/openclaw.json','w') as f: json.dump(d,f,indent=2)
"

인상적이었던 순간

슬랙에서 @Tony 안녕이라고 치니까 Claude가 토니 캐릭터로 응답하고, @Ella 이건 어떻게 생각해?라고 치니까 GPT가 엘라 캐릭터로 응답한 순간. 같은 채널에서 두 AI가 각자의 역할로 대화하는 걸 처음 봤을 때 정말 "오!" 했습니다.

특히 역할이 자연스럽게 나뉘는 게 좋았습니다:

  • 대표 → 토니: "이 코드 작성해줘" → 바로 실행

  • 대표 → 엘라: "이 전략 어떻게 생각해?" → 분석/제안

  • 향후 목표: 토니 → 엘라 자동 호출 (서브에이전트)

막혔던 순간과 해결

문제 1: 4시간의 삽질 (설치 단계) GPT OpenClaw 위에 Claude OpenClaw를 추가 설치하면서 시스템이 꼬였습니다. docker run으로 수동 실행하면서 더 악화. 교훈: 꼬이면 고치지 말고, docker-setup.sh로 처음부터 정식 설치.

문제 2: Pairing Required (웹 UI) pending.jsonpaired.json 수동 등록으로 해결. 재시작하면 silent 값이 리셋되므로 paired.json 직접 등록이 확실합니다.

문제 3: 엘라 봇이 그룹에서 응답 안 함 (텔레그램) OpenClaw 멀티 계정의 텔레그램 그룹 처리 제한. no-mention 이유로 그룹 메시지를 skip하는 문제. → 슬랙으로 전환해서 해결.

문제 4: Ella invalid_auth (슬랙) App Token 문제. Revoke 후 새로 생성하면 해결됩니다.

문제 5: 중복 응답 (슬랙) 위에서 설명한 이벤트 중복 + 계정 중복 문제. 가장 디버깅이 오래 걸렸습니다.

문제 6: openclaw.json 잘못된 키 스키마에 없는 키를 추가하면 컨테이너 재시작 루프에 빠집니다. 반드시 docker logs로 확인. 잘못된 키 예시: agent, defaultSessionKey, dmScope, systemPrompt(계정 레벨).


결과와 배운 점

Before vs After

항목

Before

After

AI 사용 방식

브라우저 탭 전환

슬랙/텔레그램에서 멘션 한 번

Claude + GPT 동시 사용

각각 별도 접속

같은 채널에서 @Tony @Ella

역할 분리

없음 (다 같은 AI)

토니=실행, 엘라=전략

워크스페이스

없음

공동 + 개인 분리 구조

텔레그램 DM

없음

토니(Claude) + 엘라(GPT) 각각 작동

슬랙 그룹 대화

없음

@Tony @Ella 멘션으로 지정 대화

OpenClaw 상태

4시간 삽질 후 망가짐

정식 설치 + 안정 운영

결과물

  1. Docker + OpenClaw 정식 설치 — 안정적 운영 기반

  2. 토니(Claude) 텔레그램 봇 — DM 정상 작동

  3. 엘라(GPT) 텔레그램 봇 — DM 정상 작동

  4. Tony Slack 앱 — 그룹 채널에서 @멘션 응답

  5. Ella Slack 앱 — 그룹 채널에서 @멘션 응답

  6. 멀티 모델 분리 — Claude Sonnet 4.6 + GPT-4.1

  7. 워크스페이스 구조 — 공동(SYSTEM/IDENTITY/AGENTS) + 개인(tony/ella) 분리

  8. 역할/업무 정의 — 실행 에이전트 vs 전략 에이전트

  9. 트러블슈팅 가이드 — 6가지 주요 문제 + 해결법 정리

배운 점과 나만의 꿀팁

꼬이면 고치지 말고 밀어라

OpenClaw를 처음 설치할 때 GPT 위에 Claude를 얹으려다 4시간을 날렸습니다. Docker 환경에서 설정이 꼬이면 디버깅보다 완전 초기화 + 정식 스크립트 설치가 훨씬 빠릅니다. docker-setup.sh가 있는 이유가 있었습니다.

멀티 에이전트는 "계정 분리"가 핵심

같은 OpenClaw 안에서 두 봇을 돌리려면:

  1. 각 봇마다 별도 Slack/Telegram 앱 생성

  2. 각 봇마다 별도 계정(account) 등록

  3. IDENTITY.md에서 봇별 구분 규칙 명시

  4. 세션 초기화 필수 (캐릭터 변경 후)

이 중 하나라도 빠지면 "둘 다 같은 캐릭터로 응답" 또는 "한쪽만 응답" 문제가 생깁니다.

슬랙이 텔레그램보다 멀티 에이전트에 유리

텔레그램 그룹에서는 엘라 봇이 응답하지 않는 문제가 있었습니다(OpenClaw의 멀티 계정 그룹 처리 제한). 슬랙은 app_mention 이벤트로 각 봇을 정확히 지정할 수 있어서 그룹 대화에 더 적합합니다.

설정 파일 수정 시 반드시 docker logs 확인

openclaw.json에 스키마에 없는 키를 넣으면 컨테이너가 재시작 루프에 빠집니다. 설정 변경 후에는 항상:

docker logs openclaw-openclaw-gateway-1 --tail 20

앞으로의 계획

지금은 사람이 @Tony @Ella를 각각 호출하는 구조인데, 다음 단계는:

  • [ ] 봇끼리 자동 대화 — 토니가 작업하다가 전략이 필요하면 엘라를 자동 호출

  • [ ] 무한 루프 방지 — 3~5회 주고받으면 자동 멈춤 규칙

  • [ ] n8n 자동화 연결 — 토니↔엘라 자동 협업 플로우

  • [ ] 텔레그램 봇 토큰 교체 — 이전 대화에서 노출된 토큰 보안 처리

궁극적으로는 "대표가 슬랙에 한 마디 하면, 토니가 실행하고 엘라가 검토하고, 결과만 보고받는" 구조를 만들고 싶습니다.

도움이 필요한 부분

  • 서브에이전트 설정 (토니가 엘라를 자동 호출하는 구조)

  • 봇 간 자동 대화 시 무한 루프 방지 패턴


재사용 가능한 프롬프트

프롬프트 1: OpenClaw 완전 초기화 설치

OpenClaw를 Docker로 새로 설치해줘.
기존 데이터 전부 삭제하고 docker-setup.sh로 정식 설치.
모델은 Claude Sonnet 4.6, 채널은 텔레그램으로 설정.

프롬프트 2: 두 번째 봇(엘라) 추가

OpenClaw에 두 번째 텔레그램 봇을 추가해줘.
계정명: ella, 이름: ELLA
모델은 GPT-4.1로 설정하고,
OpenAI API Key도 auth-profiles.json에 등록해줘.

프롬프트 3: 슬랙 앱 연결

OpenClaw에 Slack 앱을 연결해줘.
Socket Mode로 설정하고,
Bot Token Scopes는 chat:write, channels:history, channels:read, app_mentions:read.
Event Subscriptions는 app_mention만.

프롬프트 4: 중복 응답 디버깅

OpenClaw 슬랙 봇이 같은 메시지에 여러 번 응답해.
docker logs로 원인 확인하고,
이벤트 중복이나 계정 중복이 있는지 점검해줘.

주요 명령어 모음 (참고용)

# 컨테이너 시작/재시작
docker start openclaw-openclaw-gateway-1
docker restart openclaw-openclaw-gateway-1

# 로그 확인
docker logs openclaw-openclaw-gateway-1 --tail 20

# Slack 관련 로그만
docker logs openclaw-openclaw-gateway-1 2>&1 | grep -i slack | tail -n 10

# 설정 파일 확인
docker exec openclaw-openclaw-gateway-1 cat /home/node/.openclaw/openclaw.json

# 세션 확인
docker exec openclaw-openclaw-gateway-1 cat /home/node/.openclaw/agents/main/sessions/sessions.json

도움 받은 글 (옵션)

참고한 자료

  • OpenClaw 공식 문서 + docker-setup.sh 설치 스크립트


작성일: 2026-04-01 작성자: GPTers 21기 스터디원

댓글 0

로그인하고 댓글을 작성하세요

[OpenClaw] Claude + GPT를 한 팀으로! 텔레그램/슬랙에서 멀티 AI 에이전트 세팅한 과정 | GPTers