Douglas' Space
Google의 Agent2Agent (A2A) 프로토콜 본문
Google의 Agent2Agent (A2A) 프로토콜
똘키아빠 2025. 4. 13. 21:47
■ Agent2Agent (A2A) 프로토콜 정의
Agent2Agent (A2A) 프로토콜은 Google이 주도하여 개발한 개방형 프로토콜 사양으로, 서로 다른 플랫폼과 프레임워크 기반으로 구축된 AI 에이전트들이 서로를 발견하고, 안전하게 통신하며, 정보를 교환하고, 상호 작용을 협상하며, 행동을 조율할 수 있도록 설계된 표준화된 통신 계층이다. 이는 개별 에이전트의 내부 구현 세부 사항을 숨기는 추상화 계층 역할을 한다.
■ 핵심 아키텍처: 클라이언트 및 원격 에이전트
A2A는 두 가지 주요 에이전트 역할, 즉 클라이언트 에이전트(Client Agent)와 원격 에이전트(Remote Agent)를 정의한다.
- 클라이언트 에이전트: 외부 전문 지식이 필요한 작업을 식별하고 시작하는 주체이다. 적절한 원격 에이전트를 찾고, 작업 요청을 생성하며, 수신된 응답을 활용하는 역할을 담당한다.
- 원격 에이전트: 클라이언트 에이전트가 보낸 작업을 처리하고 필요한 정보나 특정 작업을 완료하여 결과를 반환하는 전문화된 개체이다.
기본적으로 에이전트들은 공유 메모리나 도구 없이 독립적으로 작동하며, 구조화된 메시지를 통해 정보를 교환한다. 통신은 작업 중심으로 이루어지며, 에이전트들은 내부 구현 로직을 노출하지 않고 정의된 입력과 출력을 기반으로 상호 작용한다.
■ 전송 계층 및 표준
A2A는 데이터 전송을 위해 널리 사용되는 웹 기술을 기반으로 한다.
- HTTP(S): 주 전송 계층으로 사용되어 표준 웹 통신을 기반으로 하므로 기존 시스템 및 개발 도구와의 통합이 용이하다.
- JSON-RPC 2.0: 요청/응답 상호 작용에 사용되는 프로토콜이다.
- 서버 전송 이벤트(Server-Sent Events, SSE): 장기 실행 작업 중 실시간 데이터 스트리밍 업데이트를 위해 사용된다. 예를 들어, tasks/sendSubscribe 엔드포인트를 통해 원격 에이전트가 작업 진행 상황을 클라이언트 에이전트에게 실시간으로 스트리밍할 수 있다. 이는 복잡한 작업 처리 시 유용하다.
■ A2A 대 MCP: 보완적 프로토콜인가, 경쟁적 표준인가?
Google의 A2A 프로토콜이 발표되면서, 특히 Anthropic이 주도하는 모델 컨텍스트 프로토콜(MCP)과의 관계에 대한 논의가 활발하다. 두 프로토콜 모두 AI 에이전트 시스템 개발을 촉진하기 위한 개방형 표준을 목표로 하지만, 초점을 맞추는 영역에서 차이가 있다. Google의 설명에 따르면, AI 에이전트 시스템 구축에는 두 가지 계층이 필요하다.
- 도구 및 데이터 통합: 에이전트/LLM이 외부 소스 및 도구에 접근하는 표준 방식. MCP가 주로 이 범주에 속한다.
- 에이전트 간 통신: 에이전트들이 서로 상호 작용하는 방식을 결정하는 표준 방식. A2A가 이 두 번째 범주에 초점을 맞춘다.
Google은 A2A가 에이전트 간의 통신 및 조정("정비공 간의 대화")에 집중하는 반면, MCP는 에이전트의 도구/데이터 상호 작용("도구 사용을 가능하게 하는 렌치")에 더 가깝다고 설명한다. 이를 설명하기 위해 "자동차 정비소" 비유가 사용된다. 이 비유에서 MCP는 에이전트가 구조화된 도구(예: 렌치를 오른쪽으로 4mm 돌려라)와 상호 작용하는 프로토콜에 해당하고, A2A는 최종 사용자나 다른 에이전트가 정비소 직원(AI 에이전트)과 상호 작용(차가 덜컹거리는 소리가 나요, 부품 공급업체와의 통신)하는 프로토콜에 해당한다.
■ 기능 비교: A2A 대 MCP
특징 (Feature) | A2A | MCP |
주요 초점 (Primary Focus) | 에이전트 간 통신, 협업, 작업 조정 | 에이전트/모델과 외부 도구/데이터 소스 간의 연결 및 상호 작용 |
통신 유형 (Communication Type) | 에이전트 <-> 에이전트 ("정비공 간 대화") | 에이전트/모델 <-> 도구/데이터 ("렌치 사용") |
핵심 개념 (Key Concepts) | 에이전트 카드, 작업(Task), 메시지, 파트, 아티팩트, 스트리밍(SSE), 푸시 알림 | MCP 호스트, MCP 서버, 컨텍스트 제공 |
발견 (Discovery) | 에이전트 카드 (/.well-known/agent.json)를 통한 동적 발견 | 명시적인 서버 URL 필요 (예: https://gmail.com/mcp) |
모달리티 처리 (Modality Handling) | 텍스트, 구조화된 데이터, 파일, 오디오/비디오 스트리밍 등 명시적 지원 | 주로 도구 상호 작용에 필요한 데이터 형식에 초점 |
벤더 지원 (Vendor Backing) | Google 주도, 50+ 파트너 (Salesforce, SAP, ServiceNow 등) | Anthropic 주도, 커뮤니티 기반 |
커뮤니티 인식 (Community Perception) | 보완적이라는 Google 주장 vs. 경쟁/중복 가능성, 복잡성 우려, Google의 전략적 의도에 대한 의문 | 상대적으로 더 성숙, 도구 연결에 유용, A2A와의 관계 불확실 |
'Computing Tech. Diary > Artificial Intelligence' 카테고리의 다른 글
RouterDC: 듀얼 대비 학습을 통한 쿼리 기반 라우터 (0) | 2025.06.13 |
---|---|
모델 컨텍스트 프로토콜(MCP): AI 통합의 새로운 표준과 미래 전망 (0) | 2025.04.13 |
분류 모델(Classification Model)의 평가 지표 (0) | 2024.11.24 |
회귀 모델(Regression Model)의 평가지표 (0) | 2024.11.23 |
chatGPT에 대해서 (2) | 2023.03.25 |