상세 컨텐츠

본문 제목

A2A 프로토콜 가이드 (1): 에이전트 상호 운용성을 위한 서막, A2A와 MCP

IT/Agentic AI

by HarimKang 2025. 5. 10. 09:05

본문

최근 인공지능 시스템은 단일 에이전트의 한계를 넘어, 여러 전문 에이전트가 서로 협력하여 복잡한 문제를 해결하는 '다중 에이전트 시스템'으로 진화하고 있습니다. 이러한 다중 에이전트 아키텍처는 마치 팀을 이루어 복잡한 문제를 해결하는 전문가 팀과 같습니다. 각 에이전트는 특정 분야에 특화된 독립적인 개체로서 고유한 역할과 문맥을 가지며, 공통 목표 달성을 위해 서로 소통하고 협력합니다.

다중 에이전트 시스템은 단일 에이전트 시스템에 비해 향상된 정확도, 효율성, 복잡한 작업 처리 능력, 확장성, 내결함성, 그리고 환각 및 편향 감소와 같은 여러 가지 장점을 제공합니다. 특히 자동차 AI와 같은 실제 환경에서 이러한 다중 에이전트 아키텍처의 이점은 더욱 두드러집니다. 이러한 다중 에이전트를 구성하기 위해서는 Agent간의 통신이 필요합니다.

최근 Google은 A2A 라는 Agent-to-Agent 프로토콜에 대해서 발표했습니다. 저는 해당 내용을 학습하고 정리하고자 합니다. 해당 내용은 모두 Agent2Agent Protocol (A2A) 문서를 바탕으로 작성하였습니다.

왜 프로토콜이 필요할까요? 🤔

이처럼 여러 에이전트가 협력하기 위해서는 서로 다른 에이전트들이 정보를 교환하고 상호 작용할 수 있는 표준화된 방식이 필수적입니다. 표준 프로토콜은 에이전트 간 상호 운용성을 가능하게 하는 데 핵심적인 역할을 합니다. 특히 에이전트들을 외부 시스템과 연결하는 데 중요하며, 이는 도구(Tools)에이전트(Agents)라는 두 가지 에이전트 시스템을 구성하는 영역에서 중요하게 작용합니다.

  • 도구 (Tools): 구조화된 입력 및 출력을 가지며 예측 가능한 동작을 하는 원시적인 요소들입니다.
  • 에이전트 (Agents): 도구를 사용하고, 추론하며, 사용자 상호 작용을 통해 새로운 작업을 달성할 수 있는 자율적인 애플리케이션입니다.

에이전트 기반 애플리케이션은 사용자 목표 달성을 위해 도구와 에이전트 모두를 사용해야 합니다.

MCP (Model Context Protocol)와 A2A (Agent-to-Agent)

다중 에이전트 생태계에서 핵심적인 두 가지 프로토콜로 MCP (Model Context Protocol)A2A (Agent-to-Agent)가 부상하고 있습니다.

  • MCP (Model Context Protocol): LLM을 데이터, 리소스 및 도구와 연결하기 위한 표준으로 떠오르고 있습니다. MCP는 다양한 모델 및 프레임워크 전반에 걸쳐 함수 호출(function calling)을 표준화하며, 도구 서비스 제공업체 생태계를 조성하고 에이전트가 도구 및 데이터에 연결하는 복잡성을 극적으로 낮추고 있습니다.

  • A2A (Agent-to-Agent): MCP와는 다른 문제에 집중합니다. A2A는 애플리케이션 레벨 프로토콜로서 에이전트들이 자연스러운 양식(modality)으로 협업할 수 있도록 합니다. A2A는 에이전트들이 도구로서가 아닌 에이전트로서 (또는 사용자로서) 통신할 수 있게 해줍니다. A2A는 에이전트 생태계의 발전을 가능하게 하는 MCP의 보완재로서 기대를 모으고 있습니다.

즉, Agentic 애플리케이션은 A2A와 MCP 모두 필요로 합니다. 우리는 도구를 위해서는 MCP를, 에이전트를 위해서는 A2A를 추천합니다.

A2A와 MCP의 상호 보완성 ✨

A2A와 MCP는 서로 다른 역할을 수행하며 상호 보완적인 관계를 가집니다. 마치 자동차 수리점의 직원(에이전트)과 그들이 사용하는 특수 공구(도구)의 관계에 비유할 수 있습니다.

예를 들어, 고객의 자동차 수리 요청을 처리하는 자율 작업자(AI 에이전트)들이 있다고 상상해 봅시다. 이들은 차량 잭, 멀티미터, 렌치와 같은 특수 목적 도구(Tools)를 사용하여 문제를 진단하고 수리합니다.

  • 이 에이전트들이 도구(공구)와 연결될 때MCP 프로토콜이 사용됩니다. 예를 들어, "플랫폼을 2미터 올리라"거나 "렌치를 오른쪽으로 4mm 돌리라"는 등의 구조화된 명령 전달에 MCP가 활용될 수 있습니다.
  • 반면, 최종 사용자나 다른 에이전트들이 자동차 수리점 직원(에이전트)과 소통할 때는 A2A 프로토콜이 사용됩니다. "제 차에서 덜컹거리는 소리가 나요"와 같은 사용자 문의 에 대해 에이전트는 "왼쪽 바퀴 사진을 보내주세요", "액체가 새고 있네요. 언제부터 그랬나요?"와 같은 지속적인 양방향 통신을 통해 해결 계획을 발전시킵니다. 또한, 부품 공급업체와 같은 다른 에이전트들과 협력할 때도 A2A가 사용됩니다.

요약하자면, MCP는 LLM과 외부 도구/데이터 간의 표준화된 통신을 담당하고, A2A는 에이전트 간의 자연스러운 대화 및 작업 협력, 그리고 사용자/클라이언트와의 소통을 담당합니다. A2A를 사용하는 애플리케이션은 A2A 에이전트를 MCP 리소스(Agent Card로 표현)로 모델링할 수 있으며, 프레임워크는 A2A를 활용하여 사용자, 원격 에이전트 및 다른 에이전트와 통신합니다.

A2A의 핵심 요소 📝

A2A 프로토콜을 통해 에이전트들은 서로의 메모리, 사고 과정, 도구를 공유하지 않고도 컨텍스트, 상태, 지침 및 데이터를 교환하며 작업을 완료합니다. A2A는 단순함, 기업 대응성, 비동기 우선, 양식에 구애받지 않음, 불투명한 실행의 핵심 원칙을 가집니다.

A2A의 주요 구성 요소 및 개념은 다음과 같습니다.

  • Agent Card: A2A를 지원하는 원격 에이전트는 자신의 기능/기술 및 인증 메커니즘을 설명하는 JSON 형식의 Agent Card를 게시해야 합니다. 클라이언트는 이를 통해 최적의 에이전트를 식별하고 통신합니다. Agent Card는 공개(잘 알려진 경로), 큐레이션(레지스트리 기반), 비공개(API 기반) 등 다양한 방식으로 검색될 수 있습니다.
  • Task (작업): 클라이언트와 원격 에이전트가 특정 결과를 달성하기 위해 협력하는 상태 저장 엔티티입니다. 클라이언트와 원격 에이전트는 작업 내에서 메시지를 교환하고, 원격 에이전트는 결과물을 아티팩트로 생성합니다. 작업은 즉시 완료되거나 장시간 실행될 수 있으며, 에이전트가 추가 정보 요청, 위임, 다른 양식 협상 등을 수행할 수 있습니다.
  • Artifact (아티팩트): 작업의 최종 결과물로 에이전트가 생성하는 불변의 요소입니다. 이름 지정이 가능하고 여러 부분을 가질 수 있으며, 스트리밍 응답으로 기존 아티팩트에 추가될 수 있습니다.
  • Message (메시지): 아티팩트가 아닌 모든 콘텐츠를 포함합니다. 에이전트의 생각, 사용자 컨텍스트, 지침, 오류, 상태 또는 메타데이터 등이 될 수 있습니다. 클라이언트의 모든 콘텐츠는 메시지 형태이며, 에이전트는 상태 전달이나 지침 제공을 위해 메시지를 사용합니다. 메시지도 여러 부분을 가질 수 있습니다.
  • Push Notifications: A2A는 연결이 끊긴 상태에서도 에이전트가 클라이언트에게 업데이트를 알릴 수 있는 푸시 알림 메커니즘을 지원합니다. 이는 별도의 PushNotificationService를 통해 이루어지며, 특히 엔터프라이즈 환경에서 원격 에이전트의 신원을 확인하고 인증하는 것이 중요합니다.

또한, A2A는 HTTP를 전송 프로토콜로 사용하고 JSON-RPC 2.0을 데이터 교환 형식으로 활용하며, SSE를 통해 스트리밍 업데이트를 지원합니다. A2A는 에이전트를 표준 엔터프라이즈 애플리케이션으로 모델링하여 기존 인증, 보안, 개인 정보 보호, 추적, 모니터링 인프라와 원활하게 통합되도록 설계되었습니다.


다중 에이전트 시스템의 시대가 도래함에 따라, 에이전트들이 효과적으로 소통하고 협력하며 외부 시스템 및 사용자와 상호 작용하는 방식은 매우 중요해졌습니다. MCP가 도구와의 연결을 표준화하며 LLM의 활용성을 높이는 기반을 마련하고 있다면, A2A는 에이전트들이 본연의 역할을 수행하며 서로, 그리고 사용자와 자연스럽게 소통할 수 있는 기반을 제공합니다. 이 두 프로토콜은 상호 보완적으로 작동하며, 복잡한 에이전트 기반 애플리케이션과 서비스 생태계를 구축하는 데 필수적인 요소입니다.

다음 글에서는 A2A 프로토콜의 기본 이해: 원칙, 역할, 통신 방식에 대해 더 자세히 알아보겠습니다.


(해당 글은 구글의 A2A documentations 내용을 정리한 문서를 참고하여 작성되었습니다.)

반응형

관련글 더보기