Open Deep Wide Research: 대규모 정보 수집을 위한 범용 에이전트 협업 아키텍처

2025년 10월 26일Ollie @puppyone

요약

새로운 유형의 AI 연구 패러다임은 각 사용자 세션에 전용 클라우드 가상 머신을 할당하고, 그 안에 여러 범용 에이전트를 배포하여 하위 작업을 병렬로 실행함으로써, 수백 개의 엔티티에 걸친 광범위한 조사와 같은 대규모 정보 수집 작업을 자동화합니다. 이 아키텍처는 튜링 완전(Turing completeness) 실행 환경과 역할이 지정되지 않은 다중 에이전트 협업 메커니즘에 의존하여 높은 유연성을 갖추고 있지만, 지연 시간 제어, 리소스 스케줄링 및 비용 예측 가능성 측면에서 여전히 엔지니어링 과제가 남아 있습니다.

문제 배경

전통적인 검색 증강 생성(Retrieval-Augmented Generation, RAG) 시스템은 일반적으로 사용자 입력 → 검색 → 생성의 선형적인 프로세스를 따릅니다. 이러한 설계는 단일 질문에 답변할 때는 효과적이지만, "전 세계 상위 50개 대학 컴퓨터 과학과의 박사 졸업 후 진로 분석"과 같이 방대하고 이질적인 소스를 넘나들며 여러 차례의 검증이나 구조화된 비교가 필요한 작업에 직면했을 때는 그 능력이 현저히 제한됩니다. 주요 병목 현상은 다음과 같습니다.

  • 검색 단계에서 능동적인 탐색 및 작업 분해 능력 부재
  • 생성 단계에서 동적 계획 또는 되돌리기 기능 부재
  • 전체 프로세스가 중단 불가능하고 확장 불가능하여 장시간 실행되는 작업을 지원하기 어려움

이러한 한계를 극복하기 위해 차세대 시스템은 대규모 연구 작업을 분산 에이전트 협업 문제로 모델링합니다.

방법 개요

핵심 설계는 각 사용자 세션에 전용 클라우드 가상 머신(VM)을 할당하는 것입니다. 이 VM은 완전한 운영 체제, 네트워크 접근 권한 및 실행 환경을 제공하여 튜링 완전(Turing completeness) 샌드박스를 구성합니다. 이를 기반으로 시스템은 여러 하위 에이전트를 동적으로 시작하며, 각 에이전트는 '연구원'이나 '검증자'와 같이 미리 설정된 역할이 아닌, 기능적으로 완전한 범용 인스턴스로서 다음과 같은 능력을 갖춥니다.

  • 독립적으로 HTTP 요청을 보내거나 외부 API 호출
  • 스크립트를 실행하여 웹 페이지, PDF, 표 등 비정형 데이터 파싱
  • 내장된 도구 체인(예: 헤드리스 브라우저, 문서 추출기) 호출
  • 다른 하위 에이전트와 중간 결과 교환

작업 분해는 메인 컨트롤러에 의해 동적으로 생성됩니다. 예를 들어, "생성형 AI 도구 생태계 조사"라는 작업에 대해 시스템은 다음과 같이 자동으로 작업을 분해할 수 있습니다.

  1. 여러 플랫폼(GitHub, Product Hunt, 공식 웹사이트 모음 페이지)에서 도구 목록 가져오기
  2. 각 도구에 대해 병렬로 문서, 버전 기록, 사용자 평가 크롤링
  3. 핵심 지표(예: 오픈소스 여부, API 지원, 가격 모델) 추출
  4. 엔티티를 정렬하고 구조화된 비교표 출력

모든 하위 에이전트가 동일한 실행 환경을 공유하고 범용 능력을 갖추고 있으므로, 작업 로직이 미리 정의된 역할에 제약받지 않아 일반화 성능이 크게 향상됩니다.

핵심 기술 세부 정보

1. 실행 단위로서의 가상 머신

  • 각 세션은 경량 리눅스 VM(아마도 Firecracker와 같은 마이크로 가상화 기술 기반)을 독점적으로 사용합니다.
  • 자주 사용되는 런타임(Python, Node.js), 파싱 라이브러리(BeautifulSoup, PyPDF2) 및 브라우저 자동화 도구가 사전 설치됩니다.
  • 네트워크 출구는 프록시 풀을 통해 순환되어 안티 크롤링 위험을 줄입니다.
  • 모든 작업은 격리된 환경에서 완료되어 보안과 데이터 경계를 보장합니다.

2. 다중 에이전트 통신 및 스케줄링

  • 하위 에이전트는 공유 메모리나 경량 메시지 미들웨어(예: Redis Pub/Sub)를 통해 데이터를 교환합니다.
  • 중간 결과는 구조화된 형식(예: JSON 또는 JSON-LD)으로 영속화되어 후속 집계 및 검증을 용이하게 합니다.
  • 메인 컨트롤러는 작업 의존성 그래프(DAG)를 유지 관리하여 동적 스케줄링, 실패 시 재시도, 결과 캐싱을 지원합니다.

3. 데이터 처리 파이프라인

"포춘 500대 기업 분석"을 예로 들면 다음과 같습니다.

  • 발견 단계: 검색 엔진이나 공개 데이터베이스를 호출하여 기업 목록을 가져옵니다.
  • 수집 단계: 각 하위 에이전트가 여러 기업을 담당하여 공식 웹사이트, 연례 보고서 PDF, 보도 자료를 크롤링합니다.
  • 파싱 단계: 규칙 기반 매칭, OCR 또는 다중 모달 모델을 사용하여 핵심 필드(예: 매출, 직원 수, CEO)를 추출합니다.
  • 정렬 단계: 주식 코드와 같은 통일된 식별자를 기반으로 개체 해소(Entity Resolution)를 수행하여 표준화된 지식 테이블을 구축합니다.

이 프로세스는 I/O 집약적이므로 VM의 동시 처리 능력과 네트워크 대역폭에 대한 요구 사항이 높습니다.

한계 및 확장성 과제

현재의 한계

  • 응답 시간 제어 불가: 작업 완료 시간이 가장 느린 하위 작업에 의해 결정되며, 타임아웃 서킷 브레이커나 부분 결과 반환 메커니즘이 부족합니다.
  • 리소스 비용 불투명: 작업 규모에 기반한 리소스 소모 모델을 제공하지 않아 사용자가 비용을 예측하기 어렵습니다.
  • 단일 노드 확장성 병목: 모든 하위 에이전트가 동일한 VM에서 실행되므로 CPU/메모리 경합이 성능 저하를 유발할 수 있습니다.
  • 공용 인터넷에 대한 강한 의존성: 사설 지식 베이스나 내부망 데이터 소스에 직접 접근할 수 없습니다.

대규모 배포 과제

  • 콜드 스타트 지연: VM 생성 및 초기화에는 보통 수 초에서 수십 초가 소요되어 사용자 경험에 영향을 미칩니다.
  • 동시성 스케줄링 오버헤드: 대량의 하위 작업이 동시에 실행될 때 프로세스 관리 및 통신이 병목이 될 수 있습니다.
  • 저장 비용: 중간 결과를 제때 정리하지 않으면 대량의 임시 데이터가 누적됩니다.
  • 보안 및 규정 준수: 임의의 코드를 동적으로 실행하는 샌드박스는 특히 기업 환경에서 엄격한 감사가 필요합니다.

개선 방향

  • 깊이-너비 제어 파라미터 도입: 사용자가 최대 병렬도(너비)와 추론 단계(깊이)를 명시적으로 제한할 수 있도록 허용합니다.
  • 계층적 실행 전략 채택: 가치가 높은 하위 작업을 우선 처리하고, 우선순위가 낮은 작업은 성능을 낮추거나 건너뛸 수 있습니다.
  • 하이브리드 데이터 소스 연결 지원: 공용 네트워크 크롤링과 사설 벡터 데이터베이스 검색을 결합합니다.
  • 비용 추정 API 제공: 과거 작업 통계를 기반으로 현재 구성의 리소스 소모를 예측합니다.

만약 실용적이고 자체 호스팅이 가능하며 세밀한 제어 능력을 갖춘 Agentic RAG 솔루션을 찾고 있다면, puppyone는 바로 사용할 수 있는 구현 경로를 제공합니다. MCP 프로토콜을 기반으로 구축된 puppyone는 깊이와 너비의 동적 조절, 다중 모델 백엔드 전환, 그리고 사설 지식 베이스의 원활한 연결을 지원하여, 고객 서비스 Q&A부터 기업 수준의 지능형 분석에 이르기까지 다양한 시나리오에 적합합니다. https://www.puppyone.ai/에 방문하여 몇 분 만에 자신만의 제어 가능한 연구 에이전트를 배포하는 방법을 알아보세요.

FAQ

Q1: 이 아키텍처는 전통적인 다중 에이전트 시스템과 어떤 본질적인 차이가 있나요?
A: 전통적인 시스템은 '기획자', '실행자'와 같이 미리 정의된 역할에 의존하는 반면, 이 아키텍처에서는 모든 하위 에이전트가 범용 인스턴스로서 스스로 행동 경로를 결정할 수 있어 작업 구조가 더 유연하고 일반화 능력이 더 뛰어납니다.

Q2: 로컬이나 프라이빗 클라우드에 유사한 시스템을 배포할 수 있나요?
A: 가능합니다. 하지만 가상화 스케줄링, 네트워크 프록시, 샌드박스 보안, 작업 조정 등의 문제를 직접 해결해야 합니다. 경량 대안으로는 완전한 VM 대신 컨테이너(예: Docker)를 사용하고, 메시지 큐를 통해 에이전트 간 통신을 구현하는 것을 고려할 수 있습니다.

Q3: 동시성이 높은 시나리오에서 주요 성능 병목은 무엇인가요?
A: 주요 병목으로는 VM 콜드 스타트 지연, 하위 작업 스케줄러의 처리량, 그리고 에이전트 간 통신의 직렬화 오버헤드가 있습니다. 최적화 방법으로는 예열 풀, 비동기 작업 큐, 중간 결과 캐시 재사용 등이 있습니다.