멀티 Agent란?
“이번 분기 프로젝트별 비용 보고서 만들어줘. 예산 초과 항목은 매니저에게 슬랙 알림 보내고, 다음 분기 권장 예산도 추정해줘.”
이걸 단일 에이전트로 풀면:
- 도구 8-10개 (DB 조회, 보고서 생성, 슬랙, 분석, 추정 등)
- 시스템 프롬프트 30줄+
- 한 LLM 호출에서 너무 많은 결정
→ 여러 에이전트가 협업 하는 게 자연스럽습니다.
멀티 에이전트의 핵심.
멀티 에이전트는 “AI 여러 명이 토론하면 더 똑똑해진다”가 핵심이 아닙니다.
핵심은 복잡한 일을 역할별로 나눠서, 각 에이전트가 더 작은 문제만 보게 만드는 것입니다.
LangChain도 2025년 멀티 에이전트 벤치마크 글에서 비슷한 문제의식을 보여줍니다.
이 파트에서 구분해야 할 것
이 파트에는 비슷해 보이지만 다른 개념이 함께 나옵니다.복사
Network / Swarm
-> 에이전트가 다음 에이전트를 직접 선택하는 구조
Handoff tool
-> Network에서 다른 에이전트로 이동하기 위한 구현 방법
Branching / Parallel
-> 여러 노드를 동시에 실행하는 그래프 실행 방식
셋을 한 문장씩 정리하면 다음과 같습니다.
| 개념 | 핵심 질문 |
|---|---|
| Network | 누가 다음 에이전트를 선택하는가? |
| Handoff tool | 다른 에이전트로 어떻게 이동시키는가? |
| Branching | 여러 노드를 동시에 실행할 것인가? |
Network와 Branching은 같은 개념이 아닙니다.
| 구분 | Network | Branching |
|---|---|---|
| 핵심 | 직접 handoff | 병렬 실행 |
| 제어 | 에이전트가 다음 agent 선택 | 그래프 edge가 동시에 실행 |
| 예 | search_agent -> db_agent | search/db/analyst 동시 실행 |
| 위험 | 무한 루프, 추적 어려움 | state 충돌, 결과 순서 불확실 |
4-1. Network 패턴이란
Supervisor 패턴에는 중앙 관리자 역할이 있습니다.
사용자
↓
Supervisor
├─ search_agent
└─ db_agent
사용자 요청을 Supervisor가 보고 어느 agent에게 맡길지 결정합니다.
Network 패턴에는 중앙 Supervisor가 없습니다.
사용자
↓
search_agent
↔
db_agent
각 agent가 직접 판단합니다.
내가 처리할 수 있으면 내가 처리한다.
내 전문 영역이 아니면 다른 agent에게 넘긴다.
이번 예제의 요청은 다음과 같습니다.
dev팀 직원 정보랑 휴가 정책 알려줘
이 요청에는 두 종류의 정보가 섞여 있습니다.
휴가 정책
-> 문서 검색 영역
-> search_agent가 잘 처리함
dev팀 직원 정보
-> DB 조회 영역
-> db_agent가 잘 처리함
그래서 Network 흐름은 다음처럼 진행될 수 있습니다.
START
↓
search_agent
├─ retrieve_docs("휴가 정책")
└─ transfer_to_db_agent("dev팀 직원 정보는 DB 조회 필요")
↓
db_agent
└─ query_db("dev팀 직원")
↓
최종 답변
여기서 중요한 점은 Supervisor가 없다는 것입니다.
search_agent가 직접 db_agent에게 넘깁니다.