PART 4 · 강의 1/3
AI 에이전트
오케스트레이션
여러 AI 에이전트를 조율하여 복잡한 작업을 수행하는 아키텍처 패턴을 학습합니다.
01
에이전트 오케스트레이션이란?
다수의 AI 에이전트를 조율하는 아키텍처
🎯
문서 분석
코드 생성
검색 에이전트
테스트 생성
데이터 분석
📌 에이전트 오케스트레이션의 핵심 개념
- 중앙 조율자 (Orchestrator) — 전체 워크플로우를 관리하고 에이전트 간 작업을 분배
- 전문화된 에이전트 — 각각 특정 도메인이나 작업에 특화된 AI 에이전트
- 작업 분해 (Task Decomposition) — 복잡한 작업을 작은 단위로 분해하여 할당
- 결과 통합 (Result Aggregation) — 각 에이전트의 결과를 수집하고 통합
02
에이전트 조율 패턴
다양한 멀티에이전트 아키텍처 패턴들
순차적 파이프라인 (Sequential)
에이전트들이 순서대로 작업을 처리합니다. 이전 에이전트의 출력이 다음 에이전트의 입력이 됩니다. 문서 처리, 데이터 변환 파이프라인에 적합합니다.
병렬 팬아웃 (Parallel Fan-out)
하나의 작업을 여러 에이전트에게 동시에 분배합니다. 독립적인 하위 작업 처리, 다중 관점 분석에 효과적입니다.
반복적 개선 (Iterative Refinement)
여러 에이전트가 결과물을 반복적으로 개선합니다. 코드 리뷰, 문서 편집, 품질 향상에 사용됩니다.
합의 기반 (Consensus-based)
여러 에이전트가 독립적으로 판단하고 투표나 합의를 통해 최종 결정을 내립니다. 정확도가 중요한 분류 작업에 적합합니다.
💡 패턴 선택 가이드
작업의 특성에 따라 적절한 패턴을 선택하세요. 순차적 의존성이 있으면 파이프라인, 독립적 작업이면 병렬, 품질 향상이 목적이면 반복적 개선, 정확도가 중요하면 합의 기반 패턴이 적합합니다.
03
워크플로우 설계
효과적인 에이전트 워크플로우 구축하기
입력 수신
사용자 요청
작업 분해
Task Decomposition
에이전트 할당
Task Routing
병렬 실행
Parallel Execution
결과 통합
Aggregation
응답 생성
Final Response
orchestrator.py
class AgentOrchestrator:
def __init__(self):
self.agents = {
'analyzer': DocumentAnalyzer(),
'coder': CodeGenerator(),
'reviewer': CodeReviewer(),
'tester': TestGenerator()
}
async def process_request(self, request):
# 1. 작업 분해
tasks = await self.decompose_task(request)
# 2. 병렬 실행
results = await asyncio.gather(
*[self.execute_task(task) for task in tasks]
)
# 3. 결과 통합 및 반환
return await self.aggregate_results(results)
04
MCP 프로토콜
Model Context Protocol - 에이전트 통신 표준
MCP 아키텍처
CLIENT
MCP 클라이언트
AI 모델, 애플리케이션, IDE 플러그인 등 MCP 서버에 연결하는 소비자
PROTOCOL
JSON-RPC 메시지 프로토콜
표준화된 요청/응답 형식, 리소스 접근, 도구 호출, 프롬프트 관리
SERVER
MCP 서버
파일 시스템, 데이터베이스, API, 외부 서비스 등 리소스 제공자
📌 MCP의 핵심 기능
- Resources — 파일, 데이터베이스, API 응답 등 컨텍스트 데이터 제공
- Tools — 에이전트가 호출할 수 있는 함수 및 기능 정의
- Prompts — 재사용 가능한 프롬프트 템플릿 관리
- Sampling — 서버가 클라이언트에게 LLM 완성을 요청하는 역방향 호출
05
A2A 통신
Agent-to-Agent 통신 패턴
직접 메시징
에이전트 간 직접적인 요청/응답 통신. 동기적이며 즉각적인 응답이 필요한 경우 사용
메시지 큐
비동기 통신을 위한 메시지 큐 활용. 느슨한 결합과 확장성 제공
이벤트 브로드캐스트
Pub/Sub 패턴으로 여러 에이전트에게 동시 알림. 상태 변경 전파에 효과적
🎬 에이전트 통신 시뮬레이션
⚠️ A2A 통신 설계 시 주의사항
에이전트 간 통신은 명확한 계약(Contract)을 정의해야 합니다. 메시지 형식, 에러 처리, 타임아웃, 재시도 정책 등을 사전에 설계하여 안정적인 멀티에이전트 시스템을 구축하세요.
SUMMARY
핵심 요약
- 에이전트 오케스트레이션은 여러 전문화된 AI 에이전트를 조율하여 복잡한 작업을 수행하는 아키텍처 패턴이다
- 주요 조율 패턴: 순차적 파이프라인, 병렬 팬아웃, 반복적 개선, 합의 기반
- 워크플로우 설계: 작업 분해 → 에이전트 할당 → 병렬 실행 → 결과 통합
- MCP 프로토콜은 AI 모델과 외부 리소스 간 표준화된 통신을 제공한다
- A2A 통신은 직접 메시징, 메시지 큐, 이벤트 브로드캐스트 패턴으로 구현할 수 있다