서브에이전트 풀 아키텍처 단독 에이전트의 한계를 넘어선 병렬 실행 패러다임
Claude Code는 GAV 루프를 순차적으로 반복하며 한 번에 하나의 도구만 실행하는 단일 스레드 모델인 반면, OpenClaw는 sessions_spawn으로 다수의 서브에이전트를 동시 생성하여 격리된 세션에서 병렬로 작업을 처리하는 구조적 차이를 보인다. 최대 40개의 동시 에이전트 실행을 지원하며 ACP 채널바인딩의 8단계 우선순위 라우팅과 지수적 백오프 재시도로 결함을 격리하는 동시에 멀티모델 프록시와 위원회 오케스트레이션을 통해 확장 가능한 분산 아키텍처를 제공한다.
이 글의 핵심 주장과 근거
순차적 GAV 루프 vs 병렬 서브에이전트 풀: 근본적인 실행 모델의 차이
Claude Code는 단독 에이전트 세션 안에서 Gather, Action, Verify의 3단계 루프를 순차적으로 반복하며 모든 도구 실행과 검증을 단일 스레드에서 처리한다. 이 구조는 한 번에 하나의 도구만 실행하고 결과를 검증한 다음 다음 단계로 넘어가는 방식이기 때문에 병렬 처리가 불가능하다. 반면 OpenClaw는 sessions_spawn 명령을 통해 다수의 서브에이전트를 백그라운드로 동시 생성하여 각 서브에이전트가 격리된 세션에서 독립적으로 작업을 수행한 뒤 결과를 상위 에이전트에게 보고하는 분산 실행 구조를 채택하고 있다. 실제 성능 테스트에서 날씨, 캘린더, 이메일, 뉴스 등 4가지 작업을 순차적으로 처리할 때 약 36초가 소요되었으나, 서브에이전트를 병렬로 배포하여 동일한 작업을 수행한 결과 약 20초로 단축되어 44%의 시간 절감 효과를 입증했다. 이는 단순한 성능 향상을 넘어 에이전트 아키텍처의 근본적인 패러다임 전환을 의미한다.
세션 격리와 컨텍스트 고립: 독립적인 에이전트 실행 환경
OpenClaw 서브에이전트는 'agent:<agentId>:subagent:<uuid>' 포맷의 고유 세션 키를 할당받아 메인 에이전트와 물리적으로 분리된 독립 세션에서 실행된다. 이 격리 구조는 각 서브에이전트가 명시적 명령(instruction) 파라미터만을 수신하고 메인 에이전트의 대화 이력을 공유하지 않도록 설계되어 있다. 이러한 컨텍스트 고립은 서브에이전트가 외부 간섭 없이 순수하게 주어진 작업에만 집중할 수 있도록 보장하며, 동시에 여러 서브에이전트가 동일한 리소스를 경쟁적으로 접근할 때 발생할 수 있는 상태 충돌을 방지한다. 세션 격리는 단순히 실행 환경을 분리하는 것을 넘어 각 에이전트의 결과물이 메인 에이전트에 announce되는 명확한 결과 흐름 구조를 제공한다. Depth 2의 리프 워커는 Depth 1 오케스트레이터에 보고하고, Depth 1은 최종적으로 메인 에이전트에게 결과를 전달하는 위계적 구조가 작동한다.
멀티모델 프록시와 위원회 오케스트레이션: 단일 API를 통한 다중 엔진 운용
OpenClaw Claude Code 플러그인은 Anthropic의 Claude, OpenAI의 Codex, Gemini, Cursor Agent 등 복수의 AI 엔진을 Unified ISession 인터페이스로 추상화하여 하나의 통합 API로 접근할 수 있도록 설계되었다. 특히 Anthropic↔OpenAI 포맷 번역 핸들러를 통해 서로 다른 프로바이더 간의 형식 차이를 자동으로 변환하며 멀티모델 프록시 역할을 수행한다. 이 구조는 사용자가 특정 모델에 종속되지 않고 작업 성격에 따라 최적의 AI 엔진을 동적으로 선택할 수 있게 한다. 또한 위원회 오케스트레이션(Council Orchestration) 메커니즘은 git worktree 격리를 기반으로 복수의 에이전트가 합의 투표(consensus voting)와 2단계 프로토콜(plan then execute)로 협업할 수 있도록 지원한다. Ultrareview는 이 기능을 활용하여 5~20대의 버그 헌팅 에이전트를 병렬로 배포하고 각기 다른 시각에서 코드 검토를 수행하며, 최종적으로 합의된 결과를 메인 에이전트에 보고하는 워크플로우를 구현한다.
백그라운드 작업 추적과 동시성 제어: 대규모 에이전트 풀 관리
OpenClaw는 서브에이전트를 백그라운드 작업으로서 체계적으로 추적할 수 있는 메커니즘을 제공한다. /subagents list, sessions_list, sessions_history 명령어를 통해 각 서브에이전트의 상태, 타임스탬프, 세션 ID, 트랜스크립트 경로 등의 메타데이터를 실시간으로 모니터링할 수 있다. 동시성 제어는 'subagent'라는 전용 레인에서 이루어지며 기본값은 maxConcurrent=8로 설정되어 있다. 각 에이전트 세션당 최대 5개(maxChildrenPerAgent=5)의 활성 하위 에이전트를 지원하므로 이론상 최대 40개(8×5)의 동시 서브에이전트 실행이 가능하다. sessions_spawn 함수는 onComplete 콜백 메커니즘을 제공하여 모든 서브에이전트가 완료되면 메인 에이전트가 자동으로 결과를 수집하고 종합 보고서를 생성할 수 있다. 이 구조는 대규모 에이전트 풀을 효율적으로 관리하면서도 각 에이전트의 독립성을 보장하는 균형 잡힌 아키텍처를 제공한다. > 이 주제의 전체 맥락 방향성은 **8. 나는 더 이상 예전 방식으로 일하지 않는다.** 원본 글에 세밀하게 정리되어 있습니다. 더 깊게 탐구하고 싶다면 관련 내부 대표 문서(Pillar/Entity)를 참조하세요.