Google ADK, 프로덕션 전에 이 조건 확인하세요
“Gemini 전용 아닌데 Gemini 최적화”라는 말의 실제 의미, 그리고 v1.0 출시 당일 GitHub 이슈가 왜 터졌는지까지 — 공식 문서와 실사용 데이터로 직접 확인했습니다.
ADK 2.0 Alpha 출시 중
Python · TypeScript · Go · Java 지원
GitHub Stars 8k+
Google ADK가 뭔지, 딱 한 줄로 먼저 정리합니다
결론부터 말씀드리면, Google ADK(Agent Development Kit)는 AI 에이전트를 만들고 배포하는 오픈소스 프레임워크입니다. Google이 내부적으로 Agentspace, Google CES(Customer Engagement Suite) 같은 자사 제품에 쓰던 바로 그 프레임워크를 2025년 4월에 외부에 공개한 겁니다. (출처: Google for Developers 공식 블로그, 2025.04.09)
“에이전트 프레임워크가 왜 필요해?” 싶을 수 있는데, 쉽게 말하면 이렇습니다. ChatGPT처럼 질문에 답하는 AI가 아니라, “항공권 검색 → 가격 비교 → 예약 완료”를 혼자 순서대로 처리하는 AI를 만들 때 필요한 뼈대 역할입니다. 단순 응답이 아니라 일을 스스로 완료하는 AI를 코드로 짜려면, 도구 호출·상태 관리·멀티에이전트 조율 같은 복잡한 구조가 필요한데 ADK가 이걸 대신 처리해줍니다.
2026년 3월 20일 기준 최신 버전은 v1.27.0이고, 병행해서 v2.0.0 Alpha가 출시 중입니다. pip 한 줄로 설치할 수 있습니다: pip install google-adk
“Gemini 전용”이라는 말, 절반만 맞습니다
💡 공식 발표문과 실제 지원 모델 목록을 나란히 놓고 보니, ADK를 “구글 생태계 전용”으로 설명하는 글들이 중요한 부분을 빠뜨리고 있었습니다.
“ADK는 Gemini 전용 아닌가요?”라고 묻는 사람이 많습니다. 이게 공식 문서에 “while optimized for Gemini and the Google ecosystem, ADK is model-agnostic”이라고 명시되어 있음에도 퍼진 오해입니다. (출처: google.github.io/adk-docs, 공식 문서)
실제로 ADK는 LiteLLM 통합을 통해 Anthropic(Claude), Meta(Llama), Mistral AI, AI21 Labs 등 외부 모델도 그대로 사용할 수 있습니다. 멀티에이전트 예시 코드에서도 루트 에이전트는 Gemini를 쓰고, 하위 에이전트(greeting_agent, farewell_agent)는 Claude 3 Sonnet을 사용하는 구성이 공식 문서에 버젓이 실려 있습니다.
그런데 “모델 무관”이라는 말이 “어디서나 동일한 성능”을 의미하진 않습니다. ADK는 Gemini 모델에 최적화된 상태로 설계되어 있어서, Gemini 2.5 Pro나 Flash를 쓸 때 도구 호출 정확도와 멀티에이전트 위임 성능이 가장 안정적입니다. Claude나 GPT 계열 모델을 연결하면 작동은 되지만, 도구 설명을 더 정교하게 써야 하고 일부 내장 기능(예: Google Search 도구)은 Gemini API 전용이라 동작하지 않습니다. “돌아간다”와 “최적화되어 있다”는 다른 말입니다.
| 모델 | ADK 지원 | 내장 Search 사용 | 최적화 수준 |
|---|---|---|---|
| Gemini 2.5 Flash / Pro | ✅ | ✅ | 최고 |
| Claude (via LiteLLM) | ✅ | ❌ | 보통 |
| GPT 계열 (via LiteLLM) | ✅ | ❌ | 보통 |
| Llama, Mistral 등 | ✅ | ❌ | 케이스 바이 케이스 |
(출처: google.github.io/adk-docs 공식 문서 기준, 2026.03.20)
v1.0 출시 당일, 왜 GitHub 이슈가 터졌을까요
2025년 5월 Google I/O에서 ADK Python v1.0.0이 “프로덕션 레디”로 발표됐을 때, 개발자들의 반응은 기대와 달랐습니다. 발표 직후 GitHub 이슈 트래커에는 “업그레이드했더니 코드가 깨졌다”, “롤백하라는 조언이 쏟아졌다”는 보고가 잇달았습니다. (출처: dlabs.ai 개발자 인터뷰, 2025.12.02)
이게 왜 생겼냐면, v1.0에서 파괴적 변경(Breaking Changes)이 상당했기 때문입니다. 핵심만 짚으면 세 가지입니다. 첫째, 모든 서비스가 비동기(async) 방식으로 바뀌어서 기존 코드에 await를 전부 추가해야 했습니다. 둘째, ADK API 서버의 JSON 데이터 형식이 snake_case에서 camelCase로 바뀌었습니다. 셋째, 평가(eval) 데이터셋 스키마가 완전히 재설계되어 기존에 저장한 평가 파일을 전부 새로 만들어야 했습니다. (출처: ADK v1.0.0 공식 릴리스 노트, github.com/google/adk-python)
💡 “프로덕션 레디”라는 발표와 실제 사용 경험 사이의 간격 — 이건 ADK만의 문제가 아닙니다. 릴리스 노트를 직접 확인하지 않고 발표 제목만 보고 업그레이드하면 여기서 막힙니다.
실제로 ADK 팀은 매우 빠른 주기로 릴리스를 내보내고 있습니다. 2026년 2월~3월에만 v1.24.0 → v1.25.0 → v1.26.0 → v1.27.0이 순서대로 나왔습니다. 이게 빠른 개선이기도 하지만, 동시에 “지금 안정적인 버전이 뭐냐”를 항상 직접 확인해야 한다는 의미이기도 합니다. 프로덕션 시스템에 ADK를 쓴다면 업그레이드 전 반드시 GitHub 릴리스 노트를 먼저 보는 습관이 필요합니다.
ADK가 멈추는 세 가지 실제 상황
써보고 나서 막히는 지점들이 있습니다. 공식 문서에 명시된 것도 있고, 실사용자 인터뷰에서 나온 것도 있습니다. 알고 들어가면 훨씬 수월합니다.
Search와 Code Execution을 한 에이전트에 같이 쓰면 작동하지 않습니다
ADK에는 “한 에이전트에 하나의 내장 도구” 제한이 있습니다. Google Search, Vertex AI Search, Code Execution 같은 내장 도구는 단일 에이전트 안에서 다른 도구와 함께 쓸 수 없습니다. 예를 들어 Search + 커스텀 함수를 같은 에이전트에 넣으면 오류가 납니다. (출처: google.github.io/adk-docs/tools/limitations/, ADK 공식 제약 문서)
해결 방법은 에이전트를 분리하는 것입니다. Search 전담 에이전트, Code 전담 에이전트를 각각 만들고, 루트 에이전트가 AgentTool로 이 둘을 호출하는 구조로 바꾸면 됩니다. v1.16.0 이후부터는 GoogleSearchTool에 한해 bypass_multi_tools_limit=True로 우회할 수 있지만, 서브에이전트에 내장 도구를 넣는 건 여전히 지원되지 않습니다.
멀티유저 서비스는 ADK가 기본으로 지원하지 않습니다
ADK의 기본 설계는 루트 에이전트 하나를 모든 사용자가 공유하는 구조입니다. 메신저 봇처럼 여러 사용자가 동시에 사용하는 서비스를 만들려면 사용자별 에이전트 인스턴스를 직접 생성하는 팩토리 클래스를 따로 짜야 합니다. (출처: dlabs.ai 개발자 인터뷰 기반, 2025.12.02)
더 아쉬운 점은 사용자별 커스텀 에이전트를 구현하면 ADK 내장 Web UI를 쓸 수 없습니다. ADK의 가장 큰 장점인 시각적 디버깅 도구를 포기해야 하는 트레이드오프가 생깁니다. 프로덕션 서비스라면 이 시간 비용을 사전에 계획에 넣어야 합니다.
프로토타입이 80% 정확도면 프로덕션은 다른 문제입니다
의료 코딩 시스템을 ADK로 구축한 실사용자의 경험입니다: “프로토타입은 80% 정도 동작했지만, 나머지 20%는 예측할 수 없는 실패였고 토큰도 많이 소모했습니다.” (출처: dlabs.ai 개발자 인터뷰) 95% 이상의 정확도가 필요한 프로덕션 환경에서는 각 1%포인트를 올리는 데 지수 함수적 노력이 들어갑니다.
이게 의미하는 바는, ADK 자체의 문제가 아니라 에이전틱 AI 전반의 현실입니다. 여행 예약처럼 결과가 확정되어야 하는 작업에 AI 에이전트를 쓰려면, 구조화된 출력 + 검증 레이어 + 확인 단계를 설계 단계부터 넣어야 합니다. ADK는 이걸 구현할 도구는 갖추고 있지만, 자동으로 해주진 않습니다.
ADK 2.0 Alpha, 지금 쓸 수 있는 게 뭔가요
💡 릴리스 노트에서 v1.27과 v2.0 Alpha를 나란히 놓고 보면, 지금 ADK가 어떤 방향으로 가고 있는지 보입니다. v1.x는 안정화, v2.0은 구조 자체를 바꾸는 중입니다.
2026년 3월, ADK는 v1.27.0과 v2.0.0 Alpha를 병행 운영하고 있습니다. (출처: github.com/google/adk-python/releases) 두 버전은 성격이 다릅니다. v1.x는 프로덕션 안정화에 집중하고 있고, v2.0 Alpha는 에이전트 실행 구조 자체를 다시 설계하고 있습니다.
v2.0 Alpha에서 가장 큰 변화는 그래프 기반 워크플로(Graph-based Workflows) 도입입니다. 기존 v1.x의 Sequential·Parallel·Loop 같은 워크플로 에이전트는 선형적이고 미리 정해진 흐름이었습니다. v2.0에서는 라우팅, 팬아웃/팬인, 루프, 재시도, 상태 관리, 다이나믹 노드, Human-in-the-loop까지 그래프 기반으로 처리할 수 있어 훨씬 복잡한 업무 흐름을 표현할 수 있습니다.
또 v2.0의 Task API는 에이전트 간 구조화된 위임을 지원합니다. 한 에이전트가 다른 에이전트에게 태스크를 넘기고, 그 결과를 받아 처리하는 multi-turn task mode와 single-turn controlled output을 모두 지원합니다.
다만 v2.0 Alpha는 아직 프로덕션 사용 비권장입니다. 실험적 변경이나 버그가 포함될 수 있다고 공식 문서에 명시되어 있습니다. 탐색·학습 목적으로는 지금 써볼 수 있고, 실제 서비스에는 v1.x 안정 버전을 유지하는 게 현재 기준으로 맞습니다.
LangChain·CrewAI와 뭐가 다른지 숫자로 비교했습니다
에이전트 프레임워크를 처음 고를 때 가장 많이 받는 질문이 “LangChain이랑 뭐가 달라요?”입니다. 2026년 3월 기준으로 실사용 관점에서 정리하면 이렇습니다. (출처: medium.com/@reliabledataengineering, 2026.03.07; letsdatascience.com, 2026.03.07 기준 비교)
| 항목 | Google ADK | LangChain/LangGraph | CrewAI |
|---|---|---|---|
| 출발점 | 구글 내부 도구 공개 | 커뮤니티 빌드 | 역할 기반 설계 |
| 멀티에이전트 | 기본 내장 | LangGraph 별도 | 기본 내장 |
| 통합 API 수 | 100+ (Google Cloud) | 가장 많음 | 중간 |
| 내장 평가(Eval) | 있음 | 별도 설정 필요 | 제한적 |
| Web UI 디버깅 | 기본 내장 | LangSmith 유료 | 제한적 |
| 비Google Cloud 배포 | 가능 (컨테이너) | 자유로움 | 자유로움 |
(출처: letsdatascience.com AI Agent Frameworks 비교, 2026.03.07 기준)
요약하면 이렇습니다. Google Cloud를 이미 쓰고 있고, Gemini 모델을 주력으로 쓰면서, 멀티에이전트 오케스트레이션이 필요한 경우 ADK가 가장 빠릅니다. 반면 다양한 외부 API·라이브러리를 연결해야 하거나 AWS·Azure 환경에 배포하는 경우 LangChain/LangGraph가 생태계 측면에서 유리합니다. 역할 기반 협업 에이전트를 빠르게 프로토타이핑하고 싶다면 CrewAI가 진입 장벽이 낮습니다.
한 가지 놓치기 쉬운 포인트가 있습니다. ADK는 에이전트를 독립 서비스로 분산 배포하는 데 강점이 있습니다. LangChain은 공통 라이브러리로 묶인 방식이고, CrewAI는 팀 내 협업 중심인 데 비해, ADK는 에이전트 각각을 네트워크 상의 독립 서비스로 만들어 서로 호출하게 하는 구조에 최적화돼 있습니다. 마이크로서비스처럼 에이전트를 운영하고 싶다면 이 차이가 의미 있습니다.
Q&A
마치며
Google ADK는 “구글이 자사 제품에 직접 쓰던 것”이라는 출발점 덕에 멀티에이전트 오케스트레이션과 내장 디버깅 도구가 실제로 탄탄합니다. LangChain처럼 생태계가 넓지 않고, CrewAI처럼 진입 장벽이 낮지도 않지만, Google Cloud 환경에서 프로덕션급 에이전트를 목표로 한다면 가장 실용적인 선택지 중 하나입니다.
다만 써보니까 느끼는 건, “Gemini 모델 + Google Cloud = 최적 조합”이라는 전제가 강하게 깔려 있다는 점입니다. 이 조합에서 벗어날수록 공식 문서 이외의 시행착오가 많아집니다. ADK로 무엇을 만들 것인지, 어떤 모델과 인프라를 쓸 것인지 먼저 결정하고 나서 시작하는 게 더 빠릅니다.
v2.0 Alpha의 그래프 기반 워크플로가 안정화되면 ADK의 표현력이 한 단계 더 올라갈 것입니다. 지금은 v1.27 기준으로 탄탄히 배워두고, v2.0 정식 출시를 기다리는 것이 현실적입니다. ADK의 속도를 보면 그리 오래 기다리지 않아도 될 것 같습니다.
본 포스팅 참고 자료
- Google for Developers Korea — 에이전트 개발 키트: 멀티 에이전트 애플리케이션 개발 간소화 (공식 링크)
- ADK 공식 문서 — Agent Development Kit Overview (공식 링크)
- ADK Python GitHub 릴리스 노트 — v1.24.0~v2.0.0a1 (공식 링크)
- ADK 공식 도구 제약 문서 — Tool Limitations (공식 링크)
- DLabs.AI — 4 Google ADK Production Challenges and How to Solve Them (2025.12.02, 실사용자 인터뷰 기반)
본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다. ADK는 빠른 주기로 업데이트되므로 최신 정보는 공식 릴리스 노트(github.com/google/adk-python/releases)를 직접 확인하시기 바랍니다. 본 글의 모든 수치와 스펙은 2026.03.20 기준 ADK Python v1.27.0을 기준으로 작성되었습니다.


댓글 남기기