← Gritz World Engine
brief

OpenClaw 멀티 에이전트 CLI 오케스트레이션 아키텍처와 팀링크 메커니즘

핵심 요약

OpenClaw는 마크다운 기반 선언적 YAML 설정을 통해 여러 격리된 AI 에이전트를 하나의 Gateway에서 실행하고, ACP 하네시와 Memory·Cron을 활용해 코딩 툴을 통합하며 작업의 지속성을 보장하는 종합적인 CLI 오케스트레이션 아키텍처를 제공한다.

이 글의 핵심 주장과 근거

핵심 주장
OpenClaw 게이트웨이는 WhatsApp(Baileys), Telegram(grammY), Slack, Discord 등 모든 메시징 표면의 연결을 영구적으로 유지하며 메시지를 클라이언트와 노드 간에 라우팅한다.
출처: [1] Gateway Architecture Documentation
핵심 주장
하트비트 시퀀스 번호의 단조 증가 검증은 누락 감지 시 연결을 즉시 재설정하여 세션 분열 발생 가능성을 실시간 차단한다
출처: [1] OpenClaw CLI Getting Started
핵심 주장
OpenClaw는 ACP 프로토콜 통신 추상화를 통해 서브에이전트를 오케스트레이션하며, 서브에이전트가 독립적인 컨텍스트에서 자율적으로 웹 작업을 실행하고 결과를 최종적으로 통합하는 체계를 제공한다.
출처: [1] OpenClaw 온톨로지 수집 사례
OpenClaw의 서브에이전트 풀이 Fan-Out/Fan-In 패턴으로 동작한다는 점은, 하나의 상위 작업이 복수의 서브에이전트로 분산 처리된 후 결과를 다시 통합하는 구조로 대규모 병렬 처리를 가능하게 한다는 것을 의미한다.
출처: [1] OpenClaw 플러그인 에코시스템 개요

아키텍처 개요

OpenClaw는 마크다운 파일을 중심으로 한 선언적 오케스트레이션을 지원한다. 개발자는 복잡한 코드 대신 YAML 파일에 에이전트 워크스페이스, 인증 프로파일, 채널 바인딩 등을 명시적으로 기술한다. 이 설정은 Agent Teams 라는 개념으로 구현되며, 각 에이전트는 격리된 서브에이전트 세션으로 실행되어 작업 환경을 보호한다. 이러한 아키텍처는 코드 기반 제어 구조를 없애고, 가독성과 협업성을 크게 향상시킨다.

에이전트 팀 구성 및 라우팅 메커니즘

사용자 요청은 Multi-Agent Routing을 통해 적절한 에이전트로 자동 라우팅된다. 이 과정에서 ACP 하네시를 사용해 Codex, Claude Code, Pi 등의 외부 코딩 도구를 sessions_spawn(runtime: 'acp') 로 호출한다. 특히 Discord 환경에서는 thread-bound 세션이 기본적으로 생성되어, 요청이 특정 스레드 내에서 안전하게 처리된다. 라우팅 결과는 YAML 설정의 channelBindings에 따라 달라지며, 이를 통해 서비스마다 다른 채널이나 인증 방법을 적용할 수 있다.

실행 환경과 메모리 연속성

OpenClaw의 실행 환경은 전역 워크스페이스로 정의된 ~/.openclaw 디렉터리를 기반으로 한다. 여기에는 AGENTS.md, SOUL.md, USER.md 등이 위치하며, 각각 에이전트의 정체성, 인간 파트너에 대한 정보, 그리고 대화 기록을 보관한다. Memory 시스템은 일일 메모(memory/YYYY-MM-DD.md)와 장기 메모(MEMORY.md)를 결합하여 세션 간 연속성을 제공한다. heartbeat API와 cron 작업은 이메일·캘린더·날씨 확인과 같은 주기적 작업을 자동화하며, Memory를 정기적으로 정리해 최신 결정을 기록한다. > 이 주제의 전체 맥락 방향성은 **바이브코딩에서 오픈클로까지** 원본 글에 세밀하게 정리되어 있습니다. 더 깊게 탐구하고 싶다면 관련 내부 대표 문서(Pillar/Entity)를 참조하세요.

자주 묻는 질문

OpenClaw에서 YAML 설정은 어떻게 에이전트 팀을 정의하나요?

YAML 파일에 workspace, auth profile, channel binding 등을 명시하면 여러 격리된 서브에이전트를 하나의 Gateway에서 실행하는 팀 구조를 선언적으로 정의할 수 있다. 이 설정은 자동으로 라우팅과 인증을 관리한다.

ACP 하네시를 사용해 외부 코딩 에이전트를 OpenClaw와 연결하는 방법은?

sessions_spawn(runtime: 'acp') 를 호출하면 Codex·Claude Code·Pi 등의 외부 코딩 에이전트를 현재 세션과 연동할 수 있다. Discord에서는 기본적으로 thread-bound persistent 세션이 생성되어 요청을 안전하게 처리한다.

Memory 시스템은 어떻게 세션 간 연속성을 유지하나요?

일일 메모 파일(memory/YYYY-MM-DD.md)과 장기 메모(MEMORY.md)를 활용해 이전 대화·결정·통찰을 저장한다. 주기적인 heartbeat 체크 시 이를 검토하고 요약하여 MEMORY.md를 업데이트함으로써 세션이 재시작돼도 컨텍스트를 보존한다.