바이브코딩 패턴을 처음 사용할 때 반드시 알아야 할 가지 실행 규칙
OpenClaw의 FanOut/FanIn 패턴은 ACP 런타임 경로 우선 사용, agentId 명시적 지정, 결정적 세션명 규칙, 출력 릴레이 최적화, 자동 복구 정책, acpx 제한적 사용 등 6가지 핵심 실행 규칙을 준수할 때 안정적으로 동작하며, 각 규칙은 결함 격리와 결과 라우팅 정확성을 보장하는 구조적 안전장치입니다.
이 글의 핵심 주장과 근거
FanOut/FanIn 패턴의 구조적 특징과 실행 흐름
FanOut/FanIn은 하나의 오케스트레이터가 작업을 동적으로 분해하여 다수의 서브에이전트에게 동시에 위임한 뒤, 각 서브에이전트의 작업 결과를 자동 취합하여 최종 출력으로 합성하는 병렬 실행 워크플로우이다. OpenClaw는 최대 8개의 서브에이전트를 동시에 격리 생성하며, 각 에이전트는 독립적 네임스페이스에서 독립적 컨텍스트를 보유하여 서로의 상태에 간섭하지 않는다. 개별 서브에이전트의 실패나 비정상 출력이 전체 시스템에 파급되지 않도록 결함 격리 설계 원칙이 적용되며, 서브에이전트의 격리된 작업 결과는 8단계 우선순위 체계를 통해 결정적으로 부모의 채팅 채널로 라우팅된다.
ACP 런타임 경로 우선 사용 규칙
sessions_spawn 호출 시 ACP 런타임이 제공하는 기본 실행 경로를 반드시 우선 사용해야 한다. 이 경로는 ACP 채널바인딩의 8단계 우선순위 라우팅을 통해 결과가 결정적으로 부모 세션에 전달되도록 보장한다. 직접 acpx를 호출하는 방식은 ACP 런타임이 unhealthy하거나 사용자가 명시적으로 acpx 흐름을 원할 때만 예외적으로 허용되며, 일반적인 상황에서는 ACP 경로를 우선 사용해야 한다. 이 규칙을 준수하지 않으면 토큰 비용이 불필요하게 발생하고 결과 라우팅의 정합성이 훼손될 수 있다.
agentId 명시적 지정과 격리 네임스페이스
sessions_spawn 호출 시 요청한 하네스에 맞는 정확한 agentId를 명시하는 규칙은 서브에이전트가 완전히 격리된 환경에서 실행되도록 보장한다. 정확히 명시되면 각 서브에이전트가 agent:<agentId>:subagent:<uuid> 형식의 완전한 격리 네임스페이스에서 실행되어 서로 다른 역할의 에이전트가 독립적 컨텍스트에서 병렬 작업을 수행할 수 있다. 이 격리는 ACP 채널바인딩을 통해 최종적으로 부모 세션에 정합성 있게 합성되며, agentId를 생략하거나 잘못 지정하면 격리 네임스페이스가 형성되지 않아 결과 라우팅이 불안정해진다.
결정적 세션명과 복구 메커니즘
세션명을 oc-<harness>-<conversationId> 형태로 결정적으로 지정하는 규칙은 ACP Harness가 세션을 정상적으로 추적하고 비정상 종료 시 Stateless Reconnect를 통한 복구 가능성을 확보하기 위해 필수적이다. 이 명명 규칙을 준수하면 ACP Harness의 세션 추적 능력과 결함 격리 메커니즘이 정상 작동하여 결과 라우팅의 정확성을 유지할 수 있다. 반대로 무작위하거나 일관성 없는 세션명을 사용하면 복구 메커니즘이 작동하지 않아 작업 실패 시 사용자가 직접 재시작해야 하는 비효율이 발생한다.
출력 릴레이 규칙과 로그 관리
Fan-In 단계에서 사용자에게 결과를 반환할 때는 acpx 명령의 최종 어시스턴트 텍스트만 릴레이하고 원시 로그나 노이즈는 숨기는 출력 관리 규칙이 적용된다. 상세 로그가 필요하면 별도 요청에 의해서만 verbose 모드를 활성화하여 핵심 산출물에 집중할 수 있도록 설계되었다. 이 규칙은 사용자의 인지 부하를 줄이고 중요한 정보에만 집중할 수 있게 하며, 불필요한 기술적 디테일이 결과물을 혼란스럽게 만드는 것을 방지한다.
ACP 세션 생성 실패 시 자동 복구 정책
ACP 세션 생성 실패 시 플러그인 로컬 acpx를 재설치·재검증하고 게이트웨이를 자동 재시작하여 복구 시도를 우선 수행하는 표준 정책이 적용된다. 이 자동 복구 체계를 먼저 시도하고, 복구 성공 후 재시도하며 실패할 경우에만 사용자에게 대안 옵션을 제시한다. 이 정책은 결함 격리 안전망을 유지하면서도 사용자 개입 최소화를 목표로 하며, 일시적인 환경 불안정에도 작업이 지속될 수 있도록 설계되었다. > 이 주제의 전체 맥락 방향성은 **바이브코딩에서 오픈클로까지** 원본 글에 세밀하게 정리되어 있습니다. 더 깊게 탐구하고 싶다면 관련 내부 대표 문서(Pillar/Entity)를 참조하세요.