다중 에이전트 패턴은 에이전트 간 상호작용이 필요합니다. 에이전트들은 안전한 메망스 형태로 참여하며, 각 에이전트는 신호를 교환하고 작업을 조정하는 모범적인 참여자입니다.
최소 권한, 단순성, 감사 가능성, 견고한 거버넌스 원칙을 사용하여 크로스 에이전트 및 도구 호출을 구현합니다. 복잡성을 줄이기 위해 내부 흐름은 가능한 경우 플랫폼 네이티브 오케스트레이션을 선호하고, 도구와 데이터에 안전하고 인증된 접근을 위해 모델 컨텍스트 프로토콜(MCP)을 사용하세요. 게시된 계약서와 MCP 프론팅 에이전트와의 크로스 플랫폼 에이전트 통합을 위해 Linux Foundation의 Agent2Agent(A2A) 프로토콜을 사용하세요. 네이티브 MCP 및 A2A 지원을 제공하는 공개된 소프트웨어 개발 키트(SDK)를 사용하여 연결된 에이전트의 보안 및 관리를 표준화합니다.
복잡한 사용 사례는 마젠틱, 직렬, 동시 에이전트 유형의 하이브리드를 포함할 수 있습니다. 예를 들어, 문서 생성 워크플로우는 템플릿 선택, 근거 콘텐츠 생성, 준수 검사 등 직렬 단계와 여러 준수 점검이 병행하는 동시 워크플로우를 모두 필요로 할 수 있습니다. 워크플로우 내에서 단순 및 복잡한 마젠틱 에이전트 유형 모두 사용할 수 있습니다.
다중 에이전트 상호작용 권고
내부 플로우를 하위 에이전트와 함께 할 경우 플랫폼 네이티브 오케스트레이션을 선호하여 오케스트레이션을 간단하게 유지하세요.
Microsoft 365 서비스 도구를 포함한 도구 및 데이터 접근에는 MCP를 사용하세요. 기업용 보안, 인증, 감사를 통해 에이전트에게 데이터와 행동을 제공하는 권장 방법입니다.
에이전트 간 크로스 플랫폼 메시징에 A2A를 사용하세요. 역량 발견 및 작업 계약 설계. 에이전트가 "에이전트 카드"(능력)를 공개하도록 요구하고, A2A의 작업 및 아티팩트 모델을 사용해 워크플로우가 런타임 전반에 걸쳐 장기 실행 작업을 발견, 호출, 추적할 수 있도록 해야 합니다.
MCP 또는 A2A를 통해 성숙하거나 추상화된 에이전트를 통합하여 논리 재구현을 피하고 재사용과 종단 간 추적성 및 제어를 개선합니다.
공개된 SDK를 사용하여 보안, 등록, 관측성을 표준화하기 위해 연결된 외부 에이전트를 통합합니다.
Agent 365와 같은 프레임워크를 통해 통제 평면 계층에서 정책과 감사를 강제하여 에이전트가 준수하고 관찰 가능하게 유지되도록 합니다.
데이터 조회나 작업을 위한 워크플로우 단계와 같은 MCP 호스팅 도구를 호출할 때는 최소 권한 범위를 사용하세요.
표면적을 제한하고 성능을 향상시키기 위해, 필요한 경우 단계와 구성 요소 간 타입 페이로드의 검증을 사용하고, 정의된 스키마와 필요한 컨텍스트 패스를 사용합니다. 에이전트가 오류 메시지에 따라 스스로 수정할 수 있도록 기술적 오류를 설계하세요.
병렬성을 설계하고, 에이전트 간 맥락을 엄격히 필요한 범위로 제한하며, 중복 작업을 피하기 위해 단기 기억을 활용하세요.
사용자를 워크플로우에 포함시키고, 에이전트가 협업할 때 소통하세요. 고영향력 교차 에이전트 행동에 대해서는 인간의 승인을 요구합니다. 긴 실행 단계와 표면 요약을 취소하고 건너뛰는 것을 허용하세요. 상충하는 출력을 조화시키세요.
에이전트 아키텍처에서 MCP 및 A2A 평가
MCP(모델 컨텍스트 프로토콜)와 A2A(리눅스 재단의 Agent2Agent)는 에이전트 애플리케이션 구축을 위한 상호 보완적인 오픈 소스 표준입니다.
두 표준 모두 클라이언트-서버 흐름과 기술 발견에 유사한 기능을 제공합니다. 다음 표는 각 프로토콜이 여러 에이전트를 연결하는 방법을 선택할 때 명확한 차별점을 가지는 위치를 나열합니다.
| Capability | MCP | A2A |
|---|---|---|
| 멀티모달리티 | MCP 호스트 지원 필요 | 지원되는 미디어 유형의 광고를 통해 강한 타입 데이터 교환을 가능하게 합니다. |
| 사전 알림 및 구독 | 시스템 알림 지원 | 시스템 및 콘텐츠 알림. |
| 다중 턴 상호작용 | MCP 서버는 선택적으로 추가 정보를 이끌어낼 수 있습니다. 컨텍스트 관리는 호스트에 남아 있습니다. | contextId는 에이전트 간 컨텍스트 관리를 가능하게 합니다. 하나의 맥락 내에 여러 작업이 존재할 수 있습니다. "입력 필요"는 MCP 유도와 동일합니다. |
| 오케스트레이션 | MCP 호스트는 어떤 도구를 호출하고 최종 출력물을 합성할지 조율합니다 | Invoked Agent는 자체적인 사고 연쇄와 조율을 사용합니다. 도구/API는 요청하는 에이전트에게 불투명합니다. |
| 협상 | 새로운 모달리시나 기능에 대해 MCP 클라이언트 업데이트가 필요합니다 | 지원되는 플로우에 대한 동적 협상은 서비스 업데이트에 더 견고합니다. |
MCP는 에이전트가 API, 데이터 소스 또는 기타 에이전트와 같은 외부 객체와 상호작용할 수 있는 간단하고 직관적인 방법을 제공합니다. 단일 오케스트레이터가 결과를 선택, 호출, 필터링, 추론, 종합할 수 있도록 강력한 제어를 제공합니다. 이 프로토콜은 유연성과 역동성보다 추론과 가중치를 통제하는 것을 선호하는 상황에 적합합니다.
A2A는 에이전트들이 서로 불투명하거나 불투명해야 하는 상황에 더 적합합니다. 예를 들어, 다중 에이전트 흐름이 외부 에이전트나 두 개의 서로 다른 엔지니어링 조직이 소유한 에이전트의 입력을 필요로 할 경우입니다. 협상 지원은 서비스가 새로운 기능을 공개할 때 클라이언트-서버 코드 업데이트에 대한 의존도를 줄여줍니다.
더 알아보세요: