A2A 프로토콜
더 많은 작업
- Agent2Agent Protocol, A2A; 에이전트 간 프로토콜
- 서로 다른 회사나 프레임워크로 만든 AI 에이전트가 서로를 찾고 작업을 주고받게 하는 개방형 통신 프로토콜
A2A(Agent2Agent)는 구글이 2025년 4월 9일 발표한 AI 에이전트 사이의 통신 규약이다. 한 회사의 일정 관리 에이전트가 다른 회사의 출장 예약 에이전트에게 일을 맡기는 것처럼, 내부 구현을 공유하지 않는 에이전트끼리 능력을 알리고, 작업을 요청하고, 진행 상황과 결과를 주고받는 방법을 정한다. 발표 당시 구글은 50개가 넘는 기술 기업이 지원과 기여에 참여한다고 밝혔다.[1]
구글은 A2A를 앤트로픽의 모델 컨텍스트 프로토콜(MCP)을 보완하는 프로토콜로 소개했다. MCP가 에이전트에게 도구와 맥락(데이터)을 연결한다면, A2A는 에이전트와 에이전트를 연결한다.[1]
| 날짜 | 사건 |
|---|---|
| 2025년 4월 9일 | 구글이 개발자 블로그로 발표하고 사양 초안과 예제 코드를 공개[1] |
| 2025년 6월 23일 | 리눅스 재단이 오픈소스 서밋 북미(덴버)에서 Agent2Agent 프로젝트 출범을 발표. 구글이 프로토콜을 리눅스 재단으로 넘겨 특정 업체에 종속되지 않는 중립적 관리 아래 둠. 아마존 웹 서비스, 시스코, 마이크로소프트, 세일즈포스, SAP, 서비스나우 등이 참여했고 100곳이 넘는 기업이 지지[2] |
| 2025년 7월 30일 | 사양 0.3.0 공개[3] |
| 2026년 3월 12일 | 사양 1.0.0 공개(같은 해 5월 1.0.1)[3] |
구글이 발표 때 밝힌 원칙은 다음과 같다.[1]
- 에이전트를 단순한 도구로 다루지 않고, 기억이나 도구를 공유하지 않는 상태에서도 자연스러운 방식으로 협업하게 한다.
- HTTP, SSE(Server-Sent Events), JSON-RPC 같은 기존 표준 위에 만들어 기존 IT 시스템에 붙이기 쉽게 한다.
- 기업용 인증과 권한 부여를 기본으로 지원한다.
- 바로 끝나는 요청부터 사람이 중간에 개입하며 며칠씩 걸리는 작업까지 다룬다.
- 텍스트뿐 아니라 오디오, 영상 스트리밍 등 여러 모달리티를 지원한다.
| 개념 | 설명 |
|---|---|
| 에이전트 카드(Agent Card) | 에이전트의 이름, 능력(skill), 접속 주소, 지원 기능, 인증 방식을 적은 JSON 문서. 보통 https://{도메인}/.well-known/agent-card.json에 두어 다른 에이전트가 찾아 읽게 한다[4]
|
| 클라이언트 에이전트 / 원격 에이전트 | 작업을 요청하는 쪽과 처리하는 쪽. 원격 에이전트는 내부 구현을 드러내지 않는 블랙박스로 다룬다 |
| 작업(Task) | 프로토콜이 정의한 작업 단위. 고유 ID와 수명 주기 상태를 가지며, 즉시 끝나거나 오래 실행될 수 있다 |
| 메시지(Message) | 역할(사용자 또는 에이전트)과 하나 이상의 파트로 이루어진 대화 단위. 맥락, 질문, 지시를 전달한다 |
| 파트(Part) | 메시지나 결과물의 내용 조각. 텍스트, 파일, 구조화 데이터 등 내용 형식이 정해져 있어 양쪽이 표시 형식을 협상할 수 있다 |
| 결과물(Artifact) | 작업이 만들어 낸 산출물(문서, 이미지, 데이터 등) |
1.0 사양에서 작업 상태는 제출됨(submitted), 처리 중(working), 입력 필요(input-required), 인증 필요(auth-required), 완료(completed), 실패(failed), 취소(canceled), 거부(rejected)로 나뉜다. 입력 필요와 인증 필요는 상대의 응답을 기다리는 중단 상태이고, 완료, 실패, 취소, 거부는 끝난 상태다.[4]
- 프로토콜 바인딩: 1.0 사양은 같은 데이터 모델을 JSON-RPC 2.0, gRPC, HTTP+JSON(REST) 세 방식으로 주고받을 수 있게 정의한다.[4]
- 스트리밍: 오래 걸리는 작업의 진행 상황과 부분 결과를 SSE로 실시간 전달한다. 에이전트 카드에 스트리밍 지원을 표시한 경우에 쓴다.
- 푸시 알림: 연결을 유지하기 어려운 아주 긴 작업은 원격 에이전트가 클라이언트의 웹훅 주소로 HTTP POST를 보내 상태 변화를 알린다.
- 인증: 에이전트 카드에 선언한 방식(API 키, HTTP 인증, OAuth 2.0, OpenID Connect, 상호 TLS)을 쓴다. 신원 정보는 A2A 메시지 안이 아니라 전송 프로토콜 계층(HTTP 헤더, TLS 등)에서 다루며, 서버의 신원은 TLS 인증서로 확인한다.[4]
| 구분 | MCP | A2A |
|---|---|---|
| 연결 대상 | 에이전트(LLM 앱) ↔ 도구, 데이터 소스 | 에이전트 ↔ 에이전트 |
| 상대에 대한 가정 | 서버가 제공하는 도구, 리소스, 프롬프트를 클라이언트가 호출 | 상대는 스스로 판단하는 블랙박스 에이전트 |
| 작업 단위 | 도구 호출 한 번 | 수명 주기를 가진 작업(Task), 여러 차례 메시지 교환 |
| 발표 | 앤트로픽, 2024년 11월 | 구글, 2025년 4월 |
| 관리 | 리눅스 재단 산하 에이전틱 AI 재단(2025년 12월 이관)[5] | 리눅스 재단 A2A 프로젝트[2] |
실제 시스템에서는 둘을 함께 쓴다. 예를 들어 사용자와 대화하는 주 에이전트가 A2A로 전문 에이전트에게 작업을 맡기고, 각 에이전트는 MCP로 데이터베이스나 사내 도구에 접근한다. 에이전트끼리 메시지를 주고받는 표준이라는 점에서 1990년대 다중 에이전트 연구의 KQML, FIPA-ACL 같은 에이전트 통신 언어와 같은 문제를 다룬다.
- ↑ 1.0 1.1 1.2 1.3 Announcing the Agent2Agent Protocol (A2A), Google Developers Blog, 2025-04-09.
- ↑ 2.0 2.1 Linux Foundation Launches the Agent2Agent Protocol Project, Linux Foundation, 2025-06-23.
- ↑ 3.0 3.1 a2aproject/A2A Releases, GitHub.
- ↑ 4.0 4.1 4.2 4.3 Agent2Agent (A2A) Protocol Specification, A2A Project.
- ↑ Donating the Model Context Protocol and establishing the Agentic AI Foundation, Anthropic, 2025-12-09.
- A2A Protocol 공식 사이트
- a2aproject/A2A, GitHub