A2A Protocol

 

서로 다른 개발자, 프로임워크(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)

  1. Agent Discovery: agent-card를 통해 상대 에이전트의 능력과 보안 방식을 확인
  2. Authentication: OAuth2/OpenID Connect 등을 통해 안전한 토큰 발급
  3. sendMessage: 작업을 요청하고 작업 ID(Task ID)를 받음
  4. 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