# [[A2A (Agent-to-Agent Protocol)|A2A (Agent-to-Agent Protocol)]]

## 📌 Brief Summary
A2A(Agent-to-Agent Protocol)는 2025년 Google이 공개한 에이전트 간 통신 및 작업 위임을 위한 오픈 프로토콜이다. 단일 하네스(Harness) 내부의 도구 접근을 표준화하는 MCP와 달리, 서로 다른 하네스에 존재하는 에이전트 간의 원격 통신, 작업 위임, 상태 공유를 표준화한다. HTTPS와 Server-Sent Events(SSE)를 전송 계층으로 활용하여 에이전트 간의 장기 실행 작업을 스트리밍하고 통제 가능한 다중 에이전트 생태계를 구축하는 데 핵심적인 역할을 한다.

## 📖 Core Content
*   **다중 에이전트 오케스트레이션(E-component) 표준화**: A2A는 에이전트 하네스의 실행 루프(E-component)에서 서브 에이전트나 외부 에이전트에게 작업을 위임하기 위한 표준 메커니즘을 제공한다. 위임하는 하네스는 대상 에이전트의 내부 구현 방식을 알 필요 없이 A2A의 작업 명세(Task specification)를 통해 작업을 전달할 수 있다.
*   **Agent Card를 통한 기능 탐색**: A2A는 에이전트가 다른 에이전트의 능력(Capabilities)과 통신 인터페이스를 동적으로 발견(Discovery)할 수 있도록 `Agent Cards`라는 개념을 지원한다. 이를 통해 에이전트들이 잘 알려진 URL(well-known URLs)을 통해 서로를 탐색하고 라우팅할 수 있다.
*   **상태 유지(Stateful) 및 비동기 스트리밍**: HTTP POST 및 SSE를 기반으로 작동하여 작업 진행 상황을 실시간으로 스트리밍한다. Task ID를 통해 상태를 유지하는(Stateful) 작업 관리를 기본적으로 지원하며, 연결이 끊긴 클라이언트나 작업에 대한 푸시 알림 기능도 제공한다.
*   **메시지와 아티팩트의 분리**: A2A 프로토콜은 채팅 메시지와 작업 아티팩트(Artifacts)를 명시적으로 분리하여, 위임된 작업의 결과가 단순한 텍스트 형태의 메시지가 아닌 구조화된 작업 아티팩트로 반환되도록 모델링한다.
*   **하네스 통합 및 MCP와의 보완적 관계**: A2A는 에이전트와 도구 간의 통신을 담당하는 MCP(Model Context Protocol)와 경쟁하지 않고 보완적인 프로토콜 스택을 형성한다. MCP가 하네스 내부의 도구 인터페이스(T-component)를 표준화한다면, A2A는 하네스 간, 혹은 에이전트 간의 작업 위임 및 조정 경계(E-component)를 표준화한다.
*   **인증 및 거버넌스**: OAuth 기반의 인증 모델과 HTTPS 강제화를 기본적으로 포함하여 다른 프로토콜보다 강력한 보안 및 신원(Identity) 관리 기능을 제공한다. 다중 에이전트 체인에서 하네스는 A2A 통신을 관찰 및 로깅하여 무한 위임 루프, 권한 우회, 그리고 예기치 않은 패턴을 차단할 수 있는 신뢰 경계(Trust Boundary)를 설정해야 한다.

## ⚖️ Trade-offs & Caveats
*   **통신 지연 시간(Latency) 문제**: A2A의 HTTPS 및 SSE 전송 방식은 인터넷 규모의 조직 간 통신을 위해 설계되었기 때문에 로컬 도구 호출(예: MCP의 stdio 전송)에 비해 통신에 50~200ms 이상의 기본 지연 시간 오버헤드가 발생한다. 따라서 단일 하네스 내의 밀접하고 빠른 도구 실행 루프에는 부적합할 수 있다.
*   **보안 및 통합 경계 관리의 복잡성**: A2A는 하네스 간의 위임을 처리하므로 위임받는 하네스의 보안 컨텍스트, 상태 상속 정책, 평가 및 감사 책임 구조(Evaluation Accountability)를 명확히 정의해야 한다. A2A를 통한 위임이 기존 커넥터 정책이나 데이터 경계를 우회하는 데 악용되지 않도록 하네스 수준의 엄격한 거버넌스가 필수적이다.
*   **프로토콜 간 권한 변환의 부재**: 현재 A2A 작업을 통해 받은 권한 정보를 하네스 내부의 MCP 도구 권한(Permissions)으로 어떻게 변환할 것인지에 대한 표준화된 통합 사양이 아직 불명확하여, 배포자가 이 권한 매핑을 임시방편(ad-hoc)으로 직접 해결해야 하는 구조적 한계가 존재한다.

## 🔗 Knowledge Connections

### Related Concepts

#### [아키텍처 및 기반 기술]
*   [[MCP (Model Context Protocol)|MCP (Model Context Protocol)]]
    *   연결 이유: A2A가 하네스 외부의 에이전트 간(Agent-to-Agent) 통신을 담당한다면, MCP는 하네스 내부의 에이전트와 도구 간(Agent-to-Tool) 통신을 담당하여 함께 통합된 하네스 통신 스택을 이룬다.
    *   이 개념을 통해 더 깊게 이해할 수 있는 부분: 하네스 아키텍처 내에서 도구 제어(T-component)와 에이전트 위임(E-component) 사이의 구조적 역할 분담 및 상호작용.
*   [[E-component (Execution Loop)|E-component (Execution Loop)]]
    *   연결 이유: A2A 프로토콜은 에이전트의 실행 루프를 다중 에이전트로 확장할 때, 하네스의 E-component가 다중 에이전트 조정을 표준화하고 위임하는 통로 역할을 한다.
    *   이 개념을 통해 더 깊게 이해할 수 있는 부분: 에이전트 간 통신이 단순한 API 호출을 넘어, 상태 머신 및 실행 루프의 제어 흐름(Control Flow)에 어떻게 안전하게 통합되는지 이해할 수 있다.
*   [[ACP (Agent Communication Protocol)|ACP (Agent Communication Protocol)]]
    *   연결 이유: IBM이 개발한 상위 수준의 의도(Intent) 통신 프로토콜로, 2025년에 A2A와 통합되어 에이전트 상호운용성 표준을 단일화했다.
    *   이 개념을 통해 더 깊게 이해할 수 있는 부분: "의도 전달(ACP) -> 작업 위임(A2A) -> 도구 실행(MCP)"으로 이어지는 다중 에이전트 시스템의 3계층 통신 추상화 모델.

#### [운영 및 거버넌스 프레임워크]
*   Zoned Governance Framework
    *   연결 이유: A2A를 통한 에이전트 간 위임 시 데이터 유출이나 권한 남용을 막기 위해 환경과 권한을 여러 존(Zone)으로 분리하고 제한하는 정책적 프레임워크가 요구된다.
    *   이 개념을 통해 더 깊게 이해할 수 있는 부분: 높은 보안이 요구되는 에이전트가 낮은 권한의 에이전트를 호출하거나 그 반대의 상황이 발생할 때 요구되는 신뢰 경계(Trust Boundary) 설정 방법.

### Deeper Research Questions
*   A2A를 통해 전달된 원격 작업 위임 컨텍스트가 하네스 내부의 MCP 도구 권한(Permissions)으로 안전하게 매핑 및 변환되는 표준화된 구조는 어떻게 설계되어야 하는가?
*   HTTPS와 SSE를 사용하는 A2A의 높은 네트워크 지연 시간(50~200ms)을 완화하여, 에이전트 네트워크에서 실시간(Low-latency) 스트리밍 상호작용을 보장할 수 있는 대안적 전송 계층은 무엇인가?
*   다중 하네스 배포 환경(Federated Multi-Harness Deployment)에서 A2A를 통한 에이전트 간 통신 중 발생할 수 있는 에이전트 간 프롬프트 인젝션(Cross-agent prompt injection) 공격을 하네스 계층에서 어떻게 탐지하고 격리하는가?
*   A2A 환경에서 다수의 에이전트가 공유 상태(Shared State)에 동시 접근할 때, 하네스 일관성(Consistency)과 충돌 해결을 관리하는 표준화된 S-component 인터페이스는 어떻게 구현될 수 있는가?
*   IETF draft-klrc-aiagent-auth와 같은 토큰 교환(Token Exchange) 사양은 A2A 기반의 에이전트 인증 및 권한 위임을 어떤 기술적 메커니즘을 통해 구현하는가?

### Practical Application Contexts
*   **Implementation:** CrewAI, Google ADK와 같은 오픈소스 에이전트 프레임워크에서 A2A 프로토콜을 도입하여 서로 다른 에이전트들이 Agent Card를 통해 상대방의 기능을 동적으로 검색하고 원격 작업을 위임하도록 구현할 수 있다.
*   **System Design:** 시스템 아키텍처 설계 시 프로토콜의 역할을 엄격히 분리하여, 로컬 도구 접근은 MCP로 처리하고 원격 에이전트 위임 및 비동기 작업 스트리밍은 A2A로 처리하는 모듈형 하네스 통신 스택을 구성한다.
*   **Operation / Maintenance:** A2A 호출 내역을 관찰(Observability)하고 로깅하여, 에이전트 간의 무한 위임 루프나 예기치 않은 우회 호출 패턴을 탐지하고 보안 거버넌스(Trust Boundaries)를 유지하는 감사(Audit) 인프라를 운영한다.

### Adjacent Topics
*   Multi-Agent Orchestration
    *   확장 방향: 다수의 에이전트를 조율하는 아키텍처 패턴(Hierarchical, Market-based, Role-Based 등)을 연구하여 A2A 통신이 실제 에이전트의 작업 분배 토폴로지와 어떻게 결합되는지 탐구한다.
*   [[Agent Identity Management|Agent Identity Management]]
    *   확장 방향: 에이전트가 서로를 원격으로 호출할 때 필요한 식별 체계(Entra ID, OAuth2 토큰 위임 등)와 분산 시스템에서의 에이전트 인증 기술을 깊이 있게 확장하여 학습한다.

---
*Last updated: 2026-05-01*
