초급

OpenClaw 멀티롤 팀 0에서 1로 구축하기

처음부터 OpenClaw 멀티롤 팀을 구축하는 완전 가이드

이전 글, 《OpenClaw의 천정부지 요금에 작별: 20분 만에 프라이빗 API 매트릭스 구축, 자체 호스팅 키로 초저가 멀티 계정 사용》에서 GPT 비즈니스 계정을 이용해 20위안으로 계정 풀을 구축하여 극도로 저렴한 OpenClaw 사용을 달성했습니다. 여기서 한 가지 상기할 점: 제 테스트에 따르면, 단일 비즈니스 계정으로 5시간 내에 100회 미만의 대화를 유지하도록 노력하세요. 멀티봇 팀 협업을 구축하고 싶다면, 몇 개의 비즈니스 계정을 더 구매하거나 다른 모델(Gemini, GLM 등, 이전 튜토리얼을 통해 구성할 수도 있습니다)을 사용하는 것을 강력히 권장합니다.
추신: 계정 풀 설정에 관한 이전 글은 이미 5만 뷰를 돌파했습니다. 심지어 선유(闲鱼)의 판매자도 저를 알아봤습니다. 할인을 제공할 수 있는지 물어봤더니 동의했습니다. 여기에 판매자 링크를 올리지는 않겠지만, 비즈니스 계정을 구매하신다면 저에게 DM을 보내주세요. 판매자에게 "ResearchWang13"에서 왔다고 말하면 약간 더 좋은 가격을 받을 수 있습니다~

📚 목차#

  • 멀티봇 팀 협업이란 무엇인가?
  • 초급 단계: 기본 개념 & 필수 조건
  • 중급 단계: 디렉토리 계획 & 에이전트 생성
  • 고급 단계: 코어 아키텍처 & 전체 구성
  • 전문가 단계: 메모리 표준 & 멀티 팀 격리
  • 실전 작업 체크리스트
  • 자주 묻는 질문
  • 선택 조언 & 다음 단계

멀티봇 팀 협업이란 무엇인가?#

여러 개의 독립된 Telegram 봇을 분업화된 에이전트 팀으로 조직하여 협업하는 것을 의미합니다. 적절한 아키텍처 구성을 통해 다른 봇이 다른 역할(예: 총괄 기획자, 프로그래머, 연구원 등)을 수행하도록 하여 복잡한 작업의 자동화 흐름을 가능하게 합니다.
세 가지 협업 모드의 핵심 비교:
  • 모드 A (총괄 기획자 + 전문가): 총괄 기획자는 통일된 스케줄링과 작업 할당을 담당합니다. 전문가들은 독립적으로 작업합니다. 엄격한 프로세스 제어가 필요한 조립 라인 작업에 적합합니다.
  • 모드 B (독립 & 공유): 총괄 기획자가 없습니다. 전문가들이 사용자와 직접 상호작용하며 메모리를 공유합니다. 작업 경계가 명확하고 사용자가 정확히 누구에게 연락해야 할지 아는 시나리오에 적합합니다.
  • 모드 C (하이브리드 권장): 총괄 기획자가 스케줄링을 처리하고, 전문가들은 서로 메모리를 공유하며, 사용자는 총괄 기획자를 우회하여 전문가에게 직접 연락할 수 있습니다. 이는 프로덕션 등급 권장 솔루션으로, 이전 두 모드의 장점을 결합하고 단일 장애점을 피합니다.

단계 1: 기본 개념 & 필수 조건#

1단계: 필수 조건 명확히 하기
팀을 구성하기 전에, 각 봇은 기본 등록과 신원 획득이 필요합니다. 팀의 역할 할당(예: 총괄 기획자 1명, 전문가 3명: 코더, 연구원, 작가)을 결정해야 합니다.
2단계: 자격 증명 획득
Telegram의 BotFather(/newbot)에서 각 역할에 대해 새로운 봇을 생성하고 모든 botToken을 저장하세요. 동시에, 권한 구성을 위해 개인 Telegram 숫자 ID를 획득해야 합니다.
🔨 실전 작업 1: 봇 토큰 & 개인 ID 획득
bash
# 방법 1: 봇에게 DM을 보낸 후, 로그에서 `from.id` 필드를 확인하세요.
openclaw logs --follow

# 방법 2: Bot API를 통해 획득
curl "https://api.telegram.org/bot<token>/getUpdates"
  • 완료 기준: 모든 역할의 botToken과 본인의 Telegram 숫자 ID를 성공적으로 기록합니다.

단계 2: 디렉토리 계획 & 에이전트 생성#

3단계: 디렉토리 구조 계획하기
논리적인 디렉토리 구조는 멀티봇 협업의 기초입니다. 핵심 원칙은: 전문가들의 workspace는 동일한 디렉토리를 가리킵니다(공유 메모리). 하지만 그들의 agentDir는 독립적입니다(독립 신원).
🔨 실전 작업 2: 작업 공간 디렉토리 생성
터미널에서 다음 구조에 따라 폴더를 생성하세요:
text
~/.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
  • 완료 기준: 공유 workspace(메모리)와 독립 agentDir(신원)의 차이를 이해하고, 로컬에 기본 폴더를 구축합니다.
4단계: 에이전트 인스턴스 생성
OpenClaw에 팀 멤버를 등록하세요.
bash
# 팀 멤버를 순차적으로 추가
openclaw agents add main
openclaw agents add coder
openclaw agents add researcher
openclaw agents add writer

Stage 3: 코어 아키텍처 & 전체 설정#

Step 5: 협업 모드 선택 및 적용 (권장: Mode C)
openclaw.json을 열고 필요에 따라 해당 구성을 작성하세요. 다음은 **권장하는 Mode C (하이브리드 모드)**를 사용한 예시입니다: Mastermind은 독립적인 작업 공간을 가지고, Specialists는 작업 공간을 공유하며, agentToAgent가 활성화되어 있고, 사용자가 Specialists에게 직접 연락할 수 있습니다.
🔨 실습 과제 3: Mode 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:YOUR_NUMERIC_ID"]
        },
        "researcher": {
          "botToken": "333333:TOKEN_RESEARCHER",
          "dmPolicy": "allowlist",
          "allowFrom": ["tg:YOUR_NUMERIC_ID"]
        },
        "writer": {
          "botToken": "444444:TOKEN_WRITER",
          "dmPolicy": "allowlist",
          "allowFrom": ["tg:YOUR_NUMERIC_ID"]
        }
      }
    }
  }
}
(참고: Mode A나 B를 사용하려면, 해당 로직에 따라 workspace 공유 상태와 dmPolicy 권한 설정을 수정하세요.)
  • 완료 기준: 팀 구성을 성공적으로 openclaw.json에 작성하고 저장합니다.

Stage 4: 메모리 표준 & 다중 팀 격리#

Step 6: 각 에이전트의 SOUL.md 구성하기
팀 구성원이 각자의 역할을 수행하도록 하려면, 그들의 페르소나(SOUL.md)를 설정해야 합니다.
Mastermind SOUL.md (workspace-main/SOUL.md에 배치):
markdown


# SOUL.md - Mastermind

당신은 팀 조정자이자 외부 진입점입니다.



## 책임

- 사용자 의도를 이해하고, 작업의 복잡성을 평가하세요.
- 간단한 작업은 직접 처리하세요; 매번 위임할 필요는 없습니다.
- 코딩 작업코더에게 위임(`sessions_send`).
- 연구/검색 작업연구원에게 위임.
- 글쓰기/카피라이팅 작업작가에게 위임.
- Specialist의 결과를 수집하고 통합하여 사용자에게 답변하세요 (단순히 전달하지 마세요).



## 원칙

- 작업을 위임할 때 배경과 기대되는 출력 형식을 명확히 밝히세요.
- Specialist가 작업을 마칠 때까지 기다린 후 통합하세요; 서두르지 마세요.
- 요약할 때 진정한 통합을 수행하여 사용자에게 완전한 답변을 제공하세요.
Specialist SOUL.md (workspace-team-a/SOUL.md 또는 각자의 agentDir에 배치):
markdown


# SOUL.md - Specialist

당신은 팀의 전문 구성원입니다. Mastermind에 의해 작업이 할당되거나 사용자가 직접 연락할 수 있습니다.



## 공유 메모리 표준

- `MEMORY.md`를 읽어 팀의 전체 맥락을 이해하세요.
- 메모리에 쓸 때 자신을 식별하세요. 형식: `[coder] 오늘 ... 완료`.
- 다른 에이전트가 작성한 메모리 항목을 덮어쓰지 마세요.



## 원칙

- 자신의 전문 분야에 집중하세요.
- 작업 완료 시 결과를 명확히 반환하세요.
- 다른 Specialists가 이미 수행한 작업을 인지하여 중복을 피하세요.
Step 7: 시작 및 검증
🔨 실습 과제 4: 팀을 시작하고 검증하기
다음 명령어를 사용하여 모든 구성이 적용되고 올바르게 실행되는지 확인하세요:
bash


# 구성 적용을 위해 게이트웨이 재시작
openclaw gateway restart



# 에이전트 목록 및 바인딩 확인
openclaw agents list --bindings



# 각 채널 상태 확인
openclaw channels status --probe



# 실시간 로그 (디버깅용)
openclaw logs --follow
  • 완료 기준: 콘솔에 오류가 없고, 각 Bot이 해당하는 Telegram 메시지에 정상적으로 응답합니다.

실습 과제 체크리스트#

초급 단계 (필수)
  • 과제 1: 모든 Bot Token과 개인 Telegram ID를 획득합니다.
중급 단계 (권장)
  • 과제 2: 사양에 따라 공유 및 독립 디렉토리 구조를 구축하고 에이전트를 등록합니다.
고급 단계 (중간)
  • 과제 3: openclaw.json에서 Mode C (하이브리드 모드)에 대한 코어 구성을 완료합니다.
전문가 단계 (도전)
  • 과제 4: Mastermind과 Specialists를 위한 SOUL.md를 작성하고, 게이트웨이를 재시작하여 다중 봇 통신이 작동하는지 검증합니다.

자주 묻는 질문#

Q1: Mode C에서 Specialists가 동시에 메모리를 작성하면 충돌이 발생하나요? 가끔 발생하지만, 실제 영향은 미미합니다; 일반적으로 동시에 같은 줄에 쓰지 않습니다. 메모리에 쓸 때 에이전트 식별자를 추가하는 것이 좋습니다 (예: [coder] xxx 문제 수정...). 이는 혼란을 효과적으로 줄일 수 있습니다.
Q2: Mastermind을 우회하고 Specialist에게 직접 연락할 수 있나요? Mode C에서는 가능합니다. Specialist의 dmPolicy: "allowlist" 설정은 사용자의 숫자 ID를 통해 그들에게 직접 DM을 보낼 수 있도록 허용합니다. Mode A에서는 Specialists가 dmPolicy: "disabled"로 설정되어 Mastermind을 통한 통신만 가능합니다.
Q3: agentToAgent를 활성화한 후, Specialists가 Mastermind에게 능동적으로 연락할 수 있나요? 네, allow 목록은 양방향입니다. Specialists도 sessions_send를 사용하여 진행 상황을 보고하기 위해 Mastermind에게 능동적으로 메시지를 보낼 수 있습니다.
Q4: Specialists가 작업 공간을 공유한다면, 같은 SOUL.md를 공유한다는 의미인가요? 네, 공유 작업 공간은 SOUL.md도 공유된다는 의미입니다. Specialists에게 완전히 다른 페르소나를 부여해야 한다면, SOUL.md를 각자의 agentDir에 배치하거나 JSON 구성의 systemPrompt 필드를 사용하여 별도로 정의하는 것이 좋습니다.
Q5: OpenClaw 업그레이드 후 구성이 손실되나요? 아니요, openclaw.json은 사용자의 개인 로컬 파일입니다; 공식 업그레이드는 이를 덮어쓰지 않습니다.

선택 조언 및 다음 단계#

선택이 어려우신가요? 다음 경로를 참고하세요:
  • 막 시작했고, 봇이 몇 개(2-3개)뿐이라면: 모드 B를 선택하세요. 구성이 간단하고 매우 빠르게 시작할 수 있습니다.
  • 프로세스 제어가 필요한 복잡한 작업이라면: 모드 A를 선택하세요. 강력한 제어력으로 표준화된 워크플로우에 적합합니다.
  • 프로덕션급, 장기적 안정 운영이 필요하다면: 바로 **모드 C(하이브리드)**로 가세요. 유연하고 고장 허용력이 높습니다.
  • 여러 독립적인 비즈니스 라인 팀이 있다면: 각 팀 내에서 모드 C를 사용하세요. 완전한 물리적 격리와 간섭 없음이 필요하다면, 두 개의 독립적인 gateway 인스턴스를 시작하는 것이 좋습니다(리소스 소비가 두 배로 증가하는 비용이 따릅니다).
OpenClaw 다중 역할 구성이 완료되면, 이제 여러분의 OpenClaw는 회사 팀처럼 작동할 수 있습니다. 이 팀에게 여러분의 작은 작업 일부를 처리하도록 시도해 볼 수 있습니다. 여러 봇을 구성하는 일반적인 아이디어는 여기서 다뤘습니다. 이후에는 주로 SOUL.md를 업그레이드하고 더 많은 기술을 학습하여 각 OpenClaw에 더 강력한 기술 역량을 부여하는 일이 남았습니다~~