Google ADK — 에이전트 개발 키트
Google ADK — 에이전트 개발 키트
Google 이 2025 년에 공개한 Agent Development Kit (ADK) 는 LLM 기반 에이전트와 멀티에이전트 시스템을 만들기 위한 오픈소스 프레임워크입니다. Vertex AI 와의 통합을 의식하지만 모델·런타임에 대해 비교적 중립적이라는 점이 특징.
1. ADK 에 대한 이야기
Google ADK 는 2025 년 4 월 9 일 Cloud Next 발표 시점에 처음 공개됐습니다. 공식 문서는 google.github.io/adk-docs, 코드는 github.com/google/adk-python. Apache 2.0 라이선스 오픈소스.
같은 이름·약어가 다른 분야 (Android · 개발 키트) 에서도 쓰입니다. 이 문서의 ADK 는 Google 의 에이전트 개발 키트.
2. ADK 의 위치
ADK 는 다음 자리를 한 묶음으로 다루려는 시도:
- 단일 에이전트의 정의 (모델 · 도구 · 프롬프트).
- 도구 통합 (function · API · MCP).
- 멀티에이전트 (계층 · 위임 · 협업).
- 평가·디버깅 (트레이스 · 세션).
- 배포 (로컬 · Cloud Run · Vertex AI Agent Engine).
Vertex AI Agent Builder 에 ADK 가 결합되어 GCP 위에서 매니지드 형태의 운영이 가능. 동시에 자체 호스팅 · 다른 클라우드에서도 동작하도록 설계됐습니다.
3. 핵심 개념
| 개념 | 의미 |
|---|---|
| Agent | 모델·도구·지시를 묶은 단위. |
| Tool | 함수·API·MCP 서버 등 외부 능력. |
| Session | 대화·실행 컨텍스트. |
| Runner | 에이전트를 실제로 굴리는 실행 환경. |
| Workflow Agent | 순차·병렬·루프 같은 고정 흐름. |
| LLM Agent | 모델이 다음 행동을 결정하는 자유 흐름. |
순수 코드 흐름과 LLM 자율 흐름을 같은 추상 위에서 섞을 수 있는 모양.
4. 모델 · 도구 결합
모델 선택 — Gemini (AI Studio · Vertex AI) 를 1 차 지원하지만 다른 모델도 통합할 수 있는 어댑터 모양. LiteLLM 같은 라이브러리를 통한 다중 모델 백엔드.
도구 결합:
- Python 함수 데코레이션으로 직접 도구 정의.
- OpenAPI 명세 기반 자동 도구.
- MCP 서버를 ADK 도구로 가져오는 통합.
- LangChain · LlamaIndex 의 도구를 ADK 에 매핑.
5. 멀티에이전트
ADK 는 다음 모양을 명시적으로 다룹니다:
- Sequential — 정해진 순서로 단계 진행.
- Parallel — 독립 작업 병렬.
- Loop — 조건·종료까지 반복.
- Hierarchical · Sub-agent — 상위 에이전트가 하위 에이전트를 도구처럼 호출.
상위 에이전트가 라우터·코디네이터 역할을 하고 하위 에이전트가 도메인을 담당하는 패턴.
6. 평가·디버깅
ADK 는 자체 dev UI · 트레이스 뷰어를 포함. 세션 단위로 도구 호출 · 메시지 · 중간 추론을 보고 실패 자리를 분석. Vertex AI 측에서는 Agent Engine 의 매니지드 로깅·평가가 결합.
7. 다른 프레임워크 비교
| 프레임워크 | 출자 · 시기 | 위치 |
|---|---|---|
| LangChain · LangGraph | LangChain Inc., 2022~ | 가장 대중적. LangGraph 는 상태 그래프. |
| LlamaIndex | 2022~ | RAG 에서 시작해 에이전트 모듈. |
| AutoGen | Microsoft Research, 2023 | 다중 에이전트 대화. 0.4 부터 큰 리팩터. |
| CrewAI | João Moura, 2024 | 역할 중심 협업. |
| Semantic Kernel | Microsoft, 2023 | C# · Python · Java. 플러그인 모델. |
| Smolagents | Hugging Face, 2024 | 코드 에이전트 중심 작은 프레임워크. |
| Haystack | deepset, 2020~ | 검색·NLP + 에이전트. |
| Google ADK | Google, 2025 | Vertex AI 통합 + 모델 중립 지향. |
선택의 결정 요인:
- 클라우드·런타임 선호 (GCP · Azure · 자체 호스팅).
- 단일 에이전트인지 멀티에이전트인지.
- 멀티에이전트의 협업 방식 (supervisor · 역할 · 그래프).
- 모델 선택의 자유도.
- 운영 도구 (평가 · 트레이스 · 배포) 결합 정도.
8. 단일 에이전트 골격
from google.adk.agents import LlmAgent
from google.adk.tools import tool
@tool
def get_weather(city: str) -> dict:
"""도시 이름으로 현재 날씨를 조회한다."""
...
agent = LlmAgent(
name="weather_agent",
model="gemini-2.0-flash",
instruction="간결한 한국어로 날씨를 답한다.",
tools=[get_weather],
)
실제 API 는 버전·릴리스에 따라 달라질 수 있어 공식 문서를 따릅니다.
9. 멀티에이전트 패턴
root_agent (라우터)
├── search_agent (검색 도구)
├── coder_agent (코드 작성·실행)
└── reviewer_agent (검토·요약)
상위 에이전트는 사용자 의도를 분석해 적절한 하위 에이전트를 선택·호출. 하위 에이전트는 자기 컨텍스트만 봅니다.
Vertex AI Agent Engine — ADK 로 만든 에이전트를 배포하면 매니지드 런타임·세션 저장·트레이스를 GCP 에서. 자체 호스팅 (Cloud Run · GKE · 자가) 도 가능.
MCP 와의 결합 — ADK 측에서 MCP 클라이언트로 외부 MCP 서버에 붙거나, ADK 에이전트를 MCP 서버로 노출하는 양방향 모양.
10. 자주 걸리는 자리
빠른 변화 — 공개된 지 얼마 되지 않아 API 가 바뀝니다. 버전 핀과 변경 로그 추적.
GCP 종속의 정도 — Vertex AI 통합 기능을 쓰면 그 부분은 GCP 가 전제. 자체 호스팅 경로를 처음부터 함께 설계.
모델 어댑터의 안정성 — Gemini 외 모델은 어댑터 품질이 모델·시점에 따라 다릅니다. 평가 후 결정.
프레임워크 비교 피로 — LangChain · AutoGen · CrewAI · ADK 사이에서 결정 마비가 흔합니다. 작은 프로토타입을 두 후보 정도로 만들어 비교.
트레이스의 양 — 멀티에이전트는 로그·트레이스가 빠르게 증가. 보존 정책·요약 필요.
무한 루프 — Loop 에이전트의 종료 조건을 잘못 설계하면 비용 폭주. 단계 한도·예산 한도.
평가 부재 — 개발은 빠르지만 평가가 늦어지면 회귀를 못 봅니다. 작은 평가셋부터.
MCP 의 신뢰 경계 — 외부 MCP 서버 결과를 그대로 신뢰하지 말고 권한·승인 단계 설계.
하고픈 말
ADK 는 멀티에이전트의 명시적 패턴 (Sequential · Parallel · Loop · Hierarchical) + Vertex AI Agent Engine 매니지드 런타임이 매력입니다. 다만 공개된 지 얼마 되지 않아 API 변경이 잦으니 운영에서는 버전 핀 고정 + 작은 평가셋 + 트레이스 보존 정책이 안전한 출발점입니다.
Next
- claude-code-skills
- subagents
Google ADK Docs · google/adk-python · google/adk-java · Cloud Next Agent Builder · LangGraph · AutoGen · CrewAI · LlamaIndex Agents 를 참고합니다.