MCP를 넘어서려는 Google A2A 시스템, 어떻게 작동할까?

MCP를 넘어서 A2A로

2025년 Google이 발표한 A2A(Agent-to-Agent) 프로토콜은 다양한 AI 에이전트가 자율적으로 통신하고 협업할 수 있도록 설계된 범용 상호운용성 표준이다. A2A는 서로 다른 언어, 프레임워크, 벤더에 기반한 에이전트들이 마치 전문가 집단처럼 협력할 수 있는 기반을 제공하며, 예를 들어 고객 상담 요청이 들어올 경우 하나의 에이전트가 고객 정보를 수집하고, 다른 에이전트가 상품을 추천하며, 또 다른 에이전트가 결제 처리를 담당하는 식으로 역할을 분담해 유기적으로 작동할 수 있다.

이는 개방형 생태계 조성을 위한 핵심 기술로 작용한다. 다양한 조직이나 개발자가 독립적으로 개발한 에이전트들이 공통된 프로토콜을 통해 상호작용함으로써, 플랫폼 종속 없이 서비스 간 통합이 가능하고 새로운 에이전트가 생태계에 쉽게 참여할 수 있는 환경이 마련된다.

설계철학

A2A는 다음 다섯 가지 설계 원칙을 따른다.

  • 에이전트 간 자율 협업: 각 에이전트는 독립적이며, 명시적인 메시지를 통해 협력한다.
  • 표준 기술 기반: HTTP, JSON-RPC 2.0, SSE 등 검증된 웹 기술을 활용하여 높은 호환성을 확보한다.
  • 보안 중심 설계: OAuth 2.0, API 키, mTLS 등 다양한 인증 방식으로 보안성과 유연성을 제공한다.
  • 장기 실행 태스크 지원: 몇 초에서 며칠까지 걸릴 수 있는 작업을 처리할 수 있도록 비동기 통신과 상태 스트리밍을 지원한다.
  • 모달리티 무관 메시지: 텍스트, 이미지, 오디오, 비디오 등 다양한 형식의 메시지를 지원한다.

A2A와 MCP 비교

항목A2AMCP
목적에이전트 간 협업LLM과 도구 간 상호작용
아키텍처피어 투 피어(Peer-to-Peer)중앙 집중형(Client ↔ Tool)
메시지 유형Task, Message, ArtifactPrompt, ToolCall, ToolResult
프로토콜HTTP/S + JSON-RPC, SSE, WebhookHTTP/S 기반 JSON-RPC
상태 관리명시적 상태 필드로 관리내장된 상태 없음

MCP는 하나의 LLM이 툴을 호출하는 구조에 최적화된 인터페이스이고,
A2A는 수평적으로 구성된 여러 에이전트 간의 협업을 중점으로 한다. 이 둘은 상호 보완적으로 사용될 수 있다.

A2A 아키텍처 개요

아키텍처 다이어그램
출처 : https://blog.dailydoseofds.com/p/a-visual-guide-to-agent2agent-a2a

이 구조는 클라이언트가 태스크를 생성하고 복수의 원격 에이전트에게 분산 실행을 위임하는 방식으로 설계되어 있으며, 각 에이전트는 명확한 역할을 수행한다.

핵심 구성 요소
  • 클라이언트 에이전트: 사용자 요청을 수신하고 적절한 원격 에이전트를 선택해 작업을 위임한다.
  • 원격 에이전트: 위임받은 작업을 수행하고 결과를 반환한다.
  • 에이전트 카드 (Agent Card): JSON 포맷의 메타데이터로, 에이전트의 기능, API, 인증 요구사항 등을 명시한다.
태스크 생명주기
상태설명
submitted태스크가 생성되어 전송됨
working작업이 진행 중임
input-required추가 정보가 필요함
completed작업이 성공적으로 완료됨
failed작업 중 오류 발생
canceled사용자 또는 시스템에 의해 취소됨
메시지 구조
  • role: 메시지 발신 주체 (user 또는 agent)
  • parts: 콘텐츠 파트 (텍스트, JSON, 파일 등)
    예시:
{
  "role": "agent",
  "parts": [
    {"type": "text", "content": "다음 정보를 확인했습니다."},
    {"type": "json", "content": {"status": "completed", "summary": "3개의 파일을 처리했습니다."}}
  ]
}

선택 필드:

  • context: 대화 또는 작업 수행과 관련된 현재의 논리적 상황 정보를 전달
  • metadata: 메시지에 대한 부가적인 정보를 담으며, 시스템 내부 처리나 로그 기록 등에 사용
  • history: 이전 메시지의 일부 또는 전체를 포함해 문맥을 유지하거나 되짚을 수 있도록 지원

통신 프로토콜 및 전송 방식

A2A는 다양한 통신 시나리오를 지원하기 위해 다음의 방식들을 제공한다:

  • JSON-RPC over HTTP: 요청-응답 기반 동기 호출
  • SSE(Server-Sent Events): 실시간 상태 알림
  • Webhook: 장기 작업 결과의 비동기 전송

상호작용 패턴과 기능

  • 다중 턴 대화 지원: input-required 상태를 통해 인터랙티브한 협업 가능
    • 예시: 문서 요약 중 추가 정보가 필요할 때 사용자에게 질의
  • 비동기 + 실시간 병행 처리: 상태 알림은 실시간, 응답 처리는 비동기
    • 예시: 파일 처리 작업은 완료까지 시간이 걸리지만 상태는 즉시 알림
  • 병렬 태스크 처리: 복수의 작업을 동시에 요청 및 처리 가능
    • 예시: 다국어 번역 요청을 여러 언어 에이전트에 동시에 전송
  • 역할 유연성: 에이전트는 클라이언트 또는 원격 실행자 역할을 상황에 따라 유동적으로 수행 가능
    • 예시: 한 에이전트가 정보를 수집한 뒤 다른 태스크에 실행자로 참여
  • 다중 턴 대화 지원: input-required 상태를 통해 인터랙티브한 협업 가능
    • 예시: 문서 요약 중 추가 정보가 필요할 때 사용자에게 질의
  • 비동기 + 실시간 병행 처리: 상태 알림은 실시간, 응답 처리는 비동기
    • 예시: 파일 처리 작업은 완료까지 시간이 걸리지만 상태는 즉시 알림
  • 병렬 태스크 처리: 복수의 작업을 동시에 요청 및 처리 가능
    • 예시: 다국어 번역 요청을 여러 언어 에이전트에 동시에 전송
  • 역할 유연성: 에이전트는 클라이언트 또는 원격 실행자 역할을 상황에 따라 유동적으로 수행 가능
    • 예시: 한 에이전트가 정보를 수집한 뒤 다른 태스크에 실행자로 참여

보안 모델

항목설명
인증OAuth 2.0, API 키, mTLS 등 다양한 인증 수단 제공
인가Scope 기반의 접근 권한 제어
전송 보안HTTPS, 필요 시 mutual TLS(mTLS) 사용
토큰 보호PKCE 및 짧은 수명의 액세스 토큰 활용
감사 및 추적태스크 ID 기반 요청 추적 및 감사 로그 기록 가능

에이전트 카드는 어떤 인증이 필요한지 사전에 정의하며, A2A는 Zero Trust 원칙을 기반으로 동작한다.

상태 및 컨텍스트 관리

  • 공유 상태 없음: 에이전트 간 상태는 공유되지 않으며, 모든 컨텍스트는 메시지를 통해 명시적으로 전달된다.
  • 컨텍스트 필드 활용: context, metadata, history를 통해 필요한 상태를 유지하거나 복원 가능하다.

에이전트 협업 전략

작업 계획 및 분해

클라이언트 에이전트는 사용자 목표를 분석해 복수의 하위 태스크로 나눈 뒤, 각 태스크를 적합한 원격 에이전트에 분배한다.

  • 예시: 여행 예약 요청이 들어오면, 항공권 검색, 호텔 예약, 현지 일정 추천 등으로 분할하여 각기 다른 전문 에이전트에게 위임함.
태스크 위임 (Delegation)

원격 에이전트는 더 적합한 에이전트가 있다고 판단되면 태스크를 위임할 수 있다.

  • 예시: 번역 에이전트가 문서 내 특정 전문 용어에 대해 법률 전문 번역 에이전트에 태스크를 재위임함.
조건 기반 협상 (Negotiation)

작업의 입력 형식, 처리 시간, 정확도 등 다양한 제약 조건에 따라 에이전트 간 협상이 가능하다.

  • 예시: 두 에이전트가 ’24시간 내 요약 제공’ 조건을 만족할 수 있는지 협의한 뒤, 작업을 수락하거나 거절함.
병렬 실행 및 후처리

여러 에이전트가 병렬로 태스크를 수행한 뒤, 결과를 병합하거나 조건에 따라 후속 작업을 트리거한다.

  • 예시: 상품 비교 요청에 대해 복수의 가격 조회 에이전트가 병렬로 검색하고, 클라이언트 에이전트가 결과를 통합해 최저가를 분석함.

오픈소스 및 활용 사례

A2A는 오픈소스 프로토콜로 제공되며 Python, TypeScript용 SDK가 우선 지원되고 있다.

적용 사례
  • 인사 자동화: 채용 요청 → 이력서 평가 → 면접 일정 조율 → 입사 처리 자동화
  • 정비 자동화: 센서 데이터 분석 → 이상 탐지 → 정비 예약 → 보고서 자동 생성
  • 정보 요약: 다중 소스 수집 → 요약 처리 → 맞춤 정보 제공

미래 비전: AI 생태계의 HTTP

A2A는 AI 시대의 HTTP를 지향하며, 다음과 같은 비전을 갖는다:

  • 상호운용성 극대화: 다양한 기술 스택 간 협업 가능
  • 에이전트 마켓플레이스 실현: 표준화된 Agent Card 기반으로 서비스 제공 및 탐색 가능
    • 예시: 사용자는 특정 업무(예: 계약서 검토)를 수행할 수 있는 에이전트를 마켓플레이스에서 검색해 선택하고, 해당 에이전트와 직접 연결해 과업을 수행할 수 있다. 이는 앱 스토어에서 앱을 설치하는 것처럼 원하는 기능을 가진 에이전트를 선택해 곧바로 활용할 수 있는 구조다.
  • 사용자 경험 통합: 에이전트 간 연결을 통해 일관된 사용자 경험 제공
  • 집단 지능 실현: 복잡한 문제를 다수의 에이전트가 협력해 해결 가능
    • 예시: 위기 대응 상황에서 의료, 물류, 번역, 커뮤니케이션 등 각기 다른 역할의 에이전트들이 협력하여 다국적 구호 활동을 조율하는 방식으로, 개별 AI가 단독으로 처리할 수 없는 복합적인 문제를 팀워크로 해결할 수 있다.

결론

Google A2A는 AI 에이전트 간 자율적 협업을 위한 새로운 표준을 제시한다. 이 프로토콜은 단일 시스템 중심의 한계를 넘어, 복수의 에이전트가 신뢰성과 확장성을 바탕으로 함께 일할 수 있도록 돕는다. 앞으로 A2A는 AI 생태계를 연결하는 핵심 인프라로 자리잡을 것이다.

또한, 향후 발전 가능성도 크다. 예를 들어, 다양한 산업에서 A2A 기반 워크플로우를 통해 업무 자동화가 가속화될 수 있으며, 각 기업은 자체 에이전트를 개발해 에이전트 생태계에 참여하게 될 것이다. 다만, 에이전트 간 신뢰 검증, 복잡한 협업 흐름의 표준화, 보안 이슈 등 해결해야 할 과제도 존재한다. 이러한 점들을 고려한 지속적인 개선이 A2A의 장기적인 성공에 핵심이 될 것이다.

출처

https://blog.dailydoseofds.com/p/a-visual-guide-to-agent2agent-a2a

https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/#:~:text=A2A%20facilitates%20communication%20between%20a,interaction%20involves%20several%20key%20capabilities

https://medium.com/@anil.jain.baba/agentic-mcp-and-a2a-architecture-a-comprehensive-guide-0ddf4359e152

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다