
A2A 프로토콜: AI 에이전트의 HTTP가 탄생했다 — Google이 만들고 Linux Foundation이 품은 표준
LangGraph 에이전트와 CrewAI 에이전트가 서로 대화할 수 있다면? A2A(Agent-to-Agent) 프로토콜은 AI 에이전트 간의 발견·통신·협업을 표준화한다. Google이 설계하고, 50개 이상의 기업이 지지하며, Linux Foundation에 기증된 이 프로토콜의 핵심을 풀어본다.

LangGraph 에이전트와 CrewAI 에이전트가 서로 대화할 수 있다면? A2A(Agent-to-Agent) 프로토콜은 AI 에이전트 간의 발견·통신·협업을 표준화한다. Google이 설계하고, 50개 이상의 기업이 지지하며, Linux Foundation에 기증된 이 프로토콜의 핵심을 풀어본다.
당신의 회사에는 여러 AI 에이전트가 있다.
각자 훌륭하게 작동한다. 하지만 하나의 문제가 있다 — 서로 대화할 수 없다.
마케팅 에이전트가 "이번 캠페인 타겟을 정하려면 CRM 데이터가 필요해"라고 했을 때, 영업팀의 CRM 에이전트에게 직접 요청할 방법이 없다. 중간에 사람이 개입하여 수동으로 데이터를 옮겨야 한다.
이것은 1990년대 웹의 문제와 정확히 같다. 각 시스템이 자체 프로토콜로 통신하던 시절, HTTP가 등장하여 **"아무 웹 서버와 아무 웹 클라이언트가 소통하는 공통 언어"**를 만들었다.
2025년 4월, Google이 AI 에이전트 세계의 HTTP를 제안했다. 그것이 A2A(Agent-to-Agent) 프로토콜이다.

A2A는 서로 다른 프레임워크로 만들어진 AI 에이전트들이 서로를 발견하고, 능력을 협상하고, 안전하게 협업할 수 있게 하는 오픈 프로토콜이다.
핵심은 **"불투명한 실행(opaque execution)"**이다. 에이전트는 내부 구현(메모리, 도구, 프롬프트)을 공개하지 않고, 표준화된 인터페이스만으로 소통한다. 마치 웹 서버가 내부 코드를 숨기고 HTTP 응답만 제공하는 것처럼.
가장 흔한 질문 — "A2A와 MCP(Model Context Protocol)는 뭐가 다른가?"

| MCP (Anthropic) | A2A (Google) | |
|---|---|---|
| 초점 | AI 모델 → 도구/데이터 | 에이전트 → 에이전트 |
| 비유 | 소켓 렌치 (에이전트가 쓰는 도구) | 기계공들의 대화 (에이전트 간 조율) |
| 역할 | 에이전트에게 능력을 부여 | 에이전트 간 협업을 가능하게 |
둘은 함께 작동한다: 재고 관리 에이전트가 MCP로 데이터베이스를 조회하고, A2A로 공급업체 에이전트에게 발주를 요청한다. MCP는 에이전트의 "손", A2A는 에이전트의 "입"이다.
둘 다 현재 Linux Foundation 산하에 있다.
| 시점 | 마일스톤 |
|---|---|
| 2025.04 | Google이 A2A 발표, 50개 이상 기업 지지 |
| 2025.06 | Google이 A2A를 Linux Foundation에 기증 (Open Source Summit, 덴버) |
| 2025.09 | v0.3 — gRPC 지원, 서명된 보안 카드, 확장 SDK |
| 2025.12 | Linux Foundation이 Agentic AI Foundation(AAIF) 설립 — MCP도 합류 |
| 2026.03 | A2A v1.0 정식 출시 — 프로덕션 레디 |
Google의 동기는 명확했다. 엔터프라이즈 환경에서 N개의 에이전트 프레임워크가 서로 통신하려면, 커스텀 포인트-투-포인트 통합이 **O(n²)**개 필요하다. 프레임워크가 5개면 10개의 통합, 10개면 45개의 통합. 이것은 지속 가능하지 않다.
표준 프로토콜 하나가 있으면 각 프레임워크는 A2A 하나만 구현하면 된다. 통합 수는 O(n²)에서 **O(n)**으로 줄어든다.

AWS, Cisco, Google, IBM Research, Microsoft, Salesforce, SAP, ServiceNow — 클라우드와 엔터프라이즈 소프트웨어의 주요 기업들이 기술 운영 위원회를 구성한다.
A2A는 웹 표준 위에 구축된다: HTTP(S), JSON-RPC 2.0, Server-Sent Events(SSE). 새로운 전송 프로토콜을 발명하지 않고, 기존 웹 인프라에 올린다.
모든 A2A 에이전트는 Agent Card를 게시한다. 이것은 에이전트의 "명함"으로, 자신이 무엇을 할 수 있는지 선언한다.
발견(Discovery): 에이전트 카드는 https://{domain}/.well-known/agent-card.json 경로에 게시된다. RFC 8615(Well-Known URI) 표준을 따른다. 마치 웹사이트의 robots.txt처럼, 정해진 위치에 있어서 자동으로 발견할 수 있다.
A2A에서 에이전트 간 작업은 Task 단위로 관리된다. 각 Task는 고유 ID를 가지며, 상태 머신으로 생명주기가 관리된다.
에이전트 간 메시지는 Part로 구성된다. 텍스트, 파일, 구조화된 데이터를 모두 담을 수 있다:
이것이 A2A가 **"모달리티 무관(modality agnostic)"**인 이유다. 텍스트뿐 아니라 이미지, 오디오, 스프레드시트까지 에이전트 간에 교환할 수 있다.
구체적인 시나리오로 보자. "콘텐츠 에이전트"가 "리서치 에이전트"에게 조사를 의뢰한다.
/.well-known/agent-card.json에서 가져옴핵심: 콘텐츠 에이전트는 리서치 에이전트가 어떤 도구를 사용하는지, 내부 프롬프트가 무엇인지, 어떤 LLM을 쓰는지 전혀 모른다. 알 필요도 없다. A2A 프로토콜만 맞으면 된다.
대기업에서 각 부서가 다른 프레임워크로 에이전트를 만들었다. A2A가 없으면 N(N-1)/2개의 커스텀 통합이 필요하다. A2A가 있으면 각 에이전트가 Agent Card만 게시하면 자동으로 서로 발견하고 소통한다.
은행의 대출 심사 에이전트가 외부 신용평가 기관의 에이전트에게 신용 점수를 요청한다. 두 조직이 같은 프레임워크를 쓸 필요가 없다. A2A 프로토콜만 구현하면 된다. 보안은 OAuth 2.0과 Mutual TLS로 보장된다.
Google Cloud의 AI Agent Marketplace에서 기업은 A2A 호환 에이전트를 검색하고, Agent Card로 능력을 확인하고, 즉시 연결할 수 있다. 마치 앱스토어에서 앱을 설치하듯이.
변호사 에이전트가 법률 리서치 에이전트에게 "이 계약서의 잠재적 법적 리스크를 분석해줘"라고 요청한다. 이 태스크는 수 시간이 걸릴 수 있다. 푸시 알림 패턴으로 리서치 에이전트가 완료되면 웹훅으로 결과를 전달한다. 변호사 에이전트는 기다리는 동안 다른 일을 할 수 있다.
# pip install a2a-sdk
# === 서버 (A2A 에이전트) ===
from a2a.server.apps import A2AStarletteApplication
from a2a.server.request_handlers import DefaultRequestHandler
from a2a.server.tasks import InMemoryTaskStore
from a2a.types import AgentCard, AgentSkill, AgentCapabilities
# 스킬 정의
skill = AgentSkill(
id="research",
name="웹 리서치",
description="주어진 주제에 대해 웹 리서치를 수행",
tags=["research", "web"],
examples=["AI 트렌드 조사해줘", "경쟁사 분석해줘"]
)
# Agent Card 정의
card = AgentCard(
name="리서치 에이전트",
description="웹 리서치를 수행하는 전문 에이전트",
version="1.0.0",
skills=[skill],
capabilities=AgentCapabilities(streaming=True),
url="http://localhost:9999/"
)
# 서버 시작
handler = DefaultRequestHandler(
agent_executor=MyExecutor(),
task_store=InMemoryTaskStore()
)
app = A2AStarletteApplication(
agent_card=card, http_handler=handler
)
# uvicorn으로 실행
# === 클라이언트 (다른 에이전트) ===
from a2a.client import A2ACardResolver, A2AClient
# Agent Card 발견
resolver = A2ACardResolver(
httpx_client=client,
base_url="http://localhost:9999"
)
card = await resolver.get_agent_card()
# 메시지 전송
a2a_client = A2AClient(
httpx_client=client, agent_card=card
)
response = await a2a_client.send_message(request)
| 프레임워크 | A2A 통합 방식 |
|---|---|
| Google ADK | 네이티브 — A2A 서버/클라이언트 내장 |
| LangGraph | 파트너 통합 — LangChain이 A2A 론칭 파트너 |
| CrewAI | v1.10.1+ — A2A 서버로 에이전트 노출 가능 |
| Semantic Kernel | Microsoft 블로그 문서화된 통합 패턴 |
| Amazon Bedrock | AgentCore에서 A2A 프로토콜 계약 지원 |
패턴: 어떤 프레임워크든 A2A SDK로 래핑하면 A2A 서버가 된다. Agent Card를 게시하고, JSON-RPC 핸들러를 구현하면 끝이다.
2026년 3월 12일 출시된 v1.0은 프로덕션 사용을 위한 대규모 정리를 포함한다:
Proto-first: a2a.proto가 모든 언어 SDK의 정규화된 소스. Protocol Buffers로 타입 안전성 보장.
멀티 프로토콜: JSON+HTTP, gRPC, JSON-RPC — 세 가지 바인딩을 공식 지원.
보안 강화: Agent Card 서명(JWS), Device Code 플로우(RFC 8628), PKCE(RFC 7636), Mutual TLS.
SDK 5개 언어: Python, Go, JavaScript, Java, C#/.NET.
"과잉 설계(Over-engineering)": 모든 시나리오를 처음부터 해결하려 해서 진입 장벽이 높다. MCP는 20줄로 실용적 통합을 달성하는 반면, A2A는 더 깊은 아키텍처 이해가 필요하다.
"엔터프라이즈 우선이 개발자를 소외": MCP가 개발자 중심(developer-first)으로 빠르게 마인드셰어를 확보한 반면, A2A는 엔터프라이즈 거버넌스를 우선시하여 개발자 커뮤니티의 관심을 덜 받았다.
"타이밍": A2A가 v0.3에 도달할 때쯤 MCP가 이미 개발자 커뮤니티를 장악. Google이 자사 서비스에 MCP 호환성을 추가한 것이 A2A의 한계를 인정한 것으로 해석되기도.
v1.0 출시 이후, A2A와 MCP는 상호 보완적 관계로 수렴하고 있다. 둘 다 Linux Foundation 산하이며, 많은 기업(Google, Cisco, Salesforce 등)이 양쪽 모두에 참여한다. MCP로 도구를 연결하고, A2A로 에이전트를 연결하는 조합이 표준 패턴으로 자리잡아가고 있다.
2025년 12월 9일, Linux Foundation이 **Agentic AI Foundation(AAIF)**을 설립했다. 에이전트 AI 생태계의 오픈 표준을 관장하는 중립적 재단이다.
AAIF 창립 프로젝트: MCP (Anthropic 기증), goose (Block 기증), AGENTS.md (OpenAI 기증)
플래티넘 회원: AWS, Anthropic, Block, Bloomberg, Cloudflare, Google, Microsoft, OpenAI
A2A는 AAIF가 아닌 별도의 LF 프로젝트이지만, 양쪽 모두에 참여하는 기업이 많아 사실상 수렴하고 있다.
이전 AI 트렌드 글에서 지적했듯, AI 에이전트 생태계는 웹의 역사를 정확히 반복하고 있다:
| 웹 | AI 에이전트 |
|---|---|
| HTTP | A2A (에이전트 간 통신) |
| REST API | MCP (도구 연결) |
| 브라우저 | 에이전트 런타임 |
| DNS | 에이전트 디스커버리 (Agent Card) |
| HTML | 메시지 Parts (TextPart, FilePart, DataPart) |
웹이 HTTP 표준화 이후 폭발적으로 성장했듯, 에이전트 생태계도 프로토콜 표준화를 기점으로 본격적인 성장 궤도에 진입할 것이다.
A2A v1.0의 출시는 이 표준화의 첫 번째 안정적 이정표다.
| 항목 | 수치 |
|---|---|
| GitHub Stars | 22,700+ |
| Forks | 2,300+ |
| 라이선스 | Apache 2.0 |
| 최신 버전 | v1.0.0 (2026-03-12) |
| SDK | Python, Go, JS, Java, C#/.NET |
| 기술 운영 위원회 | AWS, Cisco, Google, IBM, Microsoft, Salesforce, SAP, ServiceNow |
A2A의 핵심 가치를 한 문장으로:
어떤 프레임워크로 만들었든, 어떤 LLM을 쓰든, 어떤 조직에 속하든 — A2A를 구현한 에이전트는 서로 발견하고, 대화하고, 협업할 수 있다.
2026년 3월 현재, A2A는 아직 초기 단계다. 모든 에이전트가 A2A를 구현하지는 않았고, MCP가 개발자 커뮤니티에서 더 큰 마인드셰어를 가지고 있다.
하지만 웹의 역사를 떠올려보자. HTTP가 처음 제안되었을 때도 모든 시스템이 즉시 채택한 것은 아니었다. 중요한 것은 **"표준이 존재한다"**는 사실 자체다. 표준이 있으면 생태계가 그 위에 성장할 수 있다.
A2A v1.0은 그 표준의 첫 번째 안정 버전이다. 에이전트의 인터넷이 시작되었다.
참고 자료