개념적 차이 (목적 및 설계 철학)
**Agent-to-Agent 프로토콜 (A2A)**는 구글이 제안한 개방형 표준으로, 서로 다른 AI 에이전트들이 **동등한 협업자(peer)**로서 직접 소통하고 업무를 분담할 수 있게 하는 데 초점을 맞추고 있습니다developers.googleblog.commedium.com. 예를 들어, 서로 다른 벤더나 프레임워크로 구축된 에이전트들도 공통 규칙에 따라 과제를 위임하고 결과를 조합하는 “수평적(interoperability)” 상호작용이 가능하도록 설계되었습니다medium.commedium.com. A2A의 철학은 AI 에이전트들 간의 팀워크를 통해 개별 에이전트 혼자 해결하기 어려운 복잡한 작업을 공동으로 처리하는 것입니다.
반면 **Model Context Protocol (MCP)**는 Anthropic이 제안한 개방형 표준으로, **LLM 기반 에이전트와 외부 세계(데이터/도구)**를 연결하여 필요한 **맥락(Context)**을 제공하는 데 중점을 둡니다medium.commedium.com. 즉, MCP는 AI 모델이 파일, 데이터베이스, API 등 다양한 외부 데이터 소스에 접근하여 실시간 정보를 얻고 툴을 활용하도록 해주는 인터페이스 표준입니다medium.com. 이로써 LLM의 고립된 한계를 극복하고, 예를 들어 실시간 판매 데이터 조회나 사용자 문서 검색 등 필요한 정보를 표준화된 방식으로 공급받을 수 있게 합니다medium.com.
두 프로토콜은 상호 보완적인 역할을 수행합니다. MCP는 에이전트가 세상의 도구와 데이터를 “플러그인”처럼 활용하게 해주는 반면, A2A는 에이전트가 다른 에이전트와 직접 연결되어 협력하게 해줍니다medium.com. 구글 역시 “A2A는 Anthropic의 MCP를 보완하는 프로토콜”이라고 명시하였는데, MCP가 에이전트에 유용한 도구와 컨텍스트를 제공한다면 A2A는 에이전트들 간의 소통과 협업을 가능하게 해준다는 취지입니다developers.googleblog.com. 요약하면 **“MCP는 AI를 외부 도구와 연결하고, A2A는 AI를 다른 AI와 연결한다”**고 볼 수 있습니다medium.com. 이러한 철학적 차이를 바탕으로 두 프로토콜은 함께 사용될 때 강력한 모듈식 AI 에코시스템의 기반을 형성합니다medium.com.
기술적 구성 요소 및 사용 방식 (메시지 구조, API 방식, 표준 포맷 등)
두 프로토콜은 HTTP와 JSON 등 웹 표준을 활용하지만, 메시지 구조와 사용 방식에는 뚜렷한 차이가 있습니다. 아래 표는 A2A와 MCP의 기술적 요소를 비교한 것입니다:
통신 방식 | HTTP 기반 JSON-RPC 2.0 프로토콜 (요청/응답) 사용medium.com. 에이전트를 하나의 웹 서비스처럼 취급하여 원격 호출함. | HTTP(S) 기반 JSON 메시지 교환 (RESTful API 스타일)medium.com. LLM 클라이언트와 MCP 서버 간에 표준화된 요청/응답 전송. |
능력 공개 방식 | 에이전트 카드(Agent Card): 각 에이전트는 JSON 파일로 자신의 정체성, 기능(capabilities), 엔드포인트 URL, 인증 방법 등을 광고medium.com. 이를 통해 다른 에이전트가 해당 에이전트의 역할과 서비스 내용을 발견(discovery)함. | 기능 기술서(Capability Descriptor): 각 MCP 서버는 제공하는 툴/데이터 기능을 JSON으로 기술. 예를 들어 “검색_customerDB” 같은 함수를 정의하고 입력/출력 형식을 명시medium.com. LLM 측(MCP 클라이언트)은 이를 보고 어떤 툴을 호출할 수 있는지 알게 됨. |
메시지/작업 구조 | Task 단위 협업: A2A에서는 한 에이전트가 다른 에이전트에게 Task 요청을 보내고, 응답으로 **Artifact(산출물)**를 받는 구조. 대화는 멀티턴으로 이어질 수 있고, 텍스트·이미지 등 다양한 모달 데이터를 “파트(Part)” 형태로 주고받음medium.commedium.com. JSON-RPC 요청 payload에 작업 내용과 context가 담기며, 결과도 구조화되어 반환됨. | 컨텍스트 요청/응답: MCP에서는 에이전트(모델)가 필요 시 특정 툴에 요청을 보내고 결과를 받아 프롬프트 맥락에 삽입하는 방식medium.com. 예를 들어 “고객 데이터 조회(searchCustomerData)” 함수를 호출하면 MCP 서버가 DB를 질의해 결과(JSON)를 반환하고, 모델은 이를 응답 생성에 활용. 한 번의 툴 호출이 독립적인 트랜잭션으로 처리됨(필요하면 연속 호출). |
표준 포맷 및 API | JSON-RPC 2.0 표준을 준수하여 method, params, id 등이 포함된 요청/응답 객체 사용. 에이전트 간 통신 계약이 명확히 정의됨. 또한 Server-Sent Events (SSE) 등을 통해 스트리밍 업데이트 지원하여 진행 상황을 실시간 공유 가능medium.com. 보안은 OAuth2 등 웹 인증 스킴 재사용. | HTTP API 엔드포인트로 구현되며, 예컨대 /mcp/search와 같은 경로로 JSON 요청을 POST하는 식이다. 입출력 JSON 스키마가 표준화되어 있어 어떤 MCP 서버이든 일관된 형식으로 모델이 상호작용 가능medium.com. (예: {"action": "searchFiles", "query": "키워드"} -> 결과로 { "files": [...] } 반환). 인증은 OAuth2, mTLS 등 엔터프라이즈 표준 지원medium.com. |
상태 관리 | 장기 작업 처리 및 스트림 전송 가능: A2A 프로토콜은 작업 상태를 지속 업데이트하고, 필요시 중간 산출물을 여러 부분으로 나눠 스트림으로 전송함medium.com. 또한 결과물(예: 생성된 이미지 파일)을 Artifact로 첨부하여 전달할 수 있음. 각 작업에는 수명주기가 있어 완료 시 최종 응답을 제공. | 무상태(stateless) 요청: MCP는 각 툴 호출이 독립적이며 상태를 유지하지 않음. 필요한 맥락을 그때그때 온디맨드로 조립하여 프롬프트에 반영하고, 작업 완료 후에는 해당 호출 종료medium.com. (일부 서버는 스트리밍 응답을 지원할 수 있으나, 주된 철학은 필요할 때 필요한 정보만 호출하여 프롬프트를 구성하는 것.) |
요약: A2A는 에이전트 간의 직접적인 서비스 호출과 대화 흐름을 표준화한 것이며, 에이전트 자체를 하나의 툴/API로 노출하는 방식입니다. 반면 MCP는 LLM 에이전트가 외부 데이터/서비스에 접근하는 방법을 표준화하여, 필요한 정보나 기능을 실시간으로 가져와 활용할 수 있게 합니다. A2A가 에이전트들 사이의 프로토콜이라면, MCP는 에이전트와 도구 사이의 프로토콜이라고 볼 수 있습니다medium.com. 둘 다 JSON을 활용하지만 A2A는 복수 에이전트 협업에, MCP는 도구 활용을 통한 컨텍스트 확장에 초점을 둔 점이 기술적 구성의 큰 차이입니다.
실제 사용 시나리오 비교
두 프로토콜의 대표적 활용 시나리오를 비교하면 다음과 같습니다.
- A2A (다중 에이전트 협업 시나리오): 예를 들어 한 회사에서 AI 에이전트 팀을 구성해 마케팅 콘텐츠를 자동 생성한다고 가정해 봅시다. 아이디어 생성 에이전트, 초안 작성 에이전트, SEO 최적화 에이전트처럼 각자 역할이 다른 LLM 에이전트들이 A2A를 통해 서로 대화하며 작업을 분담합니다medium.com. 아이디어 에이전트가 주제를 제안하면 작성 에이전트가 초안을 작성하고, 이를 SEO 에이전트가 개선하는 식입니다. 이 때 각 에이전트는 A2A 프로토콜로 동료 에이전트의 에이전트 카드를 발견하고(Task 협상), JSON-RPC 요청으로 작업을 요청하며, 중간 결과를 주고받으면서 실시간 협의를 진행합니다. 이러한 멀티 에이전트 시나리오에서 A2A는 에이전트들이 마치 인간 팀원들처럼 유기적으로 대화하면서 문제를 해결하도록 도와줍니다medium.com. 또 다른 예로, AI 비서가 사용자의 주문을 처리하는 상황을 들 수 있습니다. AI 비서 에이전트가 피자 주문을 위해 피자 가게 에이전트에게 A2A로 주문 세부사항을 전달하고, 결제 에이전트와 상호작용해 결제를 완료하는 등 한 사용자 요청을 여러 전문 에이전트가 분업하여 처리할 수도 있습니다. 이렇듯 A2A는 복잡한 업무를 여러 에이전트의 협력으로 풀어내는 시나리오에 활용됩니다.
- MCP (문서 검색/툴 활용 기반 LLM 시나리오): 한편, 단일 LLM 에이전트가 외부 지식에 접근해야 하는 상황에서 MCP가 빛을 발합니다. 예를 들어 직원이 사내 지식베이스에 질의응답을 할 때, LLM 기반 사내 비서 에이전트는 MCP를 통해 사내 문서 저장소나 데이터베이스에서 관련 정보를 검색하여 가져올 수 있습니다medium.com. 사용자의 질문이 "올해 1분기 매출 추이는 어떻습니까?"라면, 에이전트는 MCP 규격의 검색 서비스에 '매출 1분기 2025' 같은 쿼리를 보내 관련 보고서를 찾아오고, 그 내용을 요약하여 답변합니다. 이 과정에서 LLM은 자신의 프롬프트 맥락을 동적으로 구성하기 위해 MCP로부터 필요한 데이터만 불러옵니다. 즉, Retrieval-Augmented Generation (RAG) 패턴을 표준화한 것으로 볼 수 있습니다. 또한 MCP는 함수 호출을 통해 외부 액션을 취할 수도 있는데, 예컨대 일정 조정 에이전트가 MCP를 통해 Google Calendar API에 일정 추가 함수를 호출하고 결과를 확인하는 식입니다. 이러한 문서 검색/툴 연계 시나리오에서 MCP를 사용하면, 기존에는 각 서비스마다 별도 플러그인을 작성해야 했던 것을 통일규격의 API로 대체하여 개발 부담을 줄입니다huggingface.co. 결론적으로 MCP는 단일 에이전트가 외부 세계의 정보를 손쉽게 활용하여 더 정확하고 최신의 답변을 생성하는데 핵심적인 역할을 합니다medium.com.
요약하면, A2A는 여러 지능형 에이전트가 협동 작업을 해야 하는 상황 (예: 멀티에이전트 협업 또는 자율 에이전트 시스템)에 적합하고, MCP는 한 에이전트가 필요한 지식을 획득하거나 도구를 사용할 때 (예: 검색 기반 질문응답, 데이터베이스 조회, 실시간 정보 접근) 유용합니다. 두 접근 모두 현대적 AI 서비스에 중요하며, 필요에 따라 함께 쓰이면 강력한 시너지를 냅니다medium.com.
'에이전트' 카테고리의 다른 글
최근 3개월간 OpenAI의 주요 동향 (1) | 2025.05.28 |
---|---|
팔란티어(Palantir)의 핵심 경쟁력 분석 (0) | 2025.05.26 |
Google Vertex AI Agent Builder와 A2A (Agent-to-Agent) 프로토콜 (0) | 2025.05.24 |
Google Agent Builder와 ADK의 개념적 관계 및 아키텍처 (0) | 2025.05.24 |
Google Agent Builder 개요 및 주요 기능 (0) | 2025.05.24 |