Python 3.11 이상 필요
Alpha — 프로덕션 사용 금지
Google ADK 2.0, 1.0 프로젝트와 섞으면 데이터 날아갑니다
Google이 2026년 3월 18일 ADK 2.0.0a1을 PyPI에 공개했습니다. Graph 기반 워크플로우, 협업 에이전트, 동적 워크플로우라는 3가지 신기능이 핵심인데, 대부분의 글이 “뭐가 생겼는지”만 다룹니다. 정작 중요한 건 “1.0과 어떻게 달라졌고, 어떤 조건에서 써야 하는가”입니다. 공식 문서와 커뮤니티 콜 자료를 교차해 확인했더니 놓치면 손해인 지점이 명확하게 보였습니다.
ADK 2.0가 뭔지, 결론부터
Google ADK(Agent Development Kit)는 AI 에이전트를 코드 중심으로 만들 수 있는 오픈소스 Python 프레임워크입니다. 2025년 4월에 1.0이 출시됐고, 불과 약 11개월 만에 구조적으로 다른 2.0 알파가 나왔습니다. PyPI 등록일은 2026년 3월 18일이고(출처: PyPI google-adk 2.0.0a1), 같은 달 25일 ADK Community Call에서 처음 공개 발표가 이뤄졌습니다.
1.0에서 에이전트를 만들 때 핵심은 “LLM에게 긴 프롬프트를 주고 스텝을 따라가게 하는 것”이었습니다. 그런데 프롬프트가 길어질수록 에이전트가 스텝을 건너뛰거나 순서를 바꾸는 일이 생겼습니다. 2.0은 그 문제를 “프롬프트 대신 코드로 실행 흐름을 고정”하는 Graph 워크플로우로 해결하는 방향을 잡았습니다.
2.0의 핵심 신기능 3가지는 공식 문서 기준으로 다음과 같습니다. ① Graph 기반 워크플로우(결정론적 실행 흐름 제어), ② 협업 에이전트(코디네이터+서브에이전트 팀 구성), ③ 동적 워크플로우(루프·조건 분기를 코드로 정의). 이 3가지가 ADK 2.0을 1.0과 다른 버전으로 만드는 실질적 이유입니다. (출처: Google ADK 2.0 공식 문서, google.github.io/adk-docs/2.0/)
Graph 워크플로우 — 프롬프트를 코드로 대체하는 방식
Graph 워크플로우의 핵심은 Workflow 클래스의 edges 배열입니다. 실행 순서를 코드에서 명시적으로 지정하기 때문에 LLM이 스텝을 임의로 건너뛸 수 없습니다. 더 중요한 점은, AI 없이 파이썬 함수만 실행하는 노드를 에이전트 사이에 자유롭게 끼워 넣을 수 있다는 것입니다. 이 부분은 기존 블로그 대부분이 지나치는 대목입니다.
💡 공식 발표문과 실제 사용 흐름을 같이 놓고 보니 이런 차이가 보였습니다
공식 문서에는 “AI-powered agents와 deterministic tools and code를 혼합”이라고 나옵니다. 즉 하나의 그래프 안에서 LLM 노드와 순수 파이썬 함수 노드가 교대로 실행됩니다. LLM 호출 비용이 발생하지 않는 스텝을 그래프에 포함할 수 있다는 뜻이고, 비용 설계 측면에서 1.0 대비 구조적인 이점이 생깁니다. (출처: ADK Workflows 공식 문서, google.github.io/adk-docs/workflows/)
예를 들어 아래 구조처럼 도시 생성(LLM) → 시간 조회(파이썬 함수) → 리포트(LLM) 순으로 실행할 수 있습니다. 중간의 시간 조회 함수는 LLM 없이 코드만 동작합니다.
from google.adk import Agent, Workflow
city_agent = Agent(model="gemini-2.5-flash", ...) # LLM 노드
def lookup_time(node_input: str): # 파이썬 함수 노드 (LLM 없음)
return CityTime(time_info="10:10 AM", city=node_input)
report_agent = Agent(model="gemini-2.5-flash", ...) # LLM 노드
root_agent = Workflow(
name="root_agent",
edges=[("START", city_agent, lookup_time, report_agent)]
)
가운데 lookup_time은 LLM 호출이 없습니다. LLM 비용이 스텝마다 발생하지 않아도 됩니다.
협업 에이전트 3가지 모드와 실제 쓸 수 있는 조건
ADK 2.0에서 서브에이전트에게 mode를 지정할 수 있습니다. 공식 문서가 제시하는 3가지 모드는 다음과 같습니다.
| 모드 | 사용자 상호작용 | 부모로 복귀 | 병렬 실행 |
|---|---|---|---|
| chat (기본) | 자유 대화 | 수동 전환 | 불가 |
| task | 필요 시 질문 | 자동 | 불가 |
| single_turn | 없음 | 자동 | 가능 ✅ |
(출처: ADK Collaboration 공식 문서, google.github.io/adk-docs/workflows/collaboration/)
병렬 실행이 되는 모드는 single_turn뿐입니다. 여러 서브에이전트를 동시에 돌려서 시간을 단축하고 싶다면 이 모드여야 합니다. 단, single_turn과 task 모드는 각자 독립된 세션 브랜치에서 실행되기 때문에 서로의 진행 상황을 실시간으로 볼 수 없습니다. 병렬로 실행된 결과는 모두 완료된 뒤에 부모 에이전트가 취합합니다.
주의할 점이 하나 더 있습니다. 공식 문서는 mode 설정을 루트 에이전트에 적용하면 안 된다고 명시합니다. 서브에이전트 전용 기능입니다. (출처: ADK Collaboration 공식 문서)
1.0 프로젝트와 섞으면 안 되는 진짜 이유
ADK 2.0 공식 문서는 상단에 굵은 글씨로 이렇게 경고합니다.
“DO NOT allow ADK 2.0 projects to share storage with ADK 1.0 projects, including, but not limited to, session storage, memory systems, and evaluation data. Doing so may result in loss of data or make the data unusable in ADK 1.0 projects.”
출처: ADK 2.0 공식 문서 (google.github.io/adk-docs/2.0/)
“1.0과 호환되도록 설계됐다”는 표현이 앞부분에 있기 때문에, 많은 사람이 기존 1.0 프로젝트 위에 2.0을 올려도 될 것이라고 생각합니다. 하지만 저장소를 공유하는 순간 1.0 데이터가 사용 불가 상태가 되거나 아예 날아갈 수 있다고 공식 문서가 명시합니다. 호환성이 보장되는 건 “에이전트 코드 구조”이지, “저장 데이터 스키마”가 아닙니다.
💡 “호환”이라는 표현이 가리키는 범위가 실제로는 좁습니다
ADK 1.0 시절, Google I/O에서 “프로덕션 레디”라고 발표했지만 실제로 업그레이드한 개발자들의 코드가 깨졌다는 사례가 복수의 인터뷰에서 확인됐습니다. 2.0은 처음부터 “Alpha, 프로덕션 사용 금지”를 전면에 명시하고 있는데, 이 투명성이 오히려 1.0 정식 출시보다 실제 개발자 입장에서 더 안전합니다. 준비가 안 됐다고 솔직하게 쓴 문서가 “레디”라고 쓴 문서보다 신뢰할 수 있습니다. (출처: dlabs.ai ADK 인터뷰, 2025.12)
현재 ADK 1.0 기반으로 운영 중인 서비스가 있다면, 2.0으로의 전환은 별도 가상환경과 별도 저장소에서 처음부터 시작해야 합니다. 1.0 프로젝트 폴더에서 pip install google-adk --pre를 실행하는 방식은 피해야 합니다.
설치 방법과 1.0과의 호환성 현실
ADK 2.0을 설치하려면 반드시 --pre 플래그가 필요합니다. pip install google-adk만으로는 2.0이 설치되지 않고 1.x 최신 버전이 설치됩니다.
# 새 가상환경 먼저 생성 (필수)
python -m venv .venv-adk2
source .venv-adk2/bin/activate # macOS/Linux
# ADK 2.0 알파 설치
pip install google-adk --pre
# 또는 버전 핀 방식
pip install google-adk==2.0.0a1
기존 1.0 환경이 있다면 --force 옵션으로 강제 설치할 수 있지만, 공식 문서는 이 방법으로 업그레이드할 경우 1.0 프로젝트 백업을 먼저 만들도록 경고합니다. (출처: ADK 2.0 공식 문서)
실제 설치 필요 사항은 Python 3.11 이상입니다. Python 3.10 이하 환경에서는 동작하지 않습니다. (출처: PyPI google-adk 2.0.0a1, 2026.03.18)
ADK 2.0은 현재 Python 전용 알파입니다. Java·TypeScript 버전의 공식 2.0 출시 일정은 공식 문서에서 별도로 밝히지 않은 상태입니다.
Graph 워크플로우가 안 되는 기능 목록
Graph 기반 워크플로우는 강력하지만, 기존 ADK 기능 전부와 호환되지 않습니다. 공식 Known limitations 섹션에 직접 명시된 내용입니다.
⛔ Graph 워크플로우와 함께 쓸 수 없는 기능
- Live Streaming 기능 — Graph 기반 워크플로우와 완전히 비호환. 스트리밍이 필요한 서비스에는 적용 불가
- 일부 서드파티 통합(Integrations) — 특정 외부 통합이 Graph 워크플로우와 호환되지 않을 수 있음
- task 모드 서브에이전트 — 하위 서브에이전트를 가질 수 없음(리프 에이전트만 가능)
출처: ADK Workflows 공식 Known Limitations (google.github.io/adk-docs/workflows/)
Live Streaming 제한은 실시간 음성 대화, 영상 처리 에이전트를 만드는 경우라면 치명적입니다. 이 용도라면 Graph 워크플로우 대신 기존 방식의 에이전트를 유지해야 합니다.
또한 ADK 1.0에서 built-in 툴과 structured output을 동시에 쓰려면 번거로운 래핑이 필요한데, 이 제한은 2.0에서도 공식적으로 해결됐다는 발표가 없습니다. 커뮤니티 수준의 우회법이 존재하지만 공식 해법은 아직입니다.
ADK 2.0 지금 써야 할 사람 vs 기다려야 할 사람
알파 버전이라는 레이블 하나에 “아직 아니다”로 결론 내리는 건 정확하지 않습니다. 용도에 따라 지금 시작해도 되는 경우와 기다려야 하는 경우가 분명히 나뉩니다.
✅ 지금 써도 되는 경우
- 새 프로젝트를 처음 시작하는 경우 (1.0 데이터 없음)
- Graph 워크플로우 학습 목적
- Live Streaming이 필요 없는 배치 처리 에이전트
- 멀티에이전트 협업 구조 실험
⛔ 기다리는 게 나은 경우
- 기존 ADK 1.0 서비스를 운영 중인 경우
- 1.0 세션/메모리 데이터를 유지해야 하는 경우
- 실시간 스트리밍 기반 에이전트인 경우
- GA(정식) 버전이 필요한 프로덕션 환경
솔직히 말하면, ADK 2.0에서 가장 매력적인 기능인 Graph 워크플로우는 LangGraph가 이미 비슷한 개념으로 먼저 내놓은 것이기도 합니다. 차이는 Google Cloud, Gemini, A2A 프로토콜과의 네이티브 연동입니다. 특히 Google Cloud Run 배포가 adk deploy cloud_run 한 줄로 된다는 점은 LangGraph에는 없는 실질적 이점입니다.
자주 묻는 것들 — Q&A
Q1. ADK 2.0은 언제 정식(GA) 출시되나요?
2026년 3월 현재 공식 문서에서 GA 출시 일정을 별도로 밝히지 않은 상태입니다. 알파 기간 동안 GitHub 이슈 피드백을 수집 중이고, ADK 1.0의 GA 전환 속도를 보면 수 개월 이내 정식 출시가 이뤄질 가능성은 있지만 확정된 날짜는 없습니다.
Q2. Gemini 모델이 아닌 다른 모델(GPT, Claude)도 쓸 수 있나요?
ADK 1.0 기준으로는 LiteLLM을 통해 타사 모델을 연결할 수 있었습니다. ADK 2.0 알파에서의 호환 범위는 공식 문서에서 명확히 밝히지 않은 상태로, Gemini 모델 사용이 공식적으로 안내된 방법입니다. 공식 퀵스타트의 예제 코드는 전부 gemini-2.5-flash를 기본으로 합니다.
Q3. ADK 2.0과 LangGraph 중 어느 게 낫나요?
Google Cloud 인프라(Cloud Run, Vertex AI, BigQuery)를 주로 쓴다면 ADK가 배포 및 통합 측면에서 유리합니다. 클라우드 벤더에 종속되지 않으면서 정교한 그래프 제어가 필요하다면 LangGraph가 생태계가 더 성숙합니다. 두 프레임워크는 경쟁 관계이지만 목적 지향이 다릅니다.
Q4. ADK 2.0에서 A2A 프로토콜도 바로 쓸 수 있나요?
ADK 자체가 A2A 프로토콜과 연동 가능합니다. 에이전트를 A2A 서버로 변환하는 함수가 ADK에 포함되어 있고, 외부에서 A2A 클라이언트로 접근하는 방식이 지원됩니다. 다만 ADK 2.0 알파에서 A2A 연동의 세부 동작은 공식 문서에서 별도로 다루지 않은 부분이 있어, 실제 적용 시 1.x 기준의 가이드를 참고해야 합니다.
Q5. Python 3.10 환경에서 ADK 2.0을 쓰려면 어떻게 하나요?
ADK 2.0의 최소 요구 사항은 Python 3.11 이상입니다. Python 3.10에서는 설치 자체가 안 됩니다. 파이썬 버전을 3.11 이상으로 먼저 올린 뒤 설치해야 합니다. (출처: PyPI google-adk 2.0.0a1)
마치며
ADK 2.0에서 가장 실질적인 변화는 “프롬프트로 흐름을 제어하던 것”에서 “코드로 그래프를 고정하는 것”으로의 전환입니다. 이게 단순한 기능 추가가 아니라, 에이전트가 얼마나 예측 가능하게 동작하느냐의 문제를 구조적으로 바꾸는 접근입니다.
다만 알파는 알파입니다. 공식 문서가 “데이터 날아간다”고 직접 쓴 경고를 가볍게 보면 안 됩니다. 기존 서비스에 올리기 전에 반드시 별도 환경에서 충분히 테스트하고, GitHub 이슈 트래커를 주기적으로 확인하는 것이 현실적인 접근 방법입니다.
개인적으로는 지금 당장 새 프로젝트를 시작한다면 ADK 2.0으로 시작할 것입니다. 1.0으로 쌓아온 게 있다면 조금 더 기다리겠습니다.
📚 본 포스팅 참고 자료
- Google ADK 2.0 공식 문서 — google.github.io/adk-docs/2.0/
- Google ADK Workflows 공식 문서 — google.github.io/adk-docs/workflows/
- PyPI google-adk 2.0.0a1 (2026.03.18) — pypi.org/project/google-adk/2.0.0a1/
- ADK Collaboration 공식 문서 — google.github.io/adk-docs/workflows/collaboration/
- DLabs.ai ADK Production Challenges (2025.12) — dlabs.ai 원문 링크
본 포스팅은 2026년 3월 25일 기준으로 작성됐습니다. Google ADK 2.0은 현재 알파 버전으로, 본 포스팅 작성 이후 서비스 정책·API·기능이 변경될 수 있습니다. ADK 2.0은 프리-GA 릴리스로, Google이 공식 GA 출시 전까지 하위 호환성을 보장하지 않습니다.











댓글 남기기