A2A의 탄생 배경: AI 통합의 과제 해결
A2A의 중요성을 제대로 이해하려면 이 프로토콜이 탄생하게 된 배경을 살펴볼 필요가 있습니다. GPT-3.5와 같은 강력한 언어 모델의 등장은 AI 도입의 전환점이 되었으며, 개발자들은 간단한 채팅 인터페이스를 넘어 이러한 모델의 기능을 확장할 방법을 모색했습니다.
초기 솔루션 중 하나는 LLM(Large Language Models)이 외부 API와 일대일로 연결될 수 있도록 하는 함수 호출이었습니다. 그러나 이 접근 방식은 서로 다른 AI 공급업체와 구현자가 다양한 통합 방법을 채택하여 상호 운용성이 제한되는 파편화된 생태계를 빠르게 초래했습니다.
Anthropic의 MCP(Model Context Protocol)는 에이전트/AI 시스템의 수(N)에 도구/데이터 소스의 수(M)를 곱하는 ‘NxM 문제’에 대한 잠재적인 해결책으로 등장했습니다. MCP는 컨텍스트를 표준화하고 통합을 단순화하는 것을 목표로 했지만, Google은 에이전트가 서로 직접 통신할 수 있도록 하는 프로토콜의 필요성을 인식했습니다.
A2A는 바로 이러한 요구 사항을 충족하기 위해 탄생했습니다. MCP와 마찬가지로 A2A는 AI 에이전트의 상호 작용 방식을 통합하지만, 에이전트를 도구 및 데이터에 연결하는 데 집중하는 대신 에이전트를 다른 에이전트에 연결하는 데 집중합니다. 이는 진정으로 협업적인 AI 시스템을 구축하기 위한 중요한 단계입니다.
A2A의 핵심 공개: AI 에이전트를 위한 보편적인 언어
A2A는 AI 에이전트가 출처나 설계에 관계없이 서로 통신할 수 있도록 지원하는 개방형 프로토콜입니다. LangChain, AutoGen, LlamaIndex와 같은 다양한 언어와 프레임워크를 이해하고 해석하는 번역기 역할을 합니다.
2025년 4월에 출시된 A2A는 Atlassian, Salesforce, SAP, MongoDB와 같은 업계 거물을 포함하여 50개 이상의 기술 파트너와 협력하여 개발되었습니다. 이 협력적 접근 방식은 A2A가 단순한 Google 이니셔티브가 아니라 표준화를 향한 더 광범위한 업계 노력임을 보장합니다.
A2A는 각 AI 에이전트를 표준 인터페이스를 갖춘 네트워크 서비스로 취급합니다. 이는 웹 브라우저와 서버가 HTTP를 사용하여 통신하는 방식과 유사하지만, 웹사이트 대신 AI 에이전트를 위한 것입니다. MCP가 NxM 문제를 해결하는 것처럼 A2A는 각 페어링에 대한 사용자 지정 코드를 요구하지 않고 서로 다른 에이전트를 연결하는 프로세스를 단순화합니다.
A2A의 핵심 기능 해독: 원활한 협업 활성화
A2A는 에이전트 협업을 현실로 만드는 네 가지 주요 기능을 기반으로 구축되었습니다. 이러한 기능을 이해하려면 몇 가지 주요 용어를 정의하는 것이 중요합니다.
- 클라이언트 에이전트/A2A 클라이언트: A2A 서비스를 사용하는 앱 또는 에이전트입니다. 이는 작업을 시작하고 다른 에이전트와 통신하는 ‘주’ 에이전트입니다.
- 원격 에이전트/A2A 서버: A2A 프로토콜을 사용하여 HTTP 엔드포인트를 노출하는 에이전트입니다. 이러한 에이전트는 작업 완료를 처리하는 보조 에이전트입니다.
이러한 정의를 염두에 두고 A2A의 네 가지 핵심 기능을 살펴보겠습니다.
- 기능 검색: 이 기능은 ‘무엇을 할 수 있습니까?’라는 질문에 답합니다. 에이전트는 에이전트의 기술과 서비스를 기계가 읽을 수 있는 프로필을 제공하는 JSON 파일인 ‘에이전트 카드’를 통해 자신의 기능을 광고할 수 있습니다. 이는 클라이언트 에이전트가 특정 작업에 가장 적합한 원격 에이전트를 식별하는 데 도움이 됩니다.
- 작업 관리: 이 기능은 ‘모두 함께 작업하고 있습니까? 상태는 어떻습니까?’라는 질문에 답합니다. 클라이언트와 원격 에이전트 간의 통신이 특정 작업 개체 및 수명 주기를 통해 작업 완료에 집중되도록 합니다. 장기 실행 작업의 경우 에이전트가 동기화를 유지하기 위해 통신할 수 있습니다.
- 협업: 이 기능은 ‘컨텍스트, 응답, 작업 출력(아티팩트) 또는 사용자 지침은 무엇입니까?’라는 질문에 중점을 둡니다. 에이전트는 메시지를 주고받아 대화 흐름을 만들 수 있습니다.
- 사용자 경험 협상: 이 기능은 ‘콘텐츠를 사용자에게 어떻게 보여줘야 합니까?’라는 질문에 답합니다. 각 메시지에는 특정 콘텐츠 유형의 ‘파트’가 포함되어 있어 에이전트는 올바른 형식을 협상하고 iframe, 비디오, 웹 양식과 같은 UI 기능을 이해할 수 있습니다. 에이전트는 수신 에이전트(클라이언트)가 처리할 수 있는 내용에 따라 정보를 표시하는 방식을 조정합니다.
A2A의 내부 작동 방식 이해: AI 통신을 위한 클라이언트-서버 모델
A2A는 구조화된 JSON 메시지를 사용하여 HTTP와 같은 표준 웹 프로토콜을 통해 에이전트가 통신하는 클라이언트-서버 모델에서 작동합니다. 이 접근 방식은 에이전트 통신을 표준화하면서 기존 인프라와의 호환성을 보장합니다.
A2A가 목표를 달성하는 방법을 이해하기 위해 프로토콜의 핵심 구성 요소를 분석하고 ‘불투명’ 에이전트의 개념을 살펴보겠습니다.
A2A의 핵심 구성 요소: AI 협업을 위한 빌딩 블록
- 에이전트 카드: 일반적으로 잘 알려진 URL(예:
/.well-known/agent.json
)에서 호스팅되는 이 JSON 파일은 에이전트의 기능, 기술, 엔드포인트 URL 및 인증 요구 사항을 설명합니다. 다른 에이전트가 에이전트와 상호 작용할지 여부를 결정하는 데 도움이 되는 에이전트의 기계가 읽을 수 있는 ‘이력서’ 역할을 합니다. - A2A 서버: A2A 프로토콜을 사용하여 HTTP 엔드포인트를 노출하는 에이전트입니다. 이는 클라이언트 에이전트로부터 요청을 받고 작업을 처리하는 A2A의 ‘원격 에이전트’입니다. 서버는 에이전트 카드를 통해 자신의 기능을 광고합니다.
- A2A 클라이언트: A2A 서비스를 사용하는 앱 또는 AI 시스템입니다. 클라이언트는 작업을 구성하고 자신의 기능과 기술을 기반으로 적절한 서버에 작업을 배포합니다. 이는 특수 서버를 사용하여 워크플로를 오케스트레이션하는 A2A의 ‘클라이언트 에이전트’입니다.
- 작업: A2A의 중앙 작업 단위입니다. 각 작업에는 고유한 ID가 있으며 정의된 상태(예:
submitted
,working
,completed
)를 거칩니다. 작업은 요청되고 실행되는 작업을 위한 컨테이너 역할을 합니다. - 메시지: 클라이언트와 에이전트 간의 통신 교환입니다. 메시지는 작업 컨텍스트 내에서 교환되며 콘텐츠를 전달하는 파트를 포함합니다.
- 파트: 메시지 또는 아티팩트 내의 기본 콘텐츠 단위입니다. 파트는 다음과 같습니다.
TextPart
: 일반 텍스트 또는 서식 있는 콘텐츠용FilePart
: 바이너리 데이터용(인라인 바이트 또는 URI 참조 포함)DataPart
: 구조화된 JSON 데이터용(예: 양식)
- 아티팩트: 작업 중에 에이전트가 생성한 출력입니다. 아티팩트에는 파트도 포함되어 있으며 서버에서 클라이언트로 다시 전달되는 최종 결과물을 나타냅니다.
불투명 에이전트의 개념: 지적 재산 보호 및 보안 보장
A2A 컨텍스트에서 ‘불투명’이라는 용어는 에이전트가 내부 로직을 공개하지 않고도 작업에 협력할 수 있음을 의미합니다. 즉,
- 에이전트는 수행할 수 있는 작업만 노출하면 되고, 작업을 수행하는 방법은 노출할 필요가 없습니다.
- 독점 알고리즘 또는 데이터를 비공개로 유지할 수 있습니다.
- 에이전트는 동일한 기능을 지원하는 한 대체 구현으로 교체할 수 있습니다.
- 조직은 보안 문제 없이 타사 에이전트를 통합할 수 있습니다.
A2A의 접근 방식은 높은 보안 표준을 유지하고 영업 비밀을 보호하면서 복잡한 다중 에이전트 시스템의 개발을 단순화합니다.
일반적인 A2A 상호 작용 흐름: 단계별 가이드
에이전트가 A2A를 통해 통신할 때 다음과 같은 구조화된 순서를 따릅니다.
- 검색 단계: 사용자가 기본 AI 에이전트에게 ‘다음 달에 도쿄로 출장을 계획하는 데 도움을 주시겠습니까?’라고 묻는다고 상상해 보세요. AI는 항공편, 호텔 및 현지 활동에 대한 특수 에이전트를 찾아야 할 필요성을 인식합니다. 클라이언트 에이전트는 각 작업을 지원할 수 있는 원격 에이전트를 식별하고 에이전트 카드를 검색하여 적합성을 평가합니다.
- 작업 시작: 팀이 구성되면 작업을 할당할 차례입니다. 클라이언트 에이전트는 여행 예약 에이전트에게 ‘5월 15일부터 20일까지 도쿄행 항공편을 찾아주세요’라고 말할 수 있습니다. 클라이언트는 서버의 엔드포인트(일반적으로
/taskssend
에 POST)로 요청을 보내고 고유한 ID를 가진 새 작업을 만듭니다. 여기에는 클라이언트가 서버에 수행하도록 하려는 내용을 자세히 설명하는 초기 메시지가 포함됩니다. - 처리: 예약 전문가 에이전트(서버/원격 에이전트)는 기준에 맞는 사용 가능한 항공편 검색을 시작합니다. 다음과 같은 작업을 수행할 수 있습니다.
- 작업을 즉시 완료하고 아티팩트 반환: ‘사용 가능한 항공편은 다음과 같습니다.’
- 더 많은 정보 요청(상태를
input-required
로 설정): ‘특정 항공사를 선호하십니까?’ - 장기 실행 작업 시작(상태를
working
으로 설정): ‘최고의 거래를 찾기 위해 요금을 비교하고 있습니다.’
- 다중 턴 대화: 더 많은 정보가 필요한 경우 클라이언트와 서버는 추가 메시지를 교환합니다. 서버는 명확히 하기 위해 질문(‘연결은 괜찮습니까?’)을 하고 클라이언트는 (‘아니요, 직항만 가능합니다.’) 동일한 작업 ID의 컨텍스트 내에서 응답합니다.
- 상태 업데이트: 완료하는 데 시간이 걸리는 작업의 경우 A2A는 여러 알림 메커니즘을 지원합니다.
- 폴링: 클라이언트는 주기적으로 작업 상태를 확인합니다.
- SSE(서버 전송 이벤트): 클라이언트가 구독한 경우 서버는 실시간 업데이트를 스트리밍합니다.
- 푸시 알림: 서버는 제공된 경우 콜백 URL로 업데이트를 POST할 수 있습니다.
- 작업 완료: 완료되면 서버는 작업을
completed
로 표시하고 결과가 포함된 아티팩트를 반환합니다. 또는 문제가 발생하면 작업을failed
로 표시하거나 작업이 종료되면canceled
로 표시할 수 있습니다.
이 프로세스 전반에 걸쳐 기본 에이전트는 호텔 전문가, 현지 교통 전문가, 활동 책임자와 같은 다른 전문가 에이전트와 동시에 작업할 수 있습니다. 기본 에이전트는 이러한 모든 결과를 결합하여 포괄적인 여행 계획으로 여정을 만든 다음 사용자에게 제공합니다.
본질적으로 A2A는 여러 에이전트가 공통 목표를 위해 기여하고 협력할 수 있도록 지원하며, 클라이언트 에이전트는 그 부분의 합을 능가하는 결과를 어셈블합니다.
A2A 대 MCP: AI 통합을 위한 시너지 파트너십
A2A와 MCP가 동일한 공간에서 경쟁하는 것처럼 보일 수 있지만 함께 작동하도록 설계되었습니다. 이들은 AI 통합의 뚜렷하지만 상호 보완적인 측면을 다룹니다.
- MCP는 LLM(또는 에이전트)을 도구 및 데이터 소스에 연결합니다(수직 통합).
- A2A는 에이전트를 다른 에이전트에 연결합니다(수평 통합).
Google은 A2A를 MCP를 보완하도록 의도적으로 포지셔닝했습니다. 이러한 설계 철학은 A2A와 함께 내장된 MCP 지원을 통해 Vertex AI 에이전트 빌더를 출시한 데서 분명히 드러납니다.
이 점을 설명하기 위해 다음과 같은 비유를 생각해 보세요. MCP를 통해 에이전트가 도구를 사용할 수 있다면 A2A는 작업하는 동안의 대화입니다. MCP는 개별 에이전트에 기능을 제공하고 A2A는 팀으로서 해당 기능을 조정하는 데 도움이 됩니다.
포괄적인 설정에서 에이전트는 MCP를 사용하여 데이터베이스에서 정보를 검색한 다음 A2A를 사용하여 해당 정보를 분석을 위해 다른 에이전트에 전달할 수 있습니다. 두 프로토콜은 복잡한 작업에 대한 보다 완전한 솔루션을 생성하는 동시에 LLM이 주류가 된 이후 존재했던 개발 과제를 단순화하기 위해 함께 작동할 수 있습니다.
A2A 보안 표준: 엔터프라이즈급 보호 보장
A2A는 엔터프라이즈 보안을 주요 관심사로 삼아 개발되었습니다. 불투명 에이전트의 독점적 사용 외에도 각 에이전트 카드는 필요한 인증 방법(API 키, OAuth 등)을 지정하고 모든 통신은 HTTPS를 통해 발생하도록 설계되었습니다. 이를 통해 조직은 서로 통신할 수 있는 에이전트와 공유할 수 있는 데이터를 관리하는 정책을 설정할 수 있습니다.
인증에 대한 MCP 사양과 유사하게 A2A는 새로운 양식을 만드는 대신 기존 웹 보안 표준을 활용하여 현재 ID 시스템과의 즉각적인 호환성을 보장합니다. 모든 상호 작용이 잘 정의된 엔드포인트를 통해 발생하므로 관찰 가능성이 간단해져 조직은 선호하는 모니터링 도구를 통합하고 통합된 감사 추적을 얻을 수 있습니다.
A2A 생태계 및 도입: 성장하는 지원 커뮤니티
A2A 프로토콜은 50개 이상의 기술 파트너의 상당한 지원을 받아 출시되었으며, 이들 중 다수는 자체 에이전트를 통해 A2A를 현재 지원하거나 지원할 의향이 있습니다. Google은 A2A를 Vertex AI 플랫폼 및 ADK에 통합하여 Google Cloud 생태계 내의 개발자를 위한 간소화된 진입점을 제공했습니다.
A2A 구현을 고려하는 조직은 다음 사항을 고려해야 합니다.
- 통합 비용 절감: 각 에이전트 페어링에 대한 사용자 지정 코드를 빌드하는 대신 개발자는 A2A를 보편적으로 구현하여 통합 비용을 낮출 수 있습니다.
- 비교적 최근 출시: A2A는 광범위한 릴리스의 초기 단계에 있으므로 규모에 따라 잠재적인 단점을 발견하는 데 필요한 광범위한 실제 테스트를 아직 거치지 않았습니다.
- 미래 보장: 개방형 프로토콜인 A2A를 사용하면 새 에이전트와 이전 에이전트 모두 추가 노력 없이 에코시스템에 통합할 수 있습니다.
- 에이전트 제한 사항: A2A는 진정으로 자율적인 AI를 향한 중요한 진전을 나타내지만 여전히 작업 지향적이며 완전히 독립적으로 작동하지 않습니다.
- 공급업체 불가지론: A2A는 조직을 특정 모델, 프레임워크 또는 공급업체에 가두지 않고 전체 AI 환경에서 믹스 앤 매치를 허용합니다.
Agent2Agent 프로토콜의 미래: 원활한 AI 협업을 위한 비전
앞으로 A2A는 프로토콜 로드맵에 명시된 대로 추가 개선될 것으로 예상됩니다. 계획된 개선 사항은 다음과 같습니다.
- 에이전트 카드 내의 공식화된 인증 체계 및 선택적 자격 증명.
- 진행 중인 작업 내의 동적 UX 협상(예: 대화 중간에 오디오/비디오 추가).
- 향상된 스트리밍 성능 및 푸시 알림 메커니즘.
아마도 가장 흥미로운 장기적인 가능성은 A2A가 에이전트 개발에 HTTP가 웹 통신에 적용된 것, 즉 혁신 폭발의 촉매제가 될 것이라는 점입니다. 도입이 증가함에 따라 특정 산업에 특화된 미리 패키지된 ‘팀’의 에이전트와 궁극적으로 클라이언트가 활용할 수 있는 AI 에이전트의 원활한 글로벌 네트워크를 볼 수 있습니다.
AI 구현을 탐색하는 개발자 및 조직에게 지금은 A2A를 배우고 구축하기에 이상적인 시기입니다. A2A와 MCP는 함께 AI에 대한 보다 표준화되고 안전하며 엔터프라이즈 지원 접근 방식의 시작을 나타냅니다.