AI Agents for Beginners - 8. Multi-Agent Design Pattern

Multi-agent design patterns — when to use them, building blocks of agent communication and coordination, Group Chat / Hand-off / Collaborative Filtering patterns, and a WorkflowBuilder pipeline walkthrough.
June 9, 2026

AI Agents for Beginners - 8. Multi-Agent Design Pattern

이 글은 Microsoft의 AI Agents for Beginners 강좌 Lesson 08을 기반으로 정리한 내용입니다.

Scenarios Where Multi-Agents Are Applicable

Multi-Agent System은 여러 에이전트가 공통 목표를 달성하기 위해 함께 동작하는 디자인 패턴입니다.
특히 다음 세 가지 상황에서 멀티에이전트를 사용하면 큰 이점을 얻을 수 있습니다:
시나리오설명예시
Large Workloads대규모 태스크를 작은 단위로 나눠 병렬 처리대용량 데이터 파이프라인
Complex Tasks복잡한 태스크를 전문 영역별로 분리자율주행: 내비게이션·장애물 감지·통신 에이전트
Diverse Expertise각 에이전트가 서로 다른 전문성을 보유의료: 진단·치료 계획·환자 모니터링 에이전트

Advantages of Using Multi-Agents Over a Singular Agent

단일 에이전트 시스템은 간단한 태스크에 잘 동작하지만, 복잡한 태스크에서는 멀티에이전트가 여러 이점을 제공합니다.
장점설명
Specialization각 에이전트가 특정 태스크에 집중 → 복잡한 요청에도 혼란 없음
Scalability새 에이전트 추가로 시스템 확장, 기존 에이전트 수정 불필요
Fault Tolerance하나의 에이전트가 실패해도 나머지가 계속 동작
예를 들어 여행 예약 시스템을 단일 에이전트(mom-and-pop)로 만들면 항공·호텔·렌터카를 모두 처리하는 복잡하고 유지보수가 어려운 시스템이 됩니다. 멀티에이전트(franchise)로 구성하면 각 영역 전담 에이전트로 모듈화되어 확장·유지보수가 쉬워집니다.
Single Agent vs Multi-Agent
Mermaid
flowchart LR subgraph Single["단일 에이전트 (Mom & Pop)"] SA["SingleAgent\n항공+호텔+렌터카\n모두 처리"] end subgraph Multi["멀티 에이전트 (Franchise)"] FA["FlightAgent"] HA["HotelAgent"] CA["CarAgent"] end User1["User"] --> SA User2["User"] --> FA & HA & CA

Building Blocks of Implementing the Multi-Agent Design Pattern

멀티에이전트 시스템을 구현하기 위한 핵심 빌딩 블록:
Building Block설명여행 예약 예시
Agent Communication에이전트 간 정보 공유 방식·프로토콜 결정항공 에이전트가 호텔 에이전트에 여행 날짜 전달
Coordination Mechanisms사용자 선호·제약 조건을 맞추기 위한 에이전트 간 조율호텔 위치와 렌터카 픽업 장소 조율
Agent Architecture에이전트 내부 의사결정 구조와 학습 메커니즘과거 선호도 기반 ML 모델로 항공편 추천
Visibility에이전트 활동·상호작용 추적 도구대시보드로 각 에이전트 상태 모니터링
Multi-Agent Patterns중앙집중·분산·하이브리드 아키텍처 선택Group Chat, Hand-off, Collaborative Filtering
Human-in-the-Loop에이전트가 인간 개입을 요청하는 시점 정의최종 예약 전 사용자 확인 요청
Multi-Agent Building Blocks
Mermaid
flowchart TD MAD["Multi-Agent\nDesign Pattern"] MAD --> Comm["Agent Communication\n정보 공유 방식"] MAD --> Coord["Coordination\n제약 조건 조율"] MAD --> Arch["Agent Architecture\n의사결정·학습"] MAD --> Vis["Visibility\n활동 추적"] MAD --> Pat["Patterns\nGroup/Hand-off/Filter"] MAD --> HITL["Human-in-the-Loop\n개입 시점 정의"]

Multi-Agent Patterns

Group Chat

여러 에이전트가 그룹 채팅 형식으로 메시지를 주고받는 패턴입니다.
팀 협업, 고객 지원, 소셜 네트워킹 등에 활용됩니다.
  • 중앙 서버를 통한 Centralized 아키텍처, 또는 에이전트 간 직접 교환하는 Decentralized 아키텍처로 구현 가능
  • 각 에이전트는 그룹 채팅에 메시지를 전송·수신하고 응답합니다
Group Chat Pattern
Mermaid
flowchart LR GroupChat["Group Chat\n(Central Hub)"] A1["Agent 1\nTravelPlanner"] <--> GroupChat A2["Agent 2\nConcierge"] <--> GroupChat A3["Agent 3\nBudgetReviewer"] <--> GroupChat User["User"] --> GroupChat GroupChat --> User

Hand-off

하나의 에이전트가 태스크를 완료한 뒤 다음 에이전트에게 전달하는 패턴입니다.
고객 지원, 태스크 관리, 워크플로우 자동화에 적합합니다.
zenuml title Hand-off Pattern User->AgentA: initial request AgentA->AgentA: process own scope AgentA->AgentB: hand off with context AgentB->AgentB: process own scope AgentB->AgentC: hand off with context AgentC->User: final response

Collaborative Filtering

여러 에이전트가 각자의 전문성을 바탕으로 협력해 추천을 생성하는 패턴입니다.
주식 추천 시나리오를 예로 들면:
에이전트전문 영역
Industry Expert Agent특정 산업 도메인 지식
Technical Analysis Agent차트·패턴 분석
Fundamental Analysis Agent재무제표·기업 가치 분석
세 에이전트가 협력해 단일 에이전트보다 훨씬 포괄적인 추천을 제공합니다.
Collaborative Filtering Pattern
Mermaid
flowchart TD User["User\n'어떤 주식을 사야 할까요?'"] --> Coordinator["Coordinator Agent\n요청 분배 & 결과 취합"] Coordinator --> IE["Industry Expert Agent\n산업 트렌드·섹터 분석"] Coordinator --> TA["Technical Analysis Agent\n차트·패턴·진입 시점 분석"] Coordinator --> FA["Fundamental Analysis Agent\n재무제표·기업 가치 분석"] IE --> Agg["Aggregator\n다각도 인사이트 종합"] TA --> Agg FA --> Agg Agg --> Rec["Comprehensive Recommendation\n포괄적 투자 추천"] Rec --> User

Creating Specialized Agents

Setup

setup.py
python
WorkflowBuilder를 사용하면 에이전트를 방향 그래프(directed graph)로 연결할 수 있습니다.
먼저 각각 집중된 역할을 가진 전문 에이전트를 만듭니다:
specialized_agents.py
python
Specialized Agents
Mermaid
flowchart LR P["TravelPlanner\n일정 초안 작성\n(attractions, logistics)"] C["TravelConcierge\n계획 검토·강화\n(tips, restaurants, issues)"] P -->|"context 전달"| C

Sequential Workflow with WorkflowBuilder

WorkflowBuilder로 에이전트를 순차 파이프라인으로 연결합니다.
add_edge(A, B)는 A의 출력이 B의 입력으로 흐르는 엣지를 정의합니다:
sequential_workflow.py
python
Sequential Workflow: 2-Agent Pipeline
Mermaid
flowchart LR U["User\n'Plan 5-day Paris, $3000'"] --> W["WorkflowBuilder\nstart_executor=planner_agent"] W --> P["TravelPlanner\n일정 초안 작성\n(attractions, logistics)"] P -->|"AgentResponseUpdate"| C["TravelConcierge\n계획 검토·강화\n(tips, restaurants, issues)"] C -->|"AgentResponseUpdate"| S["Stream to User"]

Extending the Workflow

멀티에이전트 패턴의 가장 큰 장점 중 하나는 기존 에이전트를 수정하지 않고 새 에이전트를 추가할 수 있다는 점입니다.
BudgetReviewer 에이전트를 추가해 3단계 파이프라인으로 확장합니다:
extended_workflow.py
python
Extended 3-Agent Pipeline
Mermaid
flowchart LR U["User\n'5-day Paris, $3000'"] --> P["TravelPlanner\n일정 초안"] --> C["TravelConcierge\n검토·강화"] --> B["BudgetReviewer\n예산 검증·절약 제안"] --> R["Final\nItinerary"]

Visibility into Multi-Agent Interactions

에이전트가 많아질수록 상호작용 추적이 필수입니다.
세 가지 도구로 멀티에이전트 시스템의 가시성을 확보합니다:
도구내용활용
Logging & Monitoring에이전트·액션·시각·결과를 로그로 기록디버깅, 성능 최적화
Visualization Tools에이전트 간 정보 흐름을 그래프로 시각화병목·비효율 구간 식별
Performance Metrics태스크 완료 시간, 처리량, 추천 정확도 추적시스템 개선 영역 파악
여행 예약 대시보드 예시: 각 에이전트 상태, 사용자 선호·제약 조건, 에이전트 간 교환 정보를 한눈에 확인.

Scenario: Refund Process

환불 프로세스를 멀티에이전트로 설계하면 어떻게 될까요?
에이전트는 프로세스 전용범용으로 나뉩니다:
Refund-specific agents
에이전트역할
Customer Agent고객을 대표하며 환불 프로세스 시작
Seller Agent판매자를 대표하며 환불 처리
Payment Agent결제 환불 처리
Resolution Agent환불 중 발생한 이슈 해결
Compliance Agent규정·정책 준수 검증
General-purpose agents (다른 비즈니스 프로세스에서도 재사용 가능)
에이전트역할
Shipping Agent제품 반송 처리 (구매 배송에도 활용)
Notification Agent각 단계별 고객 알림 발송
Escalation Agent이슈를 상위 지원으로 에스컬레이션
Feedback Agent고객 피드백 수집
Audit Agent프로세스 감사
Analytics Agent데이터 분석
Refund Process Multi-Agent System
Mermaid
%%{init: {'look': 'default', 'themeVariables': {'clusterBkg': '#e8efff28', 'clusterBorder': '#aabbcc'}, 'flowchart': {'subGraphTitleMargin': {'top': 14, 'bottom': 8}}}}%% flowchart TD subgraph Core["핵심 환불 흐름 (순차)"] Customer["Customer Agent\n환불 요청"] Resolution["Resolution Agent\n이슈 분석·조율"] Seller["Seller Agent\n환불 승인"] Payment["Payment Agent\n결제 환불"] end subgraph Checks["병렬 검증 — Resolution 단계"] direction LR Compliance["Compliance Agent\n규정 준수 검증"] Security["Security Agent\n보안 검증"] Knowledge["Knowledge Agent\n정책·규정 참조"] end subgraph Fulfillment["병렬 이행 — Seller 단계"] Shipping["Shipping Agent\n제품 반송 처리"] end subgraph PostProcess["사후 처리 (병렬)"] direction LR Feedback["Feedback Agent\n고객 피드백 수집"] Analytics["Analytics Agent\n데이터 분석"] Audit["Audit Agent\n프로세스 감사"] Reporting["Reporting Agent\n보고서 생성"] Quality["Quality Agent\n품질 검증"] end Escalation["Escalation Agent\n상위 지원 에스컬레이션"] Notification["Notification Agent\n단계별 고객 알림"] Customer --> Resolution Resolution -->|"이슈 복잡"| Escalation Resolution --> Compliance & Security & Knowledge Compliance & Security & Knowledge --> Seller Seller --> Payment & Shipping Customer & Seller & Payment --> Notification Payment --> Feedback & Analytics & Audit & Reporting & Quality
범용 에이전트(Shipping, Notification, Escalation 등)는 다른 프로세스에서도 재사용할 수 있어 시스템 전체의 모듈성과 확장성을 높입니다.

Summary

Lesson 08 Summary
Mermaid
flowchart LR Root["Multi-Agent\nDesign Pattern"] Root --> Why["Why Multi-Agent?"] Root --> Blocks["Building Blocks"] Root --> Patterns["Patterns"] Root --> Code["WorkflowBuilder"] Root --> Vis["Visibility"] Why --> W1["Specialization"] Why --> W2["Scalability"] Why --> W3["Fault Tolerance"] Blocks --> B1["Communication"] Blocks --> B2["Coordination"] Blocks --> B3["Architecture"] Patterns --> P1["Group Chat"] Patterns --> P2["Hand-off"] Patterns --> P3["Collaborative\nFiltering"] Code --> C1["create_agent x N"] Code --> C2["WorkflowBuilder\n+ add_edge"] Code --> C3["stream output"] Vis --> V1["Logging"] Vis --> V2["Visualization"] Vis --> V3["Metrics"]
  • Multi-Agent System은 Specialization·Scalability·Fault Tolerance로 단일 에이전트의 한계를 극복합니다
  • WorkflowBuilderadd_edge로 에이전트를 순차 파이프라인으로 연결하고, 기존 코드 수정 없이 새 에이전트를 추가해 확장합니다
  • Group Chat·Hand-off·Collaborative Filtering 세 가지 패턴으로 에이전트 간 통신·조율 방식을 선택합니다
  • 에이전트 수가 많아질수록 Logging·Visualization·Performance Metrics로 상호작용 가시성을 확보하는 것이 중요합니다
Jooojub
System S/W engineer
Explore Tags
Series
    Recent Post
    © 2026. jooojub. All right reserved.