멀티에이전트 플랫폼 설계 패턴

Supervisor, Hierarchical, Reflection, Plan-and-Execute 패턴과 인터페이스 설계 원칙

멀티에이전트 시스템을 구축할 때 적용할 수 있는 공식화된 설계 패턴을 정리한다. Supervisor, Hierarchical, Reflection, Plan-and-Execute 패턴의 구조와 적용 시점을 설명하고, Agent 간 결합도 관리, 인터페이스 설계, 관찰 가능성 확보 등 건강한 플랫폼을 위한 핵심 원칙을 다룬다.

Agent
Architecture
Multi-Agent
LangGraph
저자

Kwangmin Kim

공개

2026년 03월 18일

1 개요

멀티에이전트 플랫폼을 설계할 때 가장 중요한 것은 Agent의 수가 아니라 각 Agent의 책임 범위가 얼마나 단일하고 명확한가(Single Responsibility)이다. 학계와 빅테크에서 수렴한 멀티에이전트 아키텍처 패턴이 존재하며, 이를 이해하고 적용하는 것이 안정적인 플랫폼 구축의 기반이 된다.

2 공식화된 멀티에이전트 설계 패턴

2.1 Supervisor 패턴

Main Agent가 Sub-agent들을 오케스트레이션하는 구조이다. 각 Sub-agent는 전문화된 단일 책임을 가진다. LangGraph 공식 문서에서 가장 권장하는 구조이다.

Supervisor Agent
├── 판단: 어떤 Sub-agent를 호출할 것인가
├── QnA Sub-agent
├── 표준화 Sub-agent
└── 분석 Sub-agent

Supervisor는 사용자 요청을 분석하여 적절한 Sub-agent에 작업을 위임하고, 결과를 수합하여 최종 응답을 생성한다. 각 Sub-agent가 독립적으로 동작하므로 개별 교체와 업데이트가 용이하다.

2.2 Hierarchical 패턴

Supervisor가 중첩된 구조이다. Main Agent 위에 Meta-supervisor가 있고, 그 아래 각 Main Agent가 다시 Supervisor 역할을 하는 계층적 구조이다. 시스템 규모가 커지면 자연스럽게 이 형태로 진화한다.

Meta-Supervisor
├── Main Agent A (Supervisor)
│   ├── Sub-agent A-1
│   └── Sub-agent A-2
├── Main Agent B (Supervisor)
│   ├── Sub-agent B-1
│   └── Sub-agent B-2
└── Main Agent C (Supervisor)
    ├── Sub-agent C-1
    └── Sub-agent C-2

이 패턴의 핵심은 각 계층의 Supervisor가 자신의 하위 Agent들만 관리하며, 상위 Supervisor와는 정의된 인터페이스를 통해서만 통신한다는 것이다.

2.3 Reflection 패턴

Agent가 자신의 출력을 스스로 비판하고 개선하는 루프 구조이다. 검증 노드가 생성 노드를 다시 호출하여 품질을 반복적으로 향상시킨다.

입력 → 생성 노드 → 출력
         ↑            ↓
         └── 검증 노드 ──┘
              (품질 미달 시 재생성)

RAG 시스템에서 검색 결과의 관련성을 검증하고, 부족할 경우 쿼리를 재작성하여 다시 검색하는 흐름이 이 패턴에 해당한다.

2.4 Plan-and-Execute 패턴

복잡한 작업을 먼저 계획(Plan)으로 분해하고 순차적으로 실행(Execute)하는 구조이다. 코드 전체를 분석하거나 다단계 작업을 수행해야 할 때 유효하다.

입력 → Plan 노드 (작업 분해)
         ↓
       [단계 1] → [단계 2] → [단계 3] → 결과 수합

각 단계가 독립적으로 실행되므로, 중간 단계에서 실패해도 해당 단계만 재시도할 수 있다.

3 건강한 플랫폼의 설계 원칙

3.1 1. 계층적 분리 (Layered Separation)

Main Agent에서 Sub-agent, 파생 Agent로 이어지는 계층이 명확해야 한다. 중요한 것은 계층 간 결합도(coupling)이다.

예를 들어 코드 표준화 Agent가 분석 Agent의 성능 향상을 위해 존재한다면, 두 Agent 사이에 암묵적 의존성이 생긴다. 이 의존성이 인터페이스로 명시적으로 정의되어 있지 않으면, 한쪽을 변경할 때 다른 쪽이 깨진다.

3.2 2. 진화 가능성 (Evolvability)

Agent가 계속 추가되는 구조라면 각 Agent가 독립적으로 배포/교체 가능해야 한다. LangGraph의 StateGraph는 이를 어느 정도 강제해주지만, 설계 철학이 먼저 있어야 한다.

핵심 원칙은 하나이다:

Agent 간 계약(contract)을 데이터 스키마로 명시적으로 정의하고, 구현이 아닌 인터페이스에 의존하게 설계한다.

3.3 3. 관찰 가능성 (Observability)

Agent가 많아질수록 “지금 어디서 실패했는가”를 추적하기 어려워진다. 건강한 플랫폼은 각 Agent의 입출력, 상태 전이, 실패 지점이 로깅되고 추적 가능해야 한다. 이것이 없으면 규모가 커질수록 디버깅이 블랙박스가 된다.

4 경직성의 실질적 리스크

멀티에이전트 플랫폼이 경직되는 지점은 Agent 수가 아니라 Agent 간 상태 스키마가 경직되는 순간이다.

예를 들어 데이터 표준화 Agent의 출력 스키마가 코드 표준화 Agent의 입력으로 하드코딩되면, 표준화 정책이 바뀔 때 두 Agent를 동시에 수정해야 한다. 이런 상황을 방지하려면 Agent 간 데이터 흐름을 인터페이스로 추상화해야 한다.

5 패턴만으로 해결되지 않는 영역

설계 패턴은 구조를 알려주지만 다음은 알려주지 않는다:

  • 어느 시점에 노드를 분리할 것인가
  • 상태 스키마를 얼마나 세밀하게 정의할 것인가
  • 어떤 실패를 자동 재시도하고 어떤 실패를 human-in-the-loop로 올릴 것인가
  • 도메인 특화 신뢰도 기준을 어떻게 수치화할 것인가

패턴은 지도이고, 실제 지형은 도메인이다. 추상적 패턴에서 시작하면 과설계가 되고, 실패 경험에서 패턴을 찾으면 정확한 설계가 나온다.

6 현실적 고려 사항

대부분의 기업 AI 도입은 다음 수준에서 멈춘다:

  • ChatGPT/Copilot 구독 후 개인 생산성 도구로 사용
  • 단일 RAG 챗봇 하나 구축 후 “AI 도입 완료” 선언
  • Agent 개념을 PoC 수준에서 벗어나지 못함

Agent 간 시너지를 설계하고 플랫폼으로 진화시키는 구조를 실제로 구현하는 곳은 주로 AI 네이티브 스타트업이나 빅테크 내부 팀이다. 일반 연구소나 중견기업 사내 팀에서 이 수준의 설계를 진행하는 것은 비교적 희소하다.

경고

희소하다는 것이 곧 성공을 보장하지는 않는다. 이런 플랫폼이 흔하지 않은 이유 중 하나는 완성하기 전에 조직 우선순위가 바뀌거나 리소스가 끊기는 경우가 많기 때문이다. 기술 설계보다 조직 내 지속성 확보가 더 큰 변수이다.

7 참고 자료

멀티에이전트 설계에 대해 현재 가장 실용적으로 정리된 레퍼런스는 다음 세 가지이다:

  • LangGraph 공식 문서: Multi-agent 섹션에서 Supervisor, Hierarchical 패턴을 상세히 다룬다
  • Anthropic “Building effective agents” (2024): Agent 설계의 핵심 원칙과 실무적 조언을 제공한다
  • Microsoft AutoGen 논문: 멀티에이전트 협업의 학술적 기반을 정리한다

학술적으로는 아직 빠르게 변하는 영역이므로, 논문보다 위 세 곳이 더 신뢰할 만하다.

Subscribe

Enjoy this blog? Get notified of new posts by email: