콘텐츠로 건너뛰기
파운더 가격 — 얼리 고객에게 고정시작하기 →

Agent2Agent 프로토콜: 아키텍처, 보안 및 MCP 비교

Agent2Agent(A2A)는 2025년 4월 Google Cloud에서 출시하고 Linux Foundation에 기증한 오픈 프로토콜로, 다양한 프레임워크와 벤더에서 구축된 AI 에이전트가 표준화된 HTTP/JSON 인터페이스를 통해 통신하고, 작업을 위임하며, 결과를 교환할 수 있게 합니다. MCP가 도구 접근 문제(하나의 LLM이 외부 API를 호출)를 해결하는 반면, A2A는 조정 문제를 해결합니다: 하나의 에이전트가 자체 추론 루프, 메모리, 도구를 보유한 전문 피어 에이전트에 전체 서브태스크를 위임합니다. a2aproject/A2A GitHub 저장소에는 Salesforce, Atlassian, SAP를 포함한 50개 이상의 조직의 기여가 있습니다.

Agent2Agent(A2A)는 Linux Foundation이 유지 관리하는 AI 에이전트 상호 운용성을 위한 오픈 HTTP/JSON 프로토콜로, 자율 에이전트가 다양한 프레임워크와 벤더 간에 능력을 광고하고, 작업을 위임하며, 결과를 교환하는 방법을 표준화합니다.

Agent2Agent(A2A) 프로토콜이란 무엇인가?

A2A는 AI 에이전트 생태계의 구체적인 격차에서 탄생했습니다: 모델 대 도구 통신에는 표준(MCP, 2024년 11월 출시)이 있었지만, 에이전트 대 에이전트 통신에는 없었습니다. 오케스트레이터 에이전트가 전문 피어에게 서브태스크를 넘겨야 할 때, 그 위임을 위한 표준화된 와이어 포맷이 없었습니다.

Google Cloud는 2025년 4월 9일 사양에 기여하는 50개 이상의 기술 파트너 초기 그룹과 함께 A2A를 발표했습니다. 많은 벤더 주도 표준과 달리, A2A는 중립적인 거버넌스를 위해 Linux Foundation에 기증되었습니다.

프로토콜의 핵심은 HTTP/JSON입니다. A2A 호환 에이전트는 소수의 엔드포인트를 노출합니다: 에이전트 카드(능력 매니페스트), 작업 제출 엔드포인트, 상태 폴링 엔드포인트, 장시간 작업을 위한 SSE 스트리밍 엔드포인트.

A2A가 다루는 멀티 에이전트 조정 문제의 배경은 멀티 에이전트 시스템 아키텍처AI 에이전트 오케스트레이션 패턴을 참조하세요.

A2A 프로토콜 아키텍처

A2A는 세 가지 핵심 개념을 정의합니다: 에이전트 카드(능력 발견), 작업 수명 주기(상태 저장 위임 추적), 전달 모드(SSE 스트리밍 및 웹훅 푸시).

에이전트 카드: 능력 광고 및 열거 위험

에이전트 카드는 잘 알려진 URL(/.well-known/agent.json)에서 제공되는 JSON 문서로, 에이전트가 할 수 있는 것을 설명합니다. 최소 에이전트 카드는 다음을 포함합니다:

{
  "name": "web-research-agent",
  "description": "웹 검색을 사용하여 주제를 연구하고 구조화된 요약을 반환합니다",
  "version": "1.0.0",
  "url": "https://agents.example.com/web-research",
  "skills": [
    {
      "id": "research_topic",
      "name": "주제 연구",
      "description": "주제에 대해 웹을 검색하고 구조화된 요약을 반환합니다",
      "inputModes": ["text"],
      "outputModes": ["text", "data"]
    }
  ],
  "authentication": {
    "schemes": ["bearer"]
  }
}

에이전트 카드는 동적 능력 발견을 가능하게 하지만 보안 위험을 수반합니다: A2A 기본 프로파일에서 에이전트 카드는 기본적으로 인증 없이 제공되어 전체 스킬 표면이 인증 없이 열거에 노출됩니다.

프로덕션 배포는 인증 후에만 에이전트 카드를 제공하거나 내부 네트워크 세그먼트로 제한해야 합니다. AI 에이전트 보안 위협 모델은 능력 열거를 정찰 공격 벡터로 다룹니다.

작업 수명 주기: 제출에서 완료까지 5가지 상태

A2A는 5가지 상태의 작업 수명 주기를 정의합니다:

  1. submitted - 원격 에이전트가 작업 수신; 아직 처리에 착수하지 않음
  2. working - 원격 에이전트가 작업을 활발히 처리 중(SSE를 통해 진행 상황 스트리밍 가능)
  3. input-required - 원격 에이전트가 진행 전 설명이 필요함(휴먼 인 더 루프 게이트)
  4. completed - 작업 완료; 결과 아티팩트 검색 가능
  5. failed - 작업 실패; 작업 상태 객체에 오류 세부 사항

input-required 상태는 장시간 자율 파이프라인에서 휴먼 인 더 루프 체크포인트를 위한 A2A의 메커니즘입니다.

푸시 대 풀 작업 전달: SSE 및 웹훅

A2A는 작업 결과를 위한 두 가지 전달 모드를 지원합니다:

SSE(Server-Sent Events): 위임 에이전트가 수신 에이전트의 스트리밍 엔드포인트에 지속적인 연결을 엽니다. SSE는 증분 진행 상황이 필요한 장시간 작업의 주요 메커니즘입니다.

웹훅 푸시: 위임 에이전트가 제출 시 콜백 URL을 제공합니다. 지속적인 SSE 연결을 유지할 수 없는 서버리스 환경에서 선호됩니다.

A2A 대 MCP: 다른 레이어, 다른 문제

A2A와 MCP는 경쟁하지 않고 보완합니다. 에이전트 스택의 다른 레이어에서 작동하며 다른 조정 문제를 해결합니다.

차원MCPA2A
목적도구 접근 - LLM이 외부 API를 호출에이전트 조정 - 에이전트가 다른 에이전트에 위임
통신하나의 추론 턴 내 동기 도구 호출비동기 작업 위임; 수신 에이전트는 자체 루프 보유
인증(기본)필수 - MCP 서버가 클라이언트를 인증기본 프로파일에서 선택 사항 - 익명 허용
발견MCP 서버 매니페스트(도구 목록)에이전트 카드(JSON: 스킬 + 인증 요구 사항)
상태도구 호출당 무상태상태 저장, 5단계 수명 주기
스트리밍핵심 사양에 없음실시간용 SSE; 비동기용 웹훅 푸시
주요 위협도구 중독(OWASP LLM07:2025)작업 페이로드 주입, 에이전트 카드 열거

에이전트가 도구가 필요한 경우(MCP)

MCP는 단일 에이전트가 하나의 추론 턴 내에서 외부 기능을 호출해야 할 때 올바른 선택입니다. 도구는 자체 추론 루프가 없습니다; 함수를 실행하고 값을 반환합니다.

에이전트가 다른 에이전트가 필요한 경우(A2A)

A2A는 작업이 피어 에이전트의 전체 추론 능력을 필요로 할 때 올바른 선택입니다. 수신 에이전트는 자체 모델, 메모리, 도구 접근, 다단계 추론 루프를 보유합니다.

같은 시스템에서 MCP와 A2A를 함께 사용하기

프로덕션 멀티 에이전트 시스템은 일반적으로 둘 다 사용합니다. 오케스트레이터 에이전트는 A2A를 사용하여 전문 에이전트에 위임합니다. 각 전문 에이전트는 MCP를 사용하여 도구를 호출합니다.

A2A 인증 및 보안 모델

A2A의 보안 모델에는 중요한 격차가 있습니다: 기본 프로파일은 인증을 선택 사항으로 만듭니다. A2A 작업 페이로드를 통한 프롬프트 주입은 신뢰할 수 없는 호출자로부터 작업을 수락하는 A2A 배포에 대한 문서화된 공격 클래스입니다.

A2A 시스템의 공격 표면:

1. 작업 페이로드 주입: A2A 작업 제출의 작업 설명과 입력 데이터는 사용자 제어입니다.

2. 에이전트 카드 열거: 인증되지 않은 에이전트 카드는 전체 스킬 표면을 노출합니다.

3. 에이전트 간 신뢰 가정: 출력 검증 없이 피어 에이전트의 결과를 신뢰하는 위임 에이전트는 릴레이 주입에 취약합니다.

4. 익명 위임: 필수 인증 없이는 네트워크의 모든 호출자가 A2A 에이전트에 작업을 제출할 수 있습니다.

OpenLegion의 견해: A2A는 와이어 포맷이지, 보안 모델이 아니다

A2A는 와이어 포맷으로서 잘 설계되었습니다. 보안 모델은 프로덕션 요구 사항에 미치지 못합니다.

에이전트 간 통신에 대한 OpenLegion의 접근 방식은 A2A의 기본 프로파일이 선택 사항으로 두는 것을 강제합니다:

  1. 모든 에이전트 간 호출은 자격 증명 볼트를 통해 라우팅됩니다. 익명 위임 모드가 없습니다.

  2. 56개의 네트워크 초크 포인트에서 작업 페이로드 정제. 사용자 제어 콘텐츠는 LLM 컨텍스트에 도달하기 전에 유니코드 공격에 대해 정제됩니다.

  3. 오케스트레이터가 검증하는 유형화된 핸드오프 계약. 릴레이 주입 페이로드는 핸드오프 경계에서 차단됩니다.

  4. 에이전트 능력 매니페스트에 접근하려면 인증이 필요합니다. 스킬 표면은 익명 호출자에게 노출되지 않습니다.

A2A 구현: 기술 안내

에이전트 카드 스키마

프로덕션 에이전트 카드는 기본값에 의존하지 않고 인증 요구 사항을 명시적으로 포함해야 합니다:

{
  "name": "data-analysis-agent",
  "description": "구조화된 데이터셋을 분석하고 시각화가 포함된 통계 요약을 반환합니다",
  "version": "1.2.0",
  "url": "https://agents.internal.example.com/data-analysis",
  "skills": [
    {
      "id": "analyze_dataset",
      "name": "데이터셋 분석",
      "description": "제공된 데이터셋에 대해 통계 분석 실행",
      "inputModes": ["data"],
      "outputModes": ["text", "data", "file"]
    }
  ],
  "authentication": {
    "schemes": ["bearer"],
    "required": true
  }
}

작업 제출 및 상태 폴링

작업 제출은 /tasks/send에 대한 POST입니다. 상태 폴링은 GET /tasks/{task_id}를 사용합니다. 지수 백오프(1s, 2s, 4s, 8s, 최대 30s)로 폴링합니다. 장시간 작업(>60s)은 SSE로 전환해야 합니다.

SSE를 사용한 장시간 작업 스트리밍

30초 이상 예상되는 작업에는 POST /tasks/sendSubscribe를 통한 SSE를 사용합니다. "final": true 플래그는 작업 완료를 나타냅니다. 연결 끊김 후 재개를 위해 Last-Event-ID 헤더로 SSE 재연결을 구현합니다.

자주 묻는 질문

Agent2Agent(A2A) 프로토콜이란 무엇인가요?

Agent2Agent(A2A)는 AI 에이전트 상호 운용성을 위한 오픈 HTTP/JSON 프로토콜로, 2025년 4월 Google Cloud에서 출시하고 Linux Foundation에 기증했습니다. 다양한 프레임워크에서 구축된 자율 에이전트가 능력을 광고하고, 작업을 위임하며, 결과를 교환하는 방법을 표준화합니다. Salesforce, Atlassian, SAP를 포함한 50개 이상의 조직이 2025년 4월 출시 이후 프로토콜에 기여했습니다.

A2A와 MCP의 차이점은 무엇인가요?

MCP는 도구 접근을 해결합니다: 단일 에이전트가 하나의 추론 턴 내에서 외부 API를 호출하는 것(무상태 함수 호출). A2A는 에이전트 조정을 해결합니다: 에이전트가 자체 추론 루프, 메모리, 도구를 보유한 피어 에이전트에 전체 서브태스크를 위임하는 것(상태 저장 비동기 위임). MCP는 기본적으로 인증을 요구합니다; A2A의 기본 프로파일은 그것을 선택 사항으로 만듭니다. 두 프로토콜은 보완적입니다.

A2A 에이전트 카드란 무엇인가요?

에이전트 카드는 /.well-known/agent.json에서 제공되는 JSON 문서로, 에이전트의 능력, 허용된 입력/출력 모드, 인증 요구 사항을 설명합니다. A2A 기본 프로파일에서는 기본적으로 인증 없이 제공됩니다. 프로덕션 배포는 에이전트 카드에 접근하기 위해 인증을 요구해야 합니다.

A2A 프로토콜은 안전한가요?

A2A의 기본 프로파일에는 중요한 보안 격차가 있습니다. 인증은 기본적으로 선택 사항입니다. A2A 작업 페이로드를 통한 프롬프트 주입은 실제 프로덕션 위험입니다. 프로덕션 A2A 배포는 확장 인증 프로파일을 명시적으로 구현하고, LLM 전에 모든 작업 페이로드 콘텐츠를 정제하고, 모든 핸드오프 경계에서 출력을 검증해야 합니다.

A2A 작업 수명 주기란 무엇인가요?

A2A는 다섯 가지 작업 상태를 정의합니다: submitted(수신됨, 아직 처리되지 않음), working(활성 처리, SSE 진행 상황 스트리밍 가능), input-required(원격 에이전트가 진행 전 설명 필요 - 휴먼 인 더 루프 게이트), completed(결과 사용 가능), failed(오류 세부 사항과 함께 작업 실패). input-required 상태는 자율 파이프라인에서 휴먼 인 더 루프 체크포인트를 표면화하는 A2A의 메커니즘입니다.

어떤 기업들이 A2A를 지원하나요?

A2A는 2025년 4월 Salesforce, Atlassian, SAP를 포함한 50개 이상의 기여 조직과 함께 출시되었습니다. Google Cloud가 초기 사양을 이끌고 거버넌스를 Linux Foundation에 이전했습니다. 프로토콜은 다양한 프레임워크에서 구축된 에이전트가 벤더 종속 없이 상호 운용해야 하는 기업 AI 플랫폼을 대상으로 합니다.

OpenLegion은 에이전트 간 통신을 어떻게 구현하나요?

OpenLegion의 메시 아키텍처는 모든 호출에 필수 인증이 있는 에이전트 간 조정을 구현합니다 - 익명 위임 모드가 없습니다. 모든 에이전트 간 핸드오프는 자격 증명 볼트를 통해 라우팅되어 호출자 신원을 검증하고 작업이 수신 에이전트에 도달하기 전에 에이전트별 ACL 게이트를 강제합니다. 작업 페이로드 콘텐츠는 56개의 네트워크 초크 포인트에서 유니코드 공격에 대해 정제됩니다. 이러한 제어는 에이전트 코드 외부의 인프라 레이어에서 실행됩니다.

모든 호출에서 인증을 갖춘 멀티 에이전트 시스템 구축

A2A는 프레임워크와 벤더 간 에이전트 상호 운용성을 위한 와이어 포맷을 제공합니다. 보안 모델은 상위에 구축하거나 인프라 레이어에 의해 강제되어야 합니다.

에이전트 간 호출이 실제 자격 증명을 전달하고, 민감한 데이터에 접근하거나, 되돌릴 수 없는 작업을 트리거하는 시스템에서 인프라 레이어 강제가 유일한 신뢰할 수 있는 보장입니다. 완전한 위협 분류는 AI 에이전트 보안 및 위협 모델을, 조정 패턴은 멀티 에이전트 시스템 아키텍처를 참조하세요.

모든 에이전트 간 호출이 기본적으로 인증, 기록, 자격 증명 격리되는 멀티 에이전트 시스템 실행 - OpenLegion에서 시작하기