Multi-Agent를 실무 흐름으로 이해하기
여러 AI Agent가 역할을 나눠 협업하는 멀티에이전트 시스템을 설계합니다. Orchestrator-Worker 패턴, Agent 간 통신 방식, 흔한 실패 유형을 실무 관점에서 정리합니다. 이 가이드는 개념을 나열하기보다, 실제 프로젝트에서 판단해야 하는 순서대로 내용을 따라갈 수 있게 구성했습니다.
여러 AI Agent가 역할을 나눠 협업하는 멀티에이전트 시스템을 설계합니다. Orchestrator-Worker 패턴, Agent 간 통신 방식, 흔한 실패 유형을 실무 관점에서 정리합니다.
여러 AI Agent가 역할을 나눠 협업하는 멀티에이전트 시스템을 설계합니다. Orchestrator-Worker 패턴, Agent 간 통신 방식, 흔한 실패 유형을 실무 관점에서 정리합니다. 이 가이드는 개념을 나열하기보다, 실제 프로젝트에서 판단해야 하는 순서대로 내용을 따라갈 수 있게 구성했습니다.
모델과 프롬프트만 보지 않고, 데이터 흐름, 평가, 배포 이후의 운영 지표까지 한 번에 연결해서 봅니다.
글로 읽은 내용을 머릿속에 오래 남기려면 먼저 흐름을 그림으로 잡는 편이 좋습니다. 아래 두 그림은 Multi-Agent를 학습할 때 계속 되돌아볼 수 있는 기준 지도입니다.
Multi-Agent를 처음 펼칠 때는 세부 명령보다 큰 그림이 먼저입니다. 이 섹션에서는 앞으로 배울 개념들이 어떤 문제를 풀기 위해 등장했는지부터 잡아봅니다.
대표 아키텍처 패턴은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
| 패턴 | 구조 | 적합한 경우 |
|---|---|---|
| Orchestrator-Worker | 지휘자 Agent가 작업을 분해해 작업자 Agent들에게 위임 | 조사·코딩처럼 병렬화 가능한 하위 작업이 있을 때 |
| Sequential (Pipeline) | Agent A의 출력이 Agent B의 입력으로 순차 전달 | 리서치→요약→검수처럼 단계가 명확히 나뉠 때 |
| Hierarchical | 상위 관리자 Agent 아래 여러 팀 Agent가 계층 구조 | 조직이 큰 워크플로우, 각 팀이 독립 도구셋을 가질 때 |
| Debate/Consensus | 여러 Agent가 같은 문제에 각자 답하고 상호 검토 | 정답이 불확실하거나 품질 검증이 중요한 문제 |
여기서는 Orchestrator-Worker 구현을 실제 코드와 함께 확인합니다. 예제를 그대로 따라 하기보다, 입력과 출력, 그리고 바뀌기 쉬운 부분이 어디인지 보면서 읽어보세요.
def orchestrator(state: AgentState) -> dict:
task = state["messages"][-1]
subtasks = plan_subtasks(task) # LLM으로 작업을 하위 작업으로 분해
return {"subtasks": subtasks}
def worker(subtask: str) -> str:
# 각 worker는 독립된 컨텍스트·도구셋을 가진 별도 Agent 호출
return run_worker_agent(subtask)
def aggregate(state: AgentState) -> dict:
results = [worker(t) for t in state["subtasks"]] # 실전에서는 병렬 실행
final = synthesize(results) # 결과를 하나의 답변으로 통합
return {"messages": [final]}Agent 간 통신은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
| 방식 | 설명 | 트레이드오프 |
|---|---|---|
| 공유 상태 (Shared State) | 모든 Agent가 같은 State 객체를 읽고 씀 | 단순하지만 Agent가 늘어나면 상태가 뒤엉키기 쉬움 |
| 메시지 전달 (Message Passing) | Agent끼리 명시적인 메시지만 주고받음 | 결합도가 낮지만 설계·디버깅이 더 복잡함 |
이 섹션은 흔한 실패 유형을 실무 관점에서 정리합니다. 개념을 외우기보다, 어떤 상황에서 이 기준을 꺼내 쓸지에 초점을 맞춰보세요.
이 섹션은 언제 쓰지 말아야 하나을 실무 관점에서 정리합니다. 개념을 외우기보다, 어떤 상황에서 이 기준을 꺼내 쓸지에 초점을 맞춰보세요.