← Gritz World Engine
brief

OpenClaw의 Fan-Out/Fan-In 패턴: 정적 자동화를 넘어선 동적 분해·병렬 합성의 구조적 원리

핵심 요약

OpenClawFanOut/FanIn 패턴은 LLM 이 실시간으로 복잡한 작업을 독립 하위 태스크로 동적 분해하고 병렬 실행한 후 결과를 통합하는 적응형 아키텍처로, 사전 정의된 정적 워크플로우의 경직성을 완전히 극복한다. 40 개 이상의 디자인 패턴과 23 개의 파이프라인에서 검증되었으며, Task Flow 오케스트레이터가 내구성과 상태 관리를 지원하여 장기 실행 파이프라인에서도 안정적으로 작동한다.

이 글의 핵심 주장과 근거

핵심 주장
동적 분해는 실행 시점의 런타임 조건에 의해 작업이 분해되며, 동일한 입력이라도 시스템 상태에 따라 분해 방식이 달라질 수 있다. 이는 스크립트의 고정 분기와 근본적으로 다르다.
직접 근거: [1] ZeroInput 직접 경험
핵심 주장
OpenClaw의 FanOut/FanIn 패턴은 사전 정의된 스크립트 기반 정적 자동화와 근본적으로 다르게 런타임 조건에 따라 작업을 동적 분해하고 병렬 합성한다.
직접 근거: [1] ZeroInput 직접 경험
핵심 주장
병렬 합성은 각 서브에이전트가 독립 세션에서 동시 실행되어 결함 격리가 가능하며, 실패한 에이전트의 결과만 배제하고 정상 결과를 통합할 수 있다.
직접 근거: [1] ZeroInput 직접 경험
ACP 세션 격리는 FanOut된 다중 에이전트가 병렬 실행되는 동안에도 컨텍스트 분열 없이 최종 결과를 응집력 있게 통합하는 구조적 기반을 제공한다.
출처: [1] OpenClaw Sub-Agent Pool Architecture

정적 워크플로우와 동적 분해병렬의 근본적 차이

전통적인 자동화 도구는 대부분 정적 워크플로우에 기반한다. 사용자가 미리 정의한 단계 A, B, C 가 순차적으로 실행되는 구조로, 중간에 예상치 못한 상황이 발생하거나 새로운 하위 작업이 필요할 경우 유연하게 대응하지 못한다. 이는 마치 고정된 레일 위를 달리는 기차와 같다. 반면 OpenClawFanOut/FanIn 패턴은 LLM 이 실시간으로 작업을 분석하고 동적으로 하위 태스크를 분해하는 적응형 구조를 구현한다. 복잡한 작업이 입력되면 LLM 은 해당 작업의 본질을 이해하여 독립 실행 가능한 하위 태스크들로 분할한다. 각 하위 태스크는 병렬로 실행되며, 모든 결과가 수집된 후 LLM 이 통합 분석을 수행한다. 이 구조의 핵심은 '동적'이라는 점이다. 정적 워크플로우가 미리 정의된 경로만 따를 수 있다면, FanOut/FanIn 은 실시간 상황 인식 하에 필요시 새로운 하위 태스크를 추가하거나 기존 경로를 수정할 수 있다. 이는 고정된 레일이 아닌, 실시간으로 최적 경로를 재구성하는 자율주행 시스템과 유사하다.

FanOut: LLM 이 주도하는 동적 작업 분해

FanOut 단계는 OpenClaw 파이프라인의 핵심 시작점이다. 여기서 LLM 은 입력된 복잡한 작업을 분석하여 독립 실행 가능한 하위 태스크들로 분해한다. 이 과정은 단순한 작업 나열이 아니라, 각 하위 태스크가 서로 의존하지 않으면서도 전체 목표 달성에 기여하도록 설계되는 지능적 분해 과정이다. 예를 들어 '시장 조사 보고서 작성'이라는 복잡한 작업을 입력받으면, LLM 은 다음과 같은 독립 하위 태스크로 분해할 수 있다: (1) 경쟁사 A 의 최신 재무제표 분석, (2) 산업 트렌드 관련 최근 뉴스 수집, (3) 고객 리뷰 데이터 정량화, (4) 규제 변화 영향 평가. 각 하위 태스크는 서로 다른 에이전트 세션이나 브라우저 인스턴스에서 병렬로 실행될 수 있다. 이 분해 과정의 핵심은 LLM 이 작업의 본질을 이해하고 최적의 분할 전략을 선택한다는 점이다. 단순 키워드 매칭이 아니라, 각 하위 태스크가 독립적으로 실행 가능한지, 결과 통합 시 어떤 형식으로 합쳐져야 하는지까지 고려한다. 이는 인간 전문가가 작업을 위임하는 과정과 유사한 지능적 의사결정이다.

병렬 실행 및 FanIn: 분산 결과의 통합 분석

분해된 하위 태스크들은 병렬로 실행된다. OpenClaw 는 sessions_spawn 도구를 통해 각 하위 태스크를 독립 에이전트 세션으로 스폰하며, 이들은 서로 격리되어 동시에 작업을 처리한다. 브라우저 자동화, 웹 검색, 코드 분석 등 다양한 툴을 활용하여 각 태스크는 최적의 방법으로 결과를 산출한다. FanIn 단계에서는 모든 병렬 실행 결과가 수집된다. 이때 중요한 것은 단순한 결과 모음이 아니라, LLM 이 통합 분석을 수행한다는 점이다. 각 하위 태스크에서 나온 데이터는 서로 다른 형식과 관점을 가질 수 있다. LLM 은 이러한 다각도의 정보를 종합하여 일관된 결론을 도출한다. 이 통합 과정은 메타 분석의 성격을 띤다. 개별 결과들의 신뢰도를 평가하고, 상충되는 정보는 어떻게 해석해야 하는지 판단하며, 최종적으로 의미 있는 인사이트로 재구성한다. 이는 여러 전문가의 의견을 종합하는 연구자나 컨설턴트의 작업 방식과 유사하다.

Task Flow 오케스트레이션: 내구성과 상태 관리

OpenClaw 의 Task Flow 는 FanOut/FanIn 패턴을 지원하는 오케스트레이션 레이어로, 다단계 워크플로우의 상태를 영구적으로 관리한다. Managed 모드에서는 Task Flow 가 라이프사이클을 완전히 소유하여 각 단계를 배경 작업으로 자동 생성하고 완료 시 다음 단계로 자동으로 진행한다. Mirrored 모드는 외부에서 생성된 작업을 관찰하며 진행 상황을 동기화하는 방식이다. 크론JOB 이나 CLI 명령으로 시작된 독립 작업들이 모여 하나의 흐름을 형성할 때, Task Flow 는 이들의 집단적 진전을 추적한다. 각 플로우 자체의 상태와 리비전 추적을 통해 게이트웨이 재시작 후에도 진행 상황이 보존된다. 이는 장기 실행 파이프라인에서 중요한 기능으로, 시스템 장애 시에도 작업 손실 없이 재개할 수 있게 한다. 또한 여러 소스가 동일한 플로우를 동시에 진행하려는 경우 충돌 감지를 지원한다. > 이 주제의 전체 맥락 방향성은 **8. 나는 더 이상 예전 방식으로 일하지 않는다.** 원본 글에 세밀하게 정리되어 있습니다. 더 깊게 탐구하고 싶다면 관련 내부 대표 문서(Pillar/Entity)를 참조하세요.

자주 묻는 질문

정적 워크플로우와 FanOut/FanIn 패턴의 가장 큰 차이는 무엇인가?

정적 워크플로우는 미리 정의된 순차적 단계만 실행할 수 있어 유연성이 제한되지만, FanOut/FanIn 은 LLM 이 실시간으로 작업을 분석하여 동적으로 하위 태스크를 생성하고 병렬 실행한다. 필요시 새로운 하위 태스크를 추가하거나 경로를 수정할 수 있는 적응형 구조가 핵심 차이점이다.

FanOut 단계에서 LLM 이 수행하는 작업 분해의 구체적 과정은?

LLM 은 입력된 복잡한 작업을 분석하여 서로 의존하지 않으면서도 전체 목표 달성에 기여하는 독립 하위 태스크들로 분해한다. 각 하위 태스크가 독립 실행 가능한지, 결과 통합 시 어떤 형식으로 합쳐져야 하는지까지 고려하며 인간 전문가의 작업 위임 과정과 유사한 지능적 의사결정을 수행한다.

병렬 실행된 결과를 통합하는 FanIn 단계의 핵심 기능은?

FanIn 은 단순 결과 모음이 아니라 LLM 이 통합 분석을 수행하는 메타 분석 과정이다. 각 하위 태스크에서 나온 서로 다른 형식과 관점의 정보를 종합하여 일관된 결론을 도출하며, 개별 결과들의 신뢰도를 평가하고 상충되는 정보는 적절히 해석하여 의미 있는 인사이트로 재구성한다.

Task Flow 의 Managed 모드와 Mirrored 모드는 어떻게 다른가?

Managed 모드는 Task Flow 가 라이프사이클을 완전히 소유하여 각 단계를 배경 작업으로 자동 생성하고 완료 시 다음 단계로 자동으로 진행한다. Mirrored 모드는 외부에서 생성된 작업을 관찰하며 진행 상황을 동기화하는 방식으로, 크론JOB 이나 CLI 명령으로 시작된 독립 작업들의 집단적 진전을 추적한다.

관련 분석

OpenClaw ACP의 단계별 채널바인딩 결정적 메시지 라우팅 기술 구조OpenClaw의 자율 협업 프로토콜(ACP)은 8단계 채널바인딩 메커니즘을 통해 다양한 메시징 플랫폼 간에 일관된 메시지 라우팅을 실현합니다. 이 기술은 메인 세션, 격리 세션, 현재 세션 등 여러 실행 컨텍스트를에이전트 루프 구조 비교와 워크플로우 선택 기준바이브코딩의 핵심은 개발자가 코드를 직접 작성하는 대신 AI 에이전트에게 구현을 위임하는 패러다임에 있다. 그러나 같은 위임이라도 AI 에이전트가 얼마나 많은 판단을 스스로 하는지, 그 자율성의 수준과 구조는 도구마8단계 채널바인딩이 격리와 결정론적 라우팅으로 세션 분열을 방지하는 기술적 구조ACP 의 8 단계 채널바인딩은 dmScope 격리와 결정론적 라우팅을 결합해 바이브코딩 환경에서 세션 분열을 근본적으로 차단한다. 해시 기반 경로 매핑으로 동일한 입력에 대해 항상 일관된 처리 경로를 보장하고, 물채널 바인딩이 세션 분열을 원천 차단하는 기술적 작동 원리OpenClaw ACP 는 채널 바인딩 메커니즘을 통해 단일 세션의 무한 분열을 원천적으로 방지한다. 8 단계 CID 바인딩 프로세스와 3 계층 게이트웨이 강제 정책이 결합되어, 각 메시지가 고유 식별자와 엄격한 유8단계 채널바인딩이 / 병렬 서브에이전트의 세션 분열을 차단하는 구조적 원리OpenClaw의 Fan-Out/Fan-In 병렬 실행 패턴은 최대 8개 서브에이전트를 동시 생성하여 작업을 분산 처리하지만, 병렬 환경에서는 메시지 라우팅 경로의 불명확화와 컨텍스트 오염이라는 본질적 위험이 수반된