AI 기초
Agent2Agent (A2A)란 무엇인가? AI 에이전트가 소통하고 협업하는 방법
Agent2Agent는 에이전트가 서로를 발견하고, 메시지를 교환하며, 시스템 간 작업을 조정할 수 있는 개방형 프로토콜입니다. A2A가 MCP와 어떻게 다른지, 그리고 상호 운용 가능한 에이전트가 왜 중요한지 알아보세요.

Agent2Agent (A2A)는 AI 에이전트가 서로를 발견하고, 메시지를 교환하며, 작업을 위임하고, 진행 상황을 보고하며, 시스템 경계를 넘어 결과를 반환할 수 있게 하는 개방형 프로토콜입니다. 이는 한 에이전트가 다른 에이전트에게 도움을 요청해야 하는 상황에서, 양쪽이 내부 추론, 메모리 또는 구현을 노출할 필요가 없도록 설계되었습니다.
조직이 특화된 에이전트를 배치함에 따라, 커뮤니케이션은 인프라 문제로 변합니다. 조달 에이전트는 컴플라이언스 에이전트로부터 정보를 필요로 할 수 있고; 고객 서비스 에이전트는 물류 에이전트에게 배송을 조사하도록 요청할 수 있습니다. A2A는 에이전트가 서로 다른 프레임워크, 공급업체 또는 모델을 사용하더라도 해당 작업을 조정할 수 있는 공통 방식을 제공합니다.
에이전트가 통신 표준이 필요한 이유
전통적인 API는 기능과 데이터를 노출하지만, 에이전트 간 상호작용은 보다 개방적일 수 있습니다. 수신 에이전트는 목표를 해석하고, 해결 방법을 결정하며, 후속 질문을 하고, 몇 분 또는 몇 시간 동안 작업하며, 업데이트를 스트리밍하고, 여러 아티팩트를 반환해야 할 수도 있습니다.
공유 프로토콜이 없으면 각 플랫폼은 신원, 기능 발견, 작업, 메시지, 상태 및 오류에 대한 자체 형식을 정의하게 됩니다. 이러한 단편화는 플랫폼 간 위임을 어렵게 만들고 유용한 에이전트를 개별 제품에 고정시킵니다.
A2A는 각 에이전트를 블랙 박스로 유지하면서 통신 계층을 표준화합니다. 현재 A2A 사양은 프로토콜의 핵심 객체와 상호작용을 정의합니다.
A2A의 핵심 역할
이러한 구분이 A2A를 단순 함수 호출과 다르게 만드는 요인입니다. 원격 참여자는 장기 실행 작업을 관리하고, 추가 정보를 요청하며, 지원되는 콘텐츠 유형을 협상하고, 하나 이상의 아티팩트를 반환할 수 있습니다. 클라이언트 에이전트는 해당 작업을 추적하면서 작업을 시작한 사용자 또는 애플리케이션의 신원과 권한을 보존합니다.
A2A 상호작용은 일반적으로 두 가지 논리적 역할을 포함합니다:
- 클라이언트 에이전트: 작업을 요청하는 에이전트 또는 애플리케이션.
- 원격 에이전트: 요청을 수신하고 작업을 수행하거나 조정하는 에이전트.
‘클라이언트’와 ‘원격’이라는 용어는 현재 상호작용을 설명할 뿐, 영구적인 계층 구조를 의미하지 않습니다. 동일한 에이전트가 한 상황에서는 작업을 요청하고, 다른 상황에서는 다른 에이전트를 지원할 수 있습니다.
에이전트 카드: 기능 발견
작업을 위임하기 전에, 클라이언트는 원격 에이전트가 무엇을 할 수 있는지와 어떻게 통신해야 하는지를 알아야 합니다. A2A는 에이전트 카드를 사용해 설명적 및 운영 메타데이터를 공개합니다.
에이전트 카드는 에이전트의 이름, 엔드포인트, 지원되는 프로토콜 기능, 인증 기대치, 스킬 및 허용되는 콘텐츠 유형을 설명할 수 있습니다. 스킬은 문서 번역, 계약 검토, 시장 조사와 같이 선언된 능력 영역을 의미합니다.
발견이 품질이나 신뢰성을 입증하는 것은 아닙니다. 에이전트 카드는 능력에 대한 주장일 뿐, 독립적인 인증이 아닙니다. 실제 시스템에서는 여전히 신원, 권한 부여, 정책 검증, 평판 및 평가가 필요합니다.
메시지, 작업 및 아티팩트
A2A는 협업을 여러 핵심 객체를 통해 표현합니다.
메시지
메시지는 에이전트 간 커뮤니케이션을 전달합니다. 텍스트와 기타 구조화된 부분을 포함할 수 있어, 에이전트가 지시, 설명 또는 컨텍스트 자료를 교환할 수 있게 합니다.
작업
작업은 시간이 지나면서 상태가 변할 수 있는 작업 단위를 나타냅니다. 원격 에이전트는 작업을 수락하고, 처리를 계속하며, 추가 입력을 요청하고, 완료하거나, 실패하거나, 취소할 수 있습니다. 지속적인 작업 ID는 장기 실행 작업에 유용한데, 클라이언트가 업데이트 간에 동일한 작업을 참조할 수 있기 때문입니다.
아티팩트
아티팩트는 작업을 통해 생성된 출력물로, 보고서, 데이터셋, 이미지, 코드 패치 또는 구조화된 권고사항 등이 포함됩니다. 아티팩트를 대화형 메시지와 분리하면 클라이언트가 최종 결과물을 식별하고 활용하기가 쉬워집니다.
A2A 상호작용 작동 방식
| A2A | 자율 에이전트 간의 작업 및 메시지를 조정합니다. |
|---|---|
| MCP | AI 호스트를 도구, 리소스 및 프롬프트와 연결합니다. |
| 공통 필요 | 신원, 범위가 지정된 권한, 구조화된 메시지, 그리고 감사 가능한 결과. |
| 실패 | 수신 에이전트가 권한이나 증거를 검증하지 않고 요청이나 아티팩트를 신뢰합니다. |
여행 계획 에이전트가 입국 요건을 확인할 전문가가 필요하다고 가정해 보겠습니다.
- 클라이언트가 원격 에이전트를 발견하고 해당 에이전트 카드를 읽습니다.
- 에이전트가 관련 기능과 호환 가능한 상호작용 방식을 제공하는지 확인합니다.
- 클라이언트가 인증하고 작업, 여행자, 날짜 및 필요한 출력물을 설명하는 메시지를 보냅니다.
- 원격 에이전트가 작업을 생성하거나 업데이트하고 작업을 시작합니다.
- 원격 에이전트가 진행 상황을 스트리밍하거나 누락된 세부 정보를 요청할 수 있습니다.
- 클라이언트가 작업 컨텍스트를 유지하면서 명확화를 제공합니다.
- 원격 에이전트가 작업을 완료하고 결과가 포함된 구조화된 아티팩트를 반환합니다.
- 클라이언트가 그 결과를 평가한 후 전체 여행 계획에 활용합니다.
원격 에이전트는 과제를 수행하는 방법을 스스로 결정합니다. 자체 도구를 호출하거나, 비공개 데이터를 조회하거나, 추가 에이전트를 조정할 수 있습니다. A2A는 이러한 내부 단계가 공개될 것을 요구하지 않습니다.
A2A vs. MCP
프로토콜은 동일한 아키텍처의 서로 다른 계층에 위치할 수 있습니다. 여행 계획 에이전트가 A2A를 통해 전문 비자 조사 작업을 위임할 수 있습니다. 그 전문 에이전트는 MCP 연결을 사용해 승인된 데이터베이스를 검색하고 정책 문서를 가져올 수 있습니다. A2A는 에이전트 간 책임을 조정하고, MCP는 AI 호스트와 기능 간 접근을 표준화합니다.
A2A와 모델 컨텍스트 프로토콜은 서로 다른 통합 문제를 해결합니다.
- MCP는 AI 애플리케이션을 도구와 컨텍스트에 연결합니다. 클라이언트는 MCP 서버에서 함수, 리소스 및 프롬프트와 같은 기능을 발견합니다.
- A2A는 에이전트를 에이전트에 연결합니다. 클라이언트는 목표 지향 작업을 자체 프로세스를 관리하고 결과를 반환할 수 있는 원격 에이전트에 위임합니다.
차이는 도구를 사용하는 것과 전문가를 고용하는 것과 비슷합니다. 계산기는 연산을 제공하고, 분석가는 목표를 받아 어떤 연산이 필요한지 결정합니다. 실제 시스템에서는 원격 A2A 에이전트가 내부적으로 MCP를 사용해 자체 도구와 데이터에 접근할 수 있습니다.
A2A vs. 일반 API
호출자가 정확한 연산과 입력 형식을 알고 있을 때 전통적인 API가 이상적입니다: 레코드 조회, 견적 계산, 필드 업데이트 등. 요청이 대화형이거나 상태를 유지하고, 비동기적이거나 결과 지향적일 때 A2A가 유용합니다.
A2A가 모든 API를 대체하는 것은 아닙니다. 원격 에이전트는 종종 일반 API를 호출해 작업을 수행하며, 에이전트의 재량이 가치를 추가하지 않을 경우 조직은 결정론적 서비스를 직접 제공할 수 있습니다.
상호 운용성이 중요한 이유
에이전트 생태계는 이질적일 것입니다. 서로 다른 팀은 다양한 도메인, 모델, 보안 경계 및 배포 환경에 최적화합니다. 공유 프로토콜을 통해 조직은 이러한 전문성을 유지하면서 협업을 가능하게 합니다.
상호 운용성은 통합 결합을 줄일 수도 있습니다. 클라이언트는 원격 에이전트의 프레임워크를 가져오거나 내부 로직을 복제하는 대신 선언된 기술과 프로토콜 동작에 의존할 수 있습니다. A2A 프로젝트 개요는 이 목표를 서로 다른 스택에서 구축된 에이전트가 동등하게 통신하도록 하는 것으로 설명하고 있으며, Agentic AI Foundation에 합류하는 2026년 업데이트는 중립적이고 산업 간 거버넌스를 향한 추진을 반영합니다.
보안 및 신뢰 과제
위임은 책임 사슬을 생성합니다. 클라이언트는 원격 에이전트의 신원과 선언된 기능을 확인하고, 공유하는 컨텍스트를 최소화하며, 초기 사용자의 권한을 보존해야 합니다. 원격 에이전트는 다른 에이전트가 작업을 요청했다는 이유만으로 광범위한 권한을 물려받아서는 안 됩니다. 각 단계마다 인증, 범위가 지정된 자격 증명, 감사 가능성, 그리고 요구 사항이 충돌하거나 신뢰도가 낮을 때의 처리 규칙이 필요합니다.
에이전트 간 위임은 권한 사슬을 만듭니다. 클라이언트가 민감한 컨텍스트를 실수로 공유하거나 원격 에이전트에게 의도보다 더 많은 재량을 부여하거나 신뢰할 수 없는 산출물에 대해 작업을 수행할 수 있습니다. 원격 에이전트는 또한 신뢰할 수 없는 클라이언트로부터 악의적인 명령이나 파일을 받을 수 있습니다.
강력한 배포에는 여러 계층에서 제어가 필요합니다:
- 신원 및 인증: 어떤 에이전트와 조직이 참여하고 있는지 확인합니다.
- 권한 부여: 각 호출자에게 제공되는 기술, 데이터, 작업 및 작업 범위를 제한합니다.
- 데이터 최소화: 원격 에이전트가 필요로 하는 컨텍스트만 공유합니다.
- 출처: 작업을 요청한 사람, 작업을 생성한 에이전트, 그리고 이를 뒷받침하는 출처를 기록합니다.
- 출력 검증: 관련 검사를 통과할 때까지 원격 산출물을 신뢰하지 않는 것으로 간주합니다.
- 위임 제한: 원격 에이전트가 추가 에이전트나 서비스를 포함할 수 있는지를 제어합니다.
- 인간 승인: 재무, 법률, 외부, 파괴적이거나 그 외 중요한 행동을 수행하기 전에 일시 중지합니다.
프로토콜 호환성이 조직의 신뢰를 의미하는 것은 아닙니다. 에이전트가 A2A를 올바르게 사용할 수 있더라도 특정 작업에 부적합할 수 있습니다.
팀이 A2A를 사용해야 할 때는 언제인가요?
A2A는 독립적인 에이전트가 제품, 공급업체 또는 조직 경계를 넘어 협업해야 할 때, 작업이 장기적으로 진행될 때, 또는 수신 시스템이 결과를 생성하는 방식에 대한 자유를 유지해야 할 때 가장 매력적입니다.
단순한 기능, 고정된 내부 워크플로우, 혹은 하나의 애플리케이션 내에서 긴밀히 결합된 구성 요소에 대해서는 불필요할 수 있습니다. 이러한 경우 일반적인 API, 이벤트 버스, 혹은 직접 도구 호출이 운영 및 평가가 더 쉬울 수 있습니다.
Agent2Agent (A2A)에 대해 기억해야 할 점
A2A는 에이전트가 내부 메커니즘을 공유하지 않고도 기능을 발견하고 목표 지향 작업을 조정할 수 있는 공통 언어를 제공합니다. 핵심 가치는 다수의 에이전트가 자동으로 하나보다 낫다는 것이 아니라, 독립적으로 구축된 전문 에이전트들이 안정적인 경계를 통해 협업할 수 있다는 점입니다.
그 경계는 메시지만을 전달해서는 안 됩니다. 신원, 작업 상태, 산출물, 권한, 출처, 그리고 오류 처리를 포함해야 합니다. A2A는 프로토콜 기반을 제공하지만, 조직은 여전히 신뢰 모델을 제공해야 합니다.












