Google ADK 멀티에이전트 오케스트레이션 설계와 프레임워크 선택

Google ADK의 계층형 에이전트 구조와 동적 오케스트레이션, A2A 연동 방식, 주요 에이전트 프레임워크와의 차이를 다룬다.

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

복잡한 오케스트레이션을 선언형 코드로 옮기다

구글이 2025년 4월 공개한 Agent Development Kit(ADK)는 멀티에이전트 시스템을 비교적 짧은 코드로 구성하는 프레임워크다. LangGraph나 AutoGen에서 수백 줄의 설정 코드가 필요했던 오케스트레이션을 100줄 이하의 직관적인 Python 코드로 구현할 수 있게 한다.

ADK는 Gemini 모델을 이용한 동적 오케스트레이션을 내장한다. 2026년 5월 최신 문서를 기준으로 Python, TypeScript, Go, Java를 지원하며, Agent-to-Agent(A2A) 프로토콜을 통해 서로 다른 에이전트 시스템과도 통신한다.

정식 명칭인 “Gemini Enterprise Agent Platform”에서 ADK는 개발 도구 레이어에 해당한다. 오픈소스로 공개됐고 Vertex AI와 긴밀하게 연결된다. 설계 방향은 선언적 DSL로 오케스트레이션 코드를 줄이는 직관성, 정적 워크플로우와 동적 라우팅을 섞을 수 있는 유연성, Cloud Run과 GKE를 활용한 확장성에 맞춰져 있다.

Google ADK 핵심 구성요소에이전트 정의(Agent Definition)오케스트레이션(Orchestration)도구 바인딩(Tool Binding)상태 관리(State Management)A2A 프로토콜(Agent-to-Agent)LlmAgent(AI 추론 기반)WorkflowAgent(규칙 기반)SequentialAgent(순차 실행)ParallelAgent(병렬 실행)LoopAgent(반복 실행)동적 라우팅(LLM 기반 판단)Google 빌트인 도구MCP 서버커스텀 Python 함수

ADK는 PyPI에서 pip install google-adk로 설치할 수 있다. 관련 최신 문서는 2026년 5월 15일 기준으로 업데이트되어 있다.

에이전트 사이의 결과를 코드 없이 연결하는 방식

리서치 결과를 받아 글을 작성하는 파이프라인이라면 리서치 에이전트, 작성 에이전트, 순차 오케스트레이터를 선언하는 것으로 기본 구조가 완성된다.

from google.adk.agents import LlmAgent, SequentialAgent
from google.adk.tools import google_search, code_execution

# 리서치 에이전트 정의
research_agent = LlmAgent(
    name="researcher",
    model="gemini-2.0-flash",
    instruction="주어진 주제를 웹에서 검색하고 핵심 정보를 요약하세요.",
    tools=[google_search],
    output_key="research_results"
)

# 작성 에이전트 정의
writer_agent = LlmAgent(
    name="writer",
    model="gemini-2.5-pro",
    instruction="research_results를 바탕으로 블로그 포스트를 작성하세요.",
    output_key="final_post"
)

# 오케스트레이터: 순차 파이프라인
pipeline = SequentialAgent(
    name="blog_pipeline",
    sub_agents=[research_agent, writer_agent]
)

두 에이전트와 오케스트레이터를 정의하는 데 필요한 코드는 30줄 내외다. 같은 파이프라인을 LangGraph로 만들면 그래프 노드와 엣지, 상태 스키마를 정의해야 하므로 100줄 이상이 필요하다.

에이전트 사이의 결과 전달에는 output_key가 쓰인다. 앞선 에이전트가 결과를 키에 저장하면 다음 에이전트가 그 키를 참조한다. 별도의 상태 전달 코드를 작성하지 않고도 연속된 데이터 처리 흐름을 만들 수 있다.

루트가 작업을 나누고 세션이 결과를 모은다

ADK의 기본 구조는 루트 에이전트 아래에 전문화된 서브에이전트를 배치하는 계층형 트리다. 루트가 복잡한 작업을 정보 수집, 분석, 작성, 검증처럼 나누고 각 결과를 다시 통합한다.

루트 에이전트(코디네이터)리서치 서브에이전트(정보 수집)분석 서브에이전트(데이터 처리)작성 서브에이전트(콘텐츠 생성)검증 서브에이전트(품질 확인) 검색 도구문서 파싱 도구코드 실행 도구차트 생성 도구텍스트 생성팩트체크 도구공유 세션 상태

루트에 LlmAgent를 두면 Gemini가 현재 컨텍스트에 따라 위임 대상과 실행 순서를 동적으로 판단한다. 반면 WorkflowAgent 루트는 미리 정한 규칙대로 서브에이전트를 호출한다.

공유 세션 상태는 모든 에이전트가 접근하는 메모리다. 각 에이전트가 명시적인 파라미터로 데이터를 주고받지 않아도 세션 상태를 거쳐 결과를 공유할 수 있다. 작업 단계가 늘어날수록 이 구조가 상태 전달 코드를 줄이는 역할을 한다.

결정론적 실행과 LLM 라우팅을 함께 쓰기

실행 순서가 고정된 구간에는 WorkflowAgent 계열을 배치한다. SequentialAgent는 A → B → C 순서로 서브에이전트를 실행하고, ParallelAgent는 A+B+C를 동시에 실행한 뒤 결과를 합친다. LoopAgent는 조건을 만족할 때까지 같은 흐름을 반복한다.

입력에 따라 경로가 달라져야 할 때는 LlmAgent를 루트로 둔다. Gemini가 컨텍스트를 읽고 호출할 서브에이전트, 실행 순서, 종료 시점을 판단한다.

두 방식은 배타적인 선택지가 아니다. 데이터 수집은 ParallelAgent로 병렬화하고, 수집된 데이터의 성격에 따라 LlmAgent가 분석 에이전트를 고르게 할 수 있다. 예측 가능성이 필요한 단계는 정적으로 고정하고 판단이 필요한 구간만 동적으로 열어두는 구성이다.

오케스트레이션 유형 적합한 시나리오 ADK 구현체
순차 파이프라인 ETL, 문서 처리 SequentialAgent
병렬 팬아웃 다중 소스 검색, 배치 처리 ParallelAgent
조건부 반복 품질 검증 루프, 재시도 LoopAgent
동적 라우팅 복잡한 의사결정, 적응형 워크플로우 LlmAgent (루트)
혼합형 대부분의 실제 프로덕션 케이스 중첩 조합

프레임워크 선택은 실행 모델과 운영 요구에서 갈린다

ADK, LangGraph, AutoGen/AG2, CrewAI는 에이전트 실행을 바라보는 방식부터 다르다. ADK는 계층형 에이전트 트리, LangGraph는 방향성 그래프, AutoGen/AG2는 대화형 GroupChat, CrewAI는 역할 기반 크루를 중심에 둔다.

비교 항목 Google ADK LangGraph AutoGen/AG2 CrewAI
오케스트레이션 모델 계층형 에이전트 트리 방향성 그래프 (DAG) 대화형 GroupChat 역할 기반 크루
학습 곡선 낮음 (직관적 DSL) 높음 (그래프 개념 필요) 중간 낮음
모델 지원 Gemini 최적화, 타 모델 지원 완전 모델 비종속 완전 모델 비종속 완전 모델 비종속
프로덕션 준비도 중간 (Vertex AI 연동) 높음 (LangSmith) 중간 중간
Google Cloud 통합 네이티브 가능하나 추가 작업 가능하나 추가 작업 가능하나 추가 작업
A2A 지원 네이티브 미지원 (독자 프로토콜) 미지원 미지원
GitHub Stars (2026) 성장 중 1위 (급성장) 2위 3위
최적 사용 케이스 Google Cloud 팀, 빠른 MVP 엔터프라이즈, 감사 추적 대화형 에이전트 빠른 역할 기반 팀

LangGraph는 2026년 초 CrewAI를 넘어 GitHub Stars 1위에 올랐다. 체크포인팅과 롤백, 감사 추적 같은 요구를 그래프 기반 아키텍처로 다룰 수 있다는 점이 기업 채택을 이끌었다.

ADK는 이들 가운데 가장 신생 프레임워크다. 대신 Vertex AI와 직접 연결되는 개발 경험과 선언형 API를 앞세워 구글 클라우드 생태계를 사용하는 팀에서 채택되고 있다.

A2A로 프레임워크 경계를 넘기

Agent-to-Agent(A2A)는 서로 다른 프레임워크로 구현한 에이전트가 표준화된 방식으로 통신하도록 연결하는 프로토콜이다. ADK는 이 프로토콜을 네이티브로 지원한다.

ADK 에이전트가 LangGraph 에이전트를 서브에이전트로 호출할 수 있고, 외부 시스템이 ADK 에이전트를 원격 서비스로 호출하는 구성도 가능하다. 에이전트를 단일 프레임워크 안에 가두지 않고 서비스 단위로 연결하는 방식이다.

외부 에이전트 시스템Google ADK 시스템A2A 프로토콜A2A 프로토콜A2A 프로토콜ADK 루트 에이전트ADK 서브에이전트 1A2A 게이트웨이LangGraph 에이전트(Cloud Run)AutoGen 에이전트(Azure ACI)커스텀 에이전트(GKE)

2026년 4월 기준, ADK와 A2A, Cloud Run을 결합한 멀티에이전트 배포 사례가 Google Cloud Community에 다수 공유되고 있다. Azure ACI와 GKE를 포함한 멀티클라우드 배포도 A2A로 구현되고 있다. ADK를 구글 클라우드 내부의 도구에 머물지 않고 범용 에이전트 인프라로 연결하는 지점이다.

도입할 때 확인할 조건

ADK는 선언형 API를 사용하므로 에이전트 프레임워크 경험이 없는 개발자도 수 시간 안에 기본 멀티에이전트 시스템을 구현할 수 있다. 시작할 때는 다음 흐름을 따른다.

  1. 설치: pip install google-adk
  2. 환경 설정: Gemini API 키 또는 Vertex AI 인증
  3. 단일 에이전트로 시작해 점진적으로 멀티에이전트로 확장
  4. adk web 명령으로 로컬 개발 UI 실행 (에이전트 테스트 및 디버깅)
  5. Cloud Run 또는 GKE로 프로덕션 배포

모델 선택과 운영 환경은 먼저 점검해야 한다. ADK는 다른 모델도 지원하지만 Gemini에 최적화되어 있으며, 최적 성능도 Gemini에서 나온다. 2025년 4월 출시된 프레임워크라 LangGraph와 비교하면 생태계와 레퍼런스가 적다.

Vertex AI와의 네이티브 통합은 배포 측면의 강점인 동시에 Google Cloud 종속 가능성을 만든다. 기존 LangGraph나 AutoGen 에이전트를 이미 운영한다면 한 번에 교체하기보다 A2A를 이용한 점진적 통합을 선택할 수 있다.

구글 클라우드를 주 인프라로 사용하면서 Gemini 기반 에이전트를 빠르게 프로토타이핑하고 Vertex AI에 배포해야 하는 팀이라면 ADK가 자연스러운 출발점이다. 이 조건에서는 다른 프레임워크보다 적은 코드로 더 빠르게 원하는 시스템을 구성할 수 있다. 반대로 감사 추적과 세밀한 그래프 제어가 우선이라면 LangGraph처럼 다른 실행 모델을 가진 프레임워크와 비교할 필요가 있다.

Sources

Google ADK멀티에이전트GeminiA2A에이전트 오케스트레이션