Post

How we built our multi-agent research system

How we built our multi-agent research system

출처: https://www.anthropic.com/engineering/multi-agent-research-system

  • 출처: Anthropic Engineering Blog
  • 주제: Claude의 Research 기능을 위한 멀티에이전트 시스템 구축
  • 핵심 키워드: Multi-Agent System, Orchestrator-Worker Pattern, Claude Opus 4, Claude Sonnet 4

1. 개요 (Overview)

멀티에이전트 시스템 정의

  • 멀티에이전트 시스템: “여러 에이전트(도구를 자율적으로 루프에서 사용하는 LLM)가 함께 작동”하는 시스템
  • 사용자가 쿼리를 제출하면, 리드 에이전트가 분석하고 전략을 수립한 후 병렬로 서브에이전트를 생성하여 다양한 측면을 동시에 탐색

핵심 성과

  • Claude Opus 4를 리드 에이전트로, Claude Sonnet 4를 서브에이전트로 사용한 멀티에이전트 시스템이 단일 에이전트 Claude Opus 4 대비 90.2% 성능 향상
  • 분석 결과, 토큰 사용량이 성능 차이의 80%를 설명하며, 도구 호출과 모델 선택이 나머지를 차지

2. 시스템 아키텍처 (System Architecture)

2.1 Orchestrator-Worker 패턴

시스템은 3가지 핵심 컴포넌트로 구성:

(1) Lead Researcher Agent (리드 연구원 에이전트)

  • 역할: 중앙 조정자
  • 사용자 쿼리를 분석하고 조사 전략 수립
  • 입력 쿼리를 하위 질문이나 연구 경로로 분해
  • 조사 방법 결정 및 작업 위임
  • Memory에 계획 저장하여 장기 연구 작업 중 토큰 한도 문제 방지
  • “훌륭한 연구 프로젝트 매니저”처럼 작업 분해, 자원 조정, 결과 통합에 탁월

(2) Subagents (서브에이전트)

  • 역할: 전문화된 작업자
  • 리드 에이전트가 생성하여 개별 작업을 병렬로 처리
  • 특정 회사, 기간, 기술적 세부사항 등 쿼리의 특정 측면 탐색
  • 각자 독립적인 컨텍스트 윈도우에서 작동
  • 독립적으로 검색, 추론, 출처 인용 수행
  • 가장 핵심적인 발견만 메인 에이전트에 전달

(3) Citation Agent (인용 에이전트)

  • 역할: 검증자
  • 모든 주장을 출처와 대조하여 검증
  • 적절한 출처 귀속 보장
  • 최종 출력물의 환각이나 잘못된 귀속 방지

2.2 전체 작업 흐름

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1. 사용자 쿼리 입력
   ↓
2. Lead Researcher가 쿼리 분석 및 연구 계획 수립
   ↓
3. 병렬 서브에이전트 생성 (동시에 정보 검색)
   ↓
4. 결과 수집 및 종합
   ↓
5. 추가 연구 필요 여부 판단
   ├─ 필요시: 추가 서브에이전트 생성 또는 전략 수정
   └─ 충분시: 다음 단계로 진행
   ↓
6. Citation Agent가 문서와 연구 보고서 처리
   ↓
7. 인용이 포함된 최종 연구 결과 사용자에게 반환

2.3 OODA 루프 (서브에이전트 연구 루프)

서브에이전트는 OODA 연구 루프를 사용:

  1. Observe (관찰): 지금까지 수집된 정보, 아직 수집해야 할 정보, 현재 사용 가능한 도구 파악
  2. Orient (방향설정): 필요한 정보 수집에 가장 적합한 도구와 쿼리 결정, 학습 내용을 바탕으로 신념 업데이트
  3. Decide (결정): 특정 도구를 특정 방식으로 사용하기로 정보에 입각한 합리적 결정
  4. Act (행동): 해당 도구 사용

3. 컨텍스트 관리 전략 (Context Management)

핵심 이점

  • 각 하위 작업이 별도의 컨텍스트를 가짐
  • 연구 작업의 일부로 훨씬 더 많은 양의 콘텐츠 처리 가능
  • 200,000 토큰 컨텍스트 제한 관리가 핵심

작동 방식

  • Lead Researcher는 접근 방식을 먼저 생각한 후 Memory에 계획 저장하여 컨텍스트 유지
  • 컨텍스트 한도 초과 시 잘림(truncation) 발생하므로 메모리 활용이 중요

4. 8가지 프롬프팅 원칙 (Eight Prompting Principles)

원칙 1: 에이전트 행동 시뮬레이션

  • Console을 사용하여 단계별 워크스루로 프롬프트 테스트
  • 프로덕션 배포 전 실패 모드 관찰 및 식별

원칙 2: 상세한 작업 위임

서브에이전트에게 제공해야 할 정보:

  • 명확한 목표
  • 출력 형식
  • 작업 경계
  • 도구 안내

원칙 3: 노력 스케일링 (Effort Scaling)

에이전트는 적절한 노력 수준 판단에 어려움을 겪음 → 명시적 스케일링 규칙 내장:

쿼리 복잡도서브에이전트 수도구 호출 수
단순 팩트 체크1개3-10회
직접 비교2-4개각 10-15회
복잡한 연구10개 이상명확히 분담된 책임

2단계 병렬화 구현:

  • 리드 에이전트가 3-5개 서브에이전트를 동시 생성
  • 서브에이전트가 3개 이상의 도구를 병렬로 사용

원칙 4: 전략적 도구 설계

  • 사용자 의도와 도구를 매칭하는 휴리스틱 필요
  • 광범위한 웹 검색보다 전문화된 도구 선호
  • 명확한 도구 설명 제공

원칙 5: 자동화된 개선 (Self-Improvement)

  • Claude 4 모델은 프롬프트 엔지니어로서 뛰어난 능력 보유
  • 프롬프트와 실패 모드를 제시하면 문제 진단 및 개선 제안 가능
  • 도구 테스팅 에이전트 생성:
    • 결함 있는 도구 사용 시도
    • 실패 방지를 위해 설명 재작성
    • 작업 완료 시간 40% 단축 달성

원칙 6: 점진적 검색 전략 (Breadth-First Exploration)

  • 초기에는 광범위한 쿼리로 시작
  • 인사이트가 나타나면 점차 초점 좁히기

원칙 7: 확장된 사고 모드 (Extended Thinking)

  • 계획 수립: Extended thinking 사용
  • 평가: 도구 출력 수신 후 Interleaved thinking 사용

원칙 8: 병렬 도구 실행

  • 동시 서브에이전트 배포와 멀티 도구 실행 장려
  • 복잡한 쿼리에서 연구 시간 최대 90% 단축

5. 성능 및 비용 분석 (Performance & Cost Analysis)

성능 지표

  • 멀티에이전트 시스템: 단일 에이전트 대비 90.2% 성능 향상
  • 복잡한 쿼리에서 병렬화로 연구 시간 최대 90% 단축
  • 토큰 사용량이 성능 차이의 80% 설명

토큰 비용

사용 유형토큰 사용량 (상대적)
표준 채팅1x (기준)
단일 에이전트~4x
멀티에이전트 시스템~15x

비용 대비 가치

  • 멀티에이전트 시스템은 고가치 작업에 적합
  • 단일 컨텍스트 윈도우를 초과하는 정보와 상당한 병렬화가 필요한 작업에 효과적
  • 결과의 가치가 비용을 상회하는 경우에 권장

6. 평가 방법론 (Evaluation Methodology)

소규모 테스트 우선

  • 대규모 평가를 기다리지 않고 20개의 테스트 쿼리로 시작
  • 작은 샘플로 개선 사항 감지 후 스케일링

LLM-as-Judge 평가

별도 모델이 0.0-1.0 척도로 출력물 점수화:

평가 기준설명
사실적 정확성정보의 정확도
인용 정밀도출처 인용의 정확성
완전성답변의 포괄성
출처 품질참조 자료의 신뢰성
도구 효율성도구 사용의 효율성

인간 검증의 중요성

  • 도메인 전문가가 엣지 케이스 식별
  • 환각, SEO 편향 등 발견하여 새로운 휴리스틱 반영
  • 루브릭 기반 평가의 인간 테스트 검증

7. 프로덕션 엔지니어링 과제 (Production Engineering Challenges)

7.1 상태 관리 (Stateful Operations)

  • 장기 실행 에이전트는 오류 누적
  • 필요한 메커니즘:
    • 지속적 실행 (Durable execution)
    • 재개 가능한 체크포인트 (Resumable checkpoints)
    • 적응형 도구 실패 처리

7.2 디버깅 복잡성

  • 비결정적 에이전트 행동으로 디버깅 어려움
  • 필요한 기능:
    • 포괄적인 프로덕션 추적
    • 고수준 의사결정 모니터링
    • 민감한 사용자 데이터 보호

7.3 배포 위험

  • 업데이트가 작업 중인 에이전트를 방해할 수 있음
  • Rainbow 배포: 버전 간 트래픽을 점진적으로 전환

7.4 동기화 병목

  • 현재 아키텍처: Lead Researcher가 서브에이전트 완료를 대기해야 함
  • 처리량 제한 발생
  • 비동기 실행으로 속도 개선 가능하지만 상태 관리 복잡성 증가

8. 초기 과제 및 해결책 (Early Challenges & Solutions)

초기 실패 사례

  • 단순 쿼리에 50개의 서브에이전트 생성
  • 존재하지 않는 출처를 찾아 웹을 끝없이 검색
  • 과도한 업데이트로 서로를 방해

해결 접근법

  • 모든 에이전트가 프롬프트에 의해 조종되므로 프롬프트 엔지니어링이 주요 레버
  • 협업을 안내하는 프롬프트 프레임워크가 엄격한 규칙보다 중요
  • 목표, 출력 형식, 도구 안내, 작업 경계를 명시하는 신중한 프롬프트 설계

SEO 편향 문제

  • 인간 테스터 발견: 에이전트가 학술 논문 같은 권위 있는 출처보다 SEO 최적화 콘텐츠 선호
  • 프롬프트 수정을 통해 품질 휴리스틱 조정으로 해결

9. 적합한 사용 사례 (Use Case Suitability)

적합한 경우

  • 폭넓은, 병렬화 가능한 문제
  • 신뢰할 수 있는 출처가 필요한 연구
  • 단일 컨텍스트 윈도우를 초과하는 정보 처리

부적합한 경우

  • 긴밀하게 상호의존적인 작업 (예: 코딩)
  • 순차적 추론이 지배적인 작업
  • 단순 팩트 체크 (비용 대비 효율성 낮음)

10. 핵심 인사이트 요약

항목내용
아키텍처Orchestrator-Worker 패턴 (Lead + Subagents + Citation)
성능 향상단일 에이전트 대비 90.2%
토큰 비용표준 채팅의 15배
핵심 이점여러 독립적 컨텍스트 윈도우에 추론 분산
자동 개선도구 설명 재작성으로 40% 시간 단축
병렬화 효과연구 시간 최대 90% 단축
This post is licensed under CC BY 4.0 by the author.