멀티에이전트 프레임워크와 A2A 상호운용 아키텍처

Google ADK, OpenAI Agents SDK, LangGraph, CrewAI의 차이와 A2A 기반 상호운용·상태 관리·도입 기준을 다룬다.

2026-08-14 · 최초 발행 2026-05-21

프레임워크 선택이 아키텍처를 바꾼다

2026년 엔터프라이즈 AI 에이전트 채택률은 57%를 넘어섰다. 이제 멀티에이전트 프레임워크를 고르는 일은 단순한 라이브러리 선택이 아니다. 에이전트가 제어권을 넘기는 방식, 실행 상태를 보존하는 위치, 장애 후 작업을 되살리는 방법까지 함께 결정한다.

Google ADK 1.0, OpenAI Agents SDK, LangGraph, CrewAI는 이 문제에 서로 다른 답을 제시한다. 여기에 A2A(Agent-to-Agent) 프로토콜이 프레임워크 간 공통 통신 레이어로 자리 잡으면서, 하나의 제품 안에서 여러 구현체를 연결하는 아키텍처도 선택지에 들어왔다.

생태계가 성숙해진 시점

2026년 상반기에는 주요 프레임워크와 프로토콜의 출시가 이어졌다. OpenAI는 2026년 3월 Agents SDK를 정식 출시했고, Google은 4월 ADK(Agent Development Kit) 1.0 Python 안정화 버전을 발표했다. Anthropic도 Claude 4.6과 함께 Agent SDK를 공개했다. LangGraph와 CrewAI는 이미 생산 환경에서 검증된 상태로 업데이트를 이어가고 있다.

Google이 개발한 뒤 Linux Foundation에 기증한 A2A 프로토콜은 2026년 3월 v1.2 안정 릴리스를 배포했다. 프로덕션 환경에서 A2A를 운용하는 조직은 150개 이상이다.

프레임워크별 차이는 에이전트 협력을 어떤 구조로 표현하는지에서 선명해진다.

프레임워크 오케스트레이션 모델 상태 관리 프로덕션 성숙도
LangGraph 방향성 그래프(DAG) + 조건부 엣지 내장 체크포인팅 + 타임 트래블 최고
OpenAI Agents SDK 명시적 핸드오프(Handoff) 컨텍스트 변수(기본 임시) 높음
Google ADK 계층형 에이전트 트리 세션 상태 + 플러거블 백엔드 보통(Vertex AI 지원)
CrewAI 역할 기반 크루(Crew) + 프로세스 타입 성장 중(체크포인팅 제한) 보통

A2A로 프레임워크 경계를 넘는 방법

A2A는 서로 다른 프레임워크로 만든 에이전트가 공통 형식으로 통신하도록 설계된 오픈 표준이다. 오케스트레이터가 상대 에이전트의 능력을 확인하고 작업을 맡긴 뒤, 진행 상태와 결과물을 같은 규약으로 전달받는 구조다.

v1.2의 핵심은 Agent Card, Task Protocol, Message Format으로 나뉜다.

Agent Card는 에이전트의 정체성, 능력, 통신 엔드포인트를 JSON-LD 형식으로 선언하는 메타데이터 문서다. 다른 에이전트는 이 문서를 조회해 작업을 위임할 수 있는지 판단한다.

Task Protocol은 태스크의 생성(create), 진행(update), 완료(complete) 또는 실패(fail) 생명주기를 HTTP/SSE나 WebSocket으로 비동기 처리한다. Message Format은 requester와 responder의 역할, 태스크 ID, 페이로드, 결과물인 아티팩트를 JSON 기반 구조화 메시지에 담는다.

공유 상태 저장소서브에이전트 2(CrewAI)서브에이전트 1(LangGraph)에이전트 레지스트리(Agent Card 저장소)오케스트레이터 에이전트(ADK)공유 상태 저장소서브에이전트 2(CrewAI)서브에이전트 1(LangGraph)에이전트 레지스트리(Agent Card 저장소)오케스트레이터 에이전트(ADK)Agent Card 조회 (능력 기반)Agent Card 반환 (SA1, SA2)A2A Task Create (태스크 A)A2A Task Create (태스크 B)중간 결과 저장중간 결과 저장A2A Task Complete (결과 A)A2A Task Complete (결과 B)최종 결과 통합

서로 다른 구현체를 연결하는 등록 방식

A2A v1.2는 Google ADK, LangGraph, CrewAI, LlamaIndex Agents, Semantic Kernel, AutoGen에 네이티브로 탑재되어 있다. Microsoft Agent Framework가 A2A를 통해 Google ADK 에이전트와 통신하는 사례도 공식 문서화되어 있다.

ADK 에이전트를 A2A로 노출할 때 등록하는 정보는 다음과 같은 형태다.

Agent Card 등록:
- agent_id: "data-analyst-v2"
- capabilities: ["sql_query", "data_viz", "report_gen"]
- endpoint: "https://agents.example.com/data-analyst"
- auth: Bearer token / OAuth2
- max_task_duration: 300s

프레임워크를 연결하는 것만으로 운영 설계가 끝나지는 않는다. A2A 태스크가 실패하면 재시도 정책(retry policy)과 폴백 에이전트를 지정할 수 있다. 타임아웃, 에이전트 중단, 능력 불일치처럼 실패 원인이 다르므로 오류 유형에 따라 별도의 폴백 전략을 선언적으로 구성해야 한다.

실행 상태를 어디까지 보존할 것인가

복잡한 에이전트 워크플로우에서는 호출 순서보다 상태 복구가 더 까다롭다. 작업이 길어질수록 어느 노드까지 실행됐는지, 중간 결과가 무엇인지, 실패 지점부터 다시 시작할 수 있는지가 운영 안정성을 좌우한다.

LangGraph는 방향성 비순환 그래프(DAG)로 워크플로우를 정의한다. 노드는 에이전트나 도구를 나타내고, 엣지는 조건부 라우팅 로직을 표현한다. 내장 체크포인터(checkpointer)는 노드 실행 뒤의 상태를 PostgreSQL, Redis, SQLite 등에 저장해 중단된 작업의 재개(resume)를 지원한다. 타임 트래블(time travel)을 사용하면 과거 체크포인트로 롤백해 다른 실행 경로를 탐색할 수 있다.

아니오실패성공시작(사용자 요청)계획 에이전트(Plan)분기 판단데이터 필요?데이터 수집 에이전트코드 생성 에이전트테스트 에이전트테스트 통과?리팩토링 에이전트문서화 에이전트체크포인트 저장완료

OpenAI Agents SDK의 핸드오프(Handoff)는 에이전트 A가 컨텍스트와 제어권을 에이전트 B에게 명시적으로 넘기는 모델이다. 선형적인 워크플로우나 단계가 분명하게 나뉜 작업에 맞는다.

CrewAI는 역할을 부여한 에이전트 팀이 공유 목표를 향해 협력하는 크루(Crew) 모델을 사용한다. 지원하는 프로세스 타입은 sequential, hierarchical, consensual이다. ADK 2.0 알파 버전에는 그래프 기반 결정론적 워크플로우가 도입됐으며, LangGraph의 장점을 흡수하는 방향으로 진화하고 있다.

메모리의 수명도 오케스트레이션 구조와 함께 정해야 한다. 단기 메모리는 에이전트 컨텍스트 윈도우 안의 인라인 상태로 다루고, 중기 메모리는 세션 범위의 키-값 저장소에 둔다. 장기 메모리는 pgvector나 Pinecone 같은 벡터 데이터베이스에 저장한다.

MCP와 A2A는 연결 대상이 다르다

2026년 멀티에이전트 스택은 MCP, A2A, 에이전트 개발 SDK의 레이어로 구분할 수 있다.

MCP(Model Context Protocol)는 에이전트와 도구 또는 데이터 소스 사이의 통신을 담당한다. 파일시스템, API, 데이터베이스에 접근하는 경로가 이 레이어에 속한다.

A2A(Agent-to-Agent Protocol)는 에이전트 사이에서 태스크를 위임하고 결과를 반환하는 통신 규약이다. 구현 프레임워크가 다른 에이전트끼리 협력할 때도 같은 인터페이스를 사용할 수 있다.

ADK는 에이전트를 개발하기 위한 SDK다. 로컬 및 클라우드 오케스트레이션을 위한 크로스 언어 추상화를 제공한다.

따라서 MCP와 A2A는 대체 관계가 아니다. MCP가 에이전트와 외부 세계를 연결한다면, A2A는 에이전트끼리 협력할 수 있게 연결한다.

워크플로우에 맞춰 프레임워크를 고른다

LangGraph는 복잡한 조건부 분기와 사이클이 있는 워크플로우에 맞는다. 장시간 실행되는 태스크에서 체크포인팅과 재개 기능이 필요하거나, LangSmith 기반 관찰가능성(observability)을 요구할 때도 선택할 수 있다.

OpenAI Agents SDK는 빠른 프로토타이핑과 출시 속도를 우선할 때 유리하다. OpenAI 모델을 직접 통합하고 내장 트레이싱을 사용하려는 경우, 선형적이며 핸드오프 지점이 명확한 워크플로우와 잘 맞는다.

Google ADK는 Vertex AI, BigQuery, Cloud Run을 포함한 Google Cloud 환경에 네이티브로 배포할 때 고려할 수 있다. 텍스트, 이미지, 코드를 함께 다루는 멀티모달 에이전트와 A2A 기반 50개 이상 파트너 생태계를 활용하려는 경우도 해당한다. 파트너에는 Salesforce와 ServiceNow 등이 포함된다.

CrewAI는 역할 중심의 협업 에이전트 팀이 아키텍처의 중심일 때 어울린다. 비개발자도 이해할 수 있는 선언적 에이전트 정의가 필요한 환경에도 맞는다.

운영 설계가 자율성보다 먼저다

프로덕션 도입에서는 에이전트 실행 추적, 비용 측정, 성능 프로파일링을 먼저 갖춰야 한다. 이 관찰가능성 기반이 없으면 실행 과정과 실패 원인을 추적하기 어렵다.

자율성은 한 번에 확대하지 않는다. Human-in-the-loop 방식으로 시작해 신뢰도를 검증한 뒤 에이전트가 독립적으로 처리하는 범위를 넓힌다. 특정 프레임워크에 종속되지 않으려면 에이전트 인터페이스를 A2A 기반으로 설계할 수 있다.

비용 모델링도 사전에 필요하다. 여러 에이전트를 병렬로 실행하면 토큰 소비가 폭증할 수 있으므로, 실제 운영에 들어가기 전에 이를 시뮬레이션해야 한다.

프레임워크별 강점은 분명하다. LangGraph는 그래프 기반 체크포인팅, OpenAI Agents SDK는 빠른 핸드오프, Google ADK는 Google Cloud 네이티브 통합, CrewAI는 역할 기반 협업에 초점을 둔다. 선택 기준은 이름이나 유행이 아니라 워크플로우 복잡성, 상태 복구 요구, 인프라 환경이어야 한다. A2A를 공통 인터페이스로 두고 관찰가능성을 먼저 확보하면, 프레임워크가 달라도 에이전트의 역할과 자율성을 점진적으로 확장할 수 있다.

Sources

멀티에이전트A2ALangGraphGoogle ADKCrewAI