서로 다른 개발자, 프로임워크(LangGraph, CrewAI 등)와 벤더에 의해 구축된 AI Agent들이 서로를 이해하고 협업할 수 있도록 돕는 표준 규약으로, 각 Agent는 문제 해결사로 남으면서도, 필요할 때 다른 Agent와 연합하여 복잡한 과제를 수행함.
참고로 2024년 6월 23일 Google은 Linux Foundation에 A2A를 기부했다. https://developers.googleblog.com/ko/google-cloud-donates-a2a-to-linux-foundation/
A2A 설계 원칙
에이전트의 고유 역량 (Embrace agentic capabilities)
- 각 에이전트를 단순한 도구로 한정하지 않음
- 각 에이전트가 메모리나 도구, 맥락을 공유하지 않는 상황에서도 서로 협력 가능
기존 표준 기반 (Building on existing standards)
- 기존 표준 기술 기반 구축 (HTTP, SSE, JSON-RPC)
- 기업들이 이미 사용 중인 기존 IT 시스템에 A2A를 쉽게 통합할 수 있도록 지원
- 엔터프라이즈 지향 프로토콜
기본적으로 안전한 설계 (Secure by default)
- 협업시 에이전트 내부 로직이나 메모리, 사용 도구를 노출할 필요 없이, 선언된 인터페이스를 통해서만 결과를 주고받음
- OpenAPI의 인증 방식과 동등한 수준으로 기본적으로 높은 보안성 제공
장기 실행 작업 (Support for long-running tasks)
- 인간 참여형 검토(HITL)등 장기 실행 작업 지원
- 사용자에게 실시간 피드백, 알림, 상태 업데이트 등을 지속적으로 유연하게 제공
- 비동기 실행과 스트리밍(SSE)을 기본 지원하여, 며칠이 걸리는 복잡한 업무도 에이전트끼리 상태를 주고받으며 완수
다양한 모달리티 (Modality agnostic)
- 다양한 데이터 양식(multi-modality) 지원
- 텍스트에 국한되지 않고 오디오 및 비디오 스트리밍 등 다양한 모달리티 지원
A2A 프로젝트의 핵심 목표
상호운용성 확보 (Interoperability)
- 이기종 에이전트 간 ‘통신 장벽’을 허무는 것
- 사용자는 전문 작업 위주의 소형 에이전트를 자유롭게 조합하여 멀티에이전트 구조를 만드는 것이 쉽게 가능해짐
분산형 AI 생태계 조성 (Decentralized AI Ecosystem)
- 모든 것을 다 하는 하나의 거대한 ‘만능 AI’가 아님
- 각자의 역할을 수행하는 전문화된 독립 에이전트 네트워크
- 중앙 장애 지점(SPOF)이 없이 견고하고, 확장에 용이함
동적 작업 위임 (Dynamic Task Delegation)
- A2A 프로토콜을 통해 각 작업에 적합한 에이전트에 위임
- 각 전문 에이전트로부터 결과를 취합하여 최종 결과물 도출
집단 지성의 실현 (Collective Intelligence)
- 개별 에이전트의 지능과 능력의 총합을 뛰어넘는 시너지
- AI 에이전트 간 협력을 통해 거대하고 복잡한 문제 해결
요청 생명 주기 (Request Lifecycle)

- Agent Discovery:
agent-card를 통해 상대 에이전트의 능력과 보안 방식을 확인 - Authentication: OAuth2/OpenID Connect 등을 통해 안전한 토큰 발급
- sendMessage: 작업을 요청하고 작업 ID(Task ID)를 받음
- sendMessageStream: 작업 진행 상황, 결과물(Artifact), 완료 여부를 실시간 스트리밍으로 수신
Reference
- [1] fastcampus 강의 - MCP와 A2A로 끝내는 상상도 못할 Multi-Agent 구축
- [2] https://google.github.io/adk-docs/a2a/intro/
- [3] https://a2a-protocol.org/latest/topics/what-is-a2a/#why-use-the-a2a-protocol
PREVIOUSMCP session