Agent2Agent (A2A)

1. Agent2Agent (A2A)의 개요

(1) Agent2Agent (A2A)의 개념 및 필요성

개념멀티 에이전트형 시스템 구현을 위해 AI 에이전트 간 JSON-RPC, SSE 표준 기반 상호작용하며 작업을 조율하는 개방형 프로토콜
필요성Agent2Agent 필요성

(2) Agent2Agent (A2A)의 특징

  • 에이전트에 유용한 도구와 컨텍스트를 제공하는 MCP(Model Context Protocol) 보완
  • 대규모 멀티 에이전트형 시스템을 배포하는 과정에서 식별된 문제를 해결
  • 다양한 공급자의 에이전트를 결합할 수 있는 유연성 제공
  • 다양한 플랫폼과 클라우드 환경에서 에이전트 관리 위한 표준화된 방법 제공

 

2. A2A의 구성도 및 구성 요소

(1) A2A의 구성도

Agent2Agent 구성도

(2) A2A의 구성요소

구분구성요소역할
Agent
측면
사용자
(User)
– 에이전트 도움이 필요한 요청이나 목표를 정의하는 최종 사용자(인간 또는 자동화된 서비스)
A2A 클라이언트
(Client Agent)
– 사용자를 대신하여 원격 에이전트에 작업이나 정보를 요청하는 App 또는 다른 AI 에이전트
A2A 서버
(Remote Agent)
– HTTP 엔드포인트를 통해 연결하는 원격 AI 에이전트
– 클라이언트로부터 요청 수신, 작업 처리, 결과/상태 반환
A2A
연동 측면
에이전트 카드
(Agent Card)
– 클라이언트 에이전트가 적합한 원격 에이전트를 선택하기 위해 참조하는 JSON 메타데이터 문서
– Agent ID, 엔드포인트, URL, 버전, A2A 기능, 입출력 방식
태스크 (Task)– 에이전트 간 주고 받는 작업의 단위로, 상태 기반으로 관리
– 고유 ID, 정의된 수명주기(제출됨, 작업중, 실패 등)
메시지
(Message)
– 클라이언트와 에이전트 간 단일 통신 또는 통신 단위
– 지침, 컨텍스트, 질문, 답변 또는 상태 업데이트를 전달
파트 (Part)– 메시지 또는 아티팩트 내 콘텐츠의 기본 단위
– 텍스트 파트, 파일 파트, 데이터 파트
아티팩트
(Artifact)
– 작업 처리 중 원격 에이전트가 생성하는 실질적인 출력/결과
– 문서, 이미지, 구조화된 데이터 결과 또는 작업 결과 정보
  • A2A는 MCP와 달리 도구를 사용하는 것이 아닌 원격 에이전트와 JSON-RPC, SSE 등 표준 기반 상호작용하여 다중 에이전트를 구현

 

3. A2A의 설계 원칙 및 상호작용 메커니즘

(1) A2A의 설계 원칙

#설계 원칙구현 방안
에이전트 기능 활용– 도구, 컨텍스트를 공유하지 않더라도 비정형 방식으로 협업에 중점
– 에이전트를 “도구”에 국한시키지 않고 다중 에이전트 시나리오 구현
개방형 표준 준수– HTTP, SSE, JSON-RPC 등 표준을 기반으로 구축
– 기존 IT 스택과 쉽게 통합하여 상호 운용성을 보장
기본적으로 보안 강화– OpenAPI 인증 체계를 따르고 엔터프라이즈급 보안을 제공
– 출시 시점부터 인증 및 권한 부여를 지원하도록 설계
장기 실행 작업 지원– A2A는 백그라운드 작업, 사용자 참여형 승인 및 스트리밍 작업 처리
– 처리중 사용자에게 실시간 피드백, 알림 및 상태 업데이트를 제공
모달리티 독립적– 에이전트 세계는 텍스트에만 국한되지 않고 다양한 모달리티를 지원
– 이미지, 오디오, HTML, JSON, 기타 구조화/비구조화 형식을 처리

(2) A2A의 상호작용 환경에 따른 동작 메커니즘

상호작용 환경메커니즘상세 수행 방식
상태 저장형 장기 실행 작업 필요한 경우Request
/Response
(Polling)
① 클라이언트는 message/send RPC 메서드 등으로 전송
② 서버로부터 응답 수신 후 서버는 처음 작동 상태로 응답
③ 이후 클라이언트는 작업이 종료 상태(완료, 실패)에 도달할 때까지 주기적으로 task/get 메서드를 호출하여 업데이트 폴링
점진적 결과 생성, 실시간 진행 상황 업데이트 제공 필요 경우Streaming
(Server-
SentEvents, SSE)
① 클라이언트는 메시지/스트림사용하여 서버와 상호작용시작
② 서버는 열려 있는 HTTP 연결로 응답하고, 이 연결을 통해 서버 전송 이벤트(SSE) 스트림을 전송
③ 서버는 Agent Card에 스트리밍 기능을 광고
장기 실행 작업, 지속적 연결 유지가 어려운 경우Push Notifications① 클라이언트는 작업 시작 시 웹훅 URL을 제공
② 작업 상태가 크게 변경되는 경우, 서버는 클라이언트가 제공한 웹훅으로 비동기 알림(HTTP POST 요청) 전송
③ 서버는 Agent Card에 pushNotifications 기능을 광고
  • A2A의 메커니즘 중 다른 중요한 요소 컨텍스트, 전송 양식, 인증/인가 등이 있으며, 에이전트 간 상호작용하는 A2A는 도구/API와 연결하는 프로토콜인 MCP와 차이점 존재

 

4. A2A와 MCP 비교

비교 항목A2A (Agent2Agent)MCP (Model Context Protocol)
사용 목적에이전트 간 직접 통신 및 협업에이전트와 도구/API 연결
특징비동기 처리, 다중 에이전트 협업컨텍스트 효율성, 병렬 처리
핵심 기능태스크, 메시지, 아티팩트 기반 협업함수 호출, API 연동
통신 방식동적, 비구조화, 멀티모달 기반구조화된 입력/출력 기반
  • A2A와 MCP 두 프로토콜은 서로 다른 목적을 위해 설계되어 상호 보완적 관계이며, 멀티 에이전트 시스템에서 병행하여 운영되면 시너지를 발휘할 것으로 전망

 
[참고]

  • Google for Developers, Agent2Agent(A2A) 프로토콜 발표, 2025.4
  • Google Cloud, A2A Overview, 2025.4
  • datacamp, Google’s Agent2Agent Protocol (A2A), 2025.5

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^