OpenClaw 멀티 역할 팀을 처음부터 완벽하게 구축하기
이전 글 “OpenClaw의 과도한 요금에 작별을 고하세요: 20분 만에 프라이빗 API 매트릭스 구축, 자체 생성 키로 저렴한 다중 인스턴스 개발”에서 GPT 비즈니스 계정을 사용하여 계정 풀을 구축하는 데 총 20위안을 지출했습니다. 이는 OpenClaw를 사용하는 매우 저렴한 방법입니다. 참고로, 제 테스트 결과에 따르면 비즈니스 계정은 5시간 동안 100건 미만의 대화가 이상적입니다. 여러 봇을 사용하는 팀 협업 시스템을 구축하려면 여러 개의 비즈니스 계정을 구매하거나 여러 모델(Gemini, GLM 등)을 사용하는 것을 강력히 추천합니다. 이전 튜토리얼을 통해 다양한 모델을 설정할 수 있습니다. P.S.: 계정 풀 구축에 대한 이전 글은 이미 5만 조회수를 기록했습니다. 중고 거래 사이트인 시안위(Xianyu)의 판매자가 제 글을 보고 할인을 요청했는데, 흔쾌히 승낙해 주었습니다. 판매자 링크는 여기에 올리지 않겠지만, 비즈니스 계정을 구매하실 분들은 저에게 DM을 보내시고 "ResearchWang13"을 언급하시면 더 저렴하게 구매하실 수 있습니다!
📚 목차
- 멀티봇 팀 협업이란 무엇인가요?
- 초급: 기본 개념 및 준비
- 중급: 디렉토리 계획 및 에이전트 생성
- 핵심: 핵심 아키텍처 및 전체 구성
- 고급: 메모리 관리 지침 및 멀티팀 격리
- 실무 작업 목록
- 자주 묻는 질문
- 선택 권장 사항 및 다음 단계
멀티봇 팀 협업이란 무엇인가요?
이 기능을 사용하면 여러 개의 독립적인 텔레그램 봇을 협업 에이전트 팀으로 그룹화할 수 있습니다. 적절한 아키텍처 구성을 통해 각 봇에 마스터마인드, 프로그래머, 연구원 등과 같은 다양한 역할을 할당하여 복잡한 작업을 자동화할 수 있습니다.
세 가지 협업 모드의 핵심 비교:
- 모드 A (마스터마인드 + 스페셜리스트): 마스터마인드가 통합된 일정 관리 및 작업 할당을 담당하고, 스페셜리스트는 독립적으로 작업합니다. 엄격한 공정 제어가 요구되는 조립 라인 작업에 적합합니다.
- 모드 B (독립 공유): 마스터마인드가 없으며, 스페셜리스트가 사용자와 직접 상호 작용하고 메모리를 공유합니다. 사용자가 누구에게 연락해야 하는지 정확히 알고 있는 명확한 작업 경계가 있는 시나리오에 적합합니다.
- 모드 C (하이브리드 추천): 마스터마인드가 일정 관리를 담당하고, 스페셜리스트는 메모리를 공유하며, 사용자는 마스터마인드를 거치지 않고 스페셜리스트에게 직접 연락할 수 있습니다. 이 모드는 이전 두 모드의 장점을 결합하여 단일 장애 지점을 방지하는 생산 수준의 추천 솔루션입니다.
1단계: 기본 개념 및 준비 작업
1단계: 필수 조건 명확화
팀을 구성하기 전에 각 봇은 기본 등록 및 신원 확인을 완료해야 합니다. 팀 구성원의 역할 분담을 결정해야 합니다(예: 총괄 책임자 1명, 전문가 3명: 코더, 연구원, 작가).
2단계: 자격 증명 확보
텔레그램의 BotFather에서 각 캐릭터별로 새 봇을 생성하고(/newbot) 모든 봇 토큰을 저장하세요. 권한 설정을 위해 개인 텔레그램 ID도 필요합니다.
🔨 실습 과제 1: 봇 토큰 및 개인 ID 획득
bash
# 방법 1: 봇에게 DM을 보낸 다음 로그를 확인하고 from.id 필드를 살펴보세요.
openclaw logs --follow
# 방법 2: 봇 API를 통해 획득
curl "https://api.telegram.org/bot<token>/getUpdates"
- ✅ 완료 조건: 모든 캐릭터의 봇토큰과 본인의 텔레그램 디지털 ID를 성공적으로 기록해야 합니다.
2단계: 디렉토리 기획 및 에이전트 생성
3단계: 디렉토리 구조 계획
합리적인 디렉토리 구조는 다중 봇 협업의 기반입니다. 핵심 원칙은 전문가들의 작업 공간이 동일한 디렉토리(공유 메모리)를 가리키지만, 각 agentDir은 독립적이라는 것입니다(독립적인 식별자).
🔨 실습 과제 2: 작업 공간 디렉터리 생성
터미널에서 다음 구조를 염두에 두고 폴더를 생성하세요.
~/.openclaw/
├── workspace-main/ # 독립적인 작업 공간
├── workspace-team-a/ # 팀 A의 전문가들은 작업 공간을 공유합니다(모드 B/C에서 사용됨).
├── agents/
│ ├── main/
│ │ ├── agent/ # 배후 조종자, agentDir(인증, 구성).
│ │ └── sessions/
│ ├── coder/
│ │ ├── agent/
│ │ └── sessions/
│ ├── researcher/
│ │ ├── agent/
│ │ └── sessions/
│ └── writer/
│ ├── agent/
│ └── sessions/
└── openclaw.json
- ✅ 완료 기준: 공유 작업 공간(메모리)과 독립 에이전트 디렉터리(ID)의 차이점을 이해하고 기본 폴더를 로컬에 생성합니다.
4단계: 에이전트 인스턴스 생성
OpenClaw에 팀 구성원을 등록하세요.
# 팀원을 한 명씩 추가하세요
openclaw agents add main
openclaw agents add coder
openclaw agents add researcher
openclaw agents add writer
3단계: 핵심 아키텍처 및 전체 구성
5단계: 협업 모드 선택 및 적용 (권장 모드 C)
openclaw.json 파일을 열고 필요에 따라 설정을 작성합니다. 여기서는 권장 모드 C(하이브리드 모드)를 예로 들어 설명합니다. 마스터는 독립적인 작업 공간을 갖고, 전문가들은 작업 공간을 공유하며, agentToAgent 기능이 활성화되어 전문가에게 직접 연락할 수 있습니다.
🔨 실습 과제 3: 구성 모드 C
openclaw.json 파일을 수정하세요.
json
{
"agents": {
"list": [
{
"id": "main",
"workspace": "~/.openclaw/workspace-main",
"agentDir": "~/.openclaw/agents/main/agent"
},
{
"id": "coder",
"workspace": "~/.openclaw/workspace-team-a",
"agentDir": "~/.openclaw/agents/coder/agent",
"tools": { "deny": ["browser", "nodes"] }
},
{
"id": "researcher",
"workspace": "~/.openclaw/workspace-team-a",
"agentDir": "~/.openclaw/agents/researcher/agent",
"tools": { "deny": ["exec", "write", "edit"] }
},
{
"id": "writer",
"workspace": "~/.openclaw/workspace-team-a",
"agentDir": "~/.openclaw/agents/writer/agent",
"tools": { "deny": ["exec", "browser", "nodes"] }
}
]
},
"session": { "dmScope": "main" },
"tools": {
"agentToAgent": {
"enabled": true,
"allow": ["main", "coder", "researcher", "writer"]
}
},
"bindings": [
{ "agentId": "main", "match": { "channel": "telegram", "accountId": "main" } },
{ "agentId": "coder", "match": { "channel": "telegram", "accountId": "coder" } },
{ "agentId": "researcher", "match": { "channel": "telegram", "accountId": "researcher" } },
{ "agentId": "writer", "match": { "channel": "telegram", "accountId": "writer" } }
],
"channels": {
"telegram": {
"accounts": {
"main": {
"botToken": "111111:TOKEN_MAIN",
"dmPolicy": "pairing"
},
"coder": {
"botToken": "222222:TOKEN_CODER",
"dmPolicy": "allowlist",
"allowFrom": ["tg:당신의 디지털 ID"]
},
"researcher": {
"botToken": "333333:TOKEN_RESEARCHER",
"dmPolicy": "allowlist",
"allowFrom": ["tg:당신의 디지털 ID"]
},
"writer": {
"botToken": "444444:TOKEN_WRITER",
"dmPolicy": "allowlist",
"allowFrom": ["tg:당신의 디지털 ID"]
}
}
}
}
}
(참고: 모드 A 또는 B를 사용하려면 해당 논리에 따라 작업 공간 공유 상태 및 dmPolicy 권한 설정을 수정하십시오.)
- ✅ 완료 기준: 팀 구성을 openclaw.json 파일에 성공적으로 작성하고 저장합니다.
4단계: 메모리 표준화 및 다중 팀 격리
6단계: 각 상담원에 대한 SOUL.md 설정
팀 구성원이 각자의 역할을 제대로 수행하도록 하려면, 각 구성원에게 페르소나(SOUL.md)를 할당해야 합니다.
마스터 SOUL.md
(워크스페이스 메인/SOUL.md에 위치):
markdown
# SOUL.md - 마스터마인드
당신은 팀의 코디네이터이자 외부 소통 창구입니다.
## 책임
- 사용자 의도를 파악하고 작업의 복잡성을 평가합니다.
- 간단한 작업은 직접 처리하고, 매번 다른 사람에게 맡기지 마세요.
- 코딩 작업 → 코더에게 할당(sessions_send)
- 조사/검색 작업 → 리서처에게 할당
- 글쓰기/카피라이팅 작업 → 작가에게 할당
- 전문가의 결과를 수집하고 통합하여 사용자에게 답변합니다(단순 전달이 아닌).
## 원칙
- 작업을 할당할 때 배경과 예상 결과물 형식을 명확하게 설명합니다.
- 전문가가 작업을 완료한 후에만 결과를 통합합니다. 재촉하지 마세요.
- 요약 시에는 사용자에게 완전한 답변을 제공하는 완벽한 통합 작업을 수행합니다.
전문가 SOUL.md
(워크스페이스-팀-a/SOUL.md 또는 각 에이전트 디렉터리 아래에 배치):
markdown
# SOUL.md - 전문가
당신은 팀의 전문가로서, 총괄 책임자로부터 업무를 배정받거나 사용자로부터 직접 연락을 받을 수 있습니다.
## 공유 메모리 가이드라인
- MEMORY.md 파일을 읽고 팀의 전반적인 상황을 이해하세요.
- 메모리를 작성할 때 자신의 역할을 명시하세요. 형식은 `[코더] 오늘 완료한 작업...`입니다.
- 다른 담당자가 작성한 메모리 항목을 덮어쓰지 마세요.
## 원칙
- 자신의 전문 분야에 집중하세요.
- 작업 완료 후 결과를 명확하게 보고하세요.
- 다른 전문가가 이미 완료한 작업을 인지하여 중복 작업을 피하세요.
7단계: 시작 및 검증
🔨 연습 과제 4: 시작 및 검증
다음 명령어를 사용하여 모든 설정이 유효하고 올바르게 작동하는지 확인하십시오.
bash
# 설정을 적용하려면 게이트웨이를 재시작하십시오.
openclaw gateway restart
# 에이전트 목록 및 바인딩을 확인합니다.
openclaw agents list --bindings
# 각 채널의 상태를 확인하십시오.
openclaw channels status --probe
# 실시간 로그(디버깅용)
openclaw logs --follow
- ✅ 완료 기준: 콘솔에 오류가 보고되지 않고, 각 봇이 해당 텔레그램 메시지에 정상적으로 응답할 수 있어야 합니다.
연습 과제 목록
초급 단계 (필수)
- 과제 1: 모든 봇 토큰과 개인 텔레그램 ID를 확보하세요.
중급 단계 (권장)
- 과제 2: 사양에 따라 공유 및 독립 디렉토리 구조를 구축하고 에이전트를 등록하세요.
중급 단계 (중급)
- 과제 3: openclaw.json 파일에서 모드 C(하이브리드 모드)의 핵심 구성을 완료하세요.
고급 단계 (도전)
- 과제 4: 마스터마인드와 전문가를 위한 SOUL.md 문서를 작성하고, 게이트웨이를 재시작한 후, 여러 봇 간의 통신이 정상적으로 이루어지는지 확인하세요.
자주 묻는 질문
Q1: 모드 C에서 전문가들이 메모리에 동시에 쓰기 작업을 하면 충돌이 발생하나요? 간혹 발생할 수 있지만, 실제 영향은 미미합니다. 일반적으로 같은 줄에 동시에 쓰기 작업은 발생하지 않습니다. 메모리를 쓸 때 에이전트 식별자(예: "[코더]가 xxx 문제를 해결했습니다...")를 추가하면 혼란을 효과적으로 줄일 수 있습니다.
Q2: 마스터마인드를 거치지 않고 전문가에게 직접 연락할 수 있나요? 네, 모드 C에서는 가능합니다. 전문가의 dmPolicy: "allowlist" 설정이 활성화되어 있으면 숫자 ID를 통해 직접 DM을 보낼 수 있습니다. 하지만 모드 A에서는 전문가의 dmPolicy: "disabled" 설정이 활성화된 경우, 마스터마인드를 거쳐야 합니다.
Q3: agentToAgent가 활성화된 후, 전문가가 마스터마인드에게 먼저 연락할 수 있나요? 네, 허용 목록은 양방향으로 작동합니다. 전문가는 sessions_send를 사용하여 마스터마인드에게 진행 상황을 보고하는 메시지를 보낼 수도 있습니다.
Q4: 전문가들은 SOUL.md 파일을 공유하는 작업 공간을 사용합니다.
같은 건가요? 네, 공유 작업 공간은 SOUL.md 파일도 공유한다는 의미입니다.
전문가별로 고유한 권한을 부여해야 하는 경우, SOUL.md 파일을
각 전문가의 agentDir 디렉터리에 배치하거나, JSON 설정 파일에서 systemPrompt 필드를 사용하여 별도로 정의하는 것이 좋습니다.
Q5: OpenClaw를 업그레이드하면 설정이 삭제되나요? 아니요, openclaw.json은 사용자의 로컬 파일이므로 공식 업그레이드 시 덮어쓰여지지 않습니다.
선정 권장 사항 및 다음 단계
어떤 옵션을 선택해야 할지 모르시겠나요? 다음과 같은 접근 방식을 제안합니다.
- 초기에는 소수의 봇(2~3개)을 사용하는 경우: 모드 B를 선택하세요. 구성이 간단하고 학습 속도가 매우 빠릅니다.
- 프로세스 제어가 필요한 복잡한 작업: 모드 A를 선택하세요. 강력한 제어 기능을 제공하며 표준 워크플로에 적합합니다.
- 프로덕션 수준의 장기적인 안정적인 운영: 모드 C(하이브리드)를 바로 사용하세요. 유연하고 내결함성이 뛰어납니다.
- 여러 개의 독립적인 사업부 팀: 각 팀 내에서 모드 C를 사용하세요. 완전한 물리적 격리가 필요한 경우, 각각 자체 프로세스를 실행하는 두 개의 독립적인 게이트웨이 인스턴스를 시작하는 것이 좋습니다(리소스 사용량이 두 배로 증가할 수 있음).
OpenClaw에 여러 역할을 구성하면 이제 OpenClaw를 회사 팀처럼 사용할 수 있습니다. 이 팀이 간단한 작업을 수행하도록 테스트해 보세요. 이것이 여러 봇을 구성하는 일반적인 방법입니다. 이후에는 업그레이드만 하면 됩니다. soul.md
각 OpenClaw 봇의 기술적 기능을 향상시키는 데 필요한 추가 기술을 알아보세요.