Multi-agent supervisor pattern 에 대해

Keno Kim·2025년 8월 16일

CrewAI Hierarchical process

CrewAI 는 코드 내의 옵션 선택을 통해 supervisor pattern 을 사용할 수 있다.
GitHub 소스를 분석해 보면, 이 기능의 구현에 대한 3가지 힌트를 확인할 수 있다.

  1. Supervisor 는 단순 라우팅으로 끝나지 않고, worker 의 작업 결과물을 받아 다음 행동을 결정하는 반복자 역할을 한다. 이는 ReAct 패턴과 유사하다.
  2. Worker 는 supervisor 에게 도구로서 등록된다. 도구는 delegate 와 question 기능을 가지고 있다. delegate 는 task 자체를 넘겨 처리하는 것이고, question 은 간단한 질문을 하고 답을 받는 기능이다.
  3. Supervisor 에 설정된 LLM 은 추론 성능이 좋은 비싼 모델이어야 한다.

https://docs.crewai.com/ko/learn/hierarchical-process

Supervisor 의 역할

먼저, supervisor 는 무엇이며 어떤 역할을 할까?
일반적으로 Supervisor 는 다음과 같은 역할을 맡는다.

1.	의도 파악 (Intent Classification)
  •	사용자의 입력을 분석해 어떤 작업인지 판단
  •	단순 규칙이 아니라 LLM 분류, embeddings 기반 매칭 등을 사용
2.	Worker 선택 (Routing)
  •	조건 분기에 따라 적합한 Worker를 선택
  •	때로는 여러 Worker를 순차·병렬로 호출
3.	흐름 제어 (Flow Orchestration)
  •	Worker 실행 순서 결정
  •	중간 결과를 다음 Worker로 전달
  •	필요 시 반복(loop) 또는 분기(branch) 실행
4.	예외 처리 / Fallback
  •	Worker 실패 시 다른 Worker로 재시도
  •	오류 메시지 생성, 로깅
5.	최종 응답 생성
  •	Worker들의 결과를 종합·후처리
  •	포맷 변환, 정리, 사용자 친화적 응답 생성

대부분 케이스에서 Supervisor 의 모든 역할이 필요하진 않다.
필요에 따라 모델, 벡터 DB 등을 유연하게 선택하고, supervisor 의 역할을 추가할 수 있다.

Supervisor 가장 중요한 역할은 의사결정과 흐름 제어이다. (decision making & orchestration)
https://langchain-ai.github.io/langgraph/concepts/multi_agent/

Supervisor pattern 장단점

다음으로, supervisor 패턴의 장단점에는 어떤게 있을까?

profile
개발자의 생각 로그

0개의 댓글