adk-python
무엇인가
ADK는 AI 에이전트를 소프트웨어 개발 방식으로 구축하기 위한 파이썬 툴킷이다. 에이전트 정의, 도구 연결, 실행 그래프, 평가, 배포를 하나의 코드베이스에서 다룬다. Gemini에 최적화되어 있으나 특정 모델이나 배포 환경에 묶이지 않는다. Java, Kotlin, Go, TypeScript 포트가 같은 개념을 공유한다.
어떻게 동작하나
핵심 구성 요소는 두 클래스다. Agent는 지시문과 도구, 행동을 정의하고, Workflow는 에이전트와 태스크를 그래프로 엮는다. Workflow Runtime은 라우팅, fan-out/fan-in, 루프, 재시도, 상태 관리, 동적 노드, human-in-the-loop, 중첩 워크플로를 실행 단위로 처리한다. Task API는 에이전트 간 위임을 구조화하며 멀티턴 태스크 모드와 단일턴 제어 출력을 함께 쓴다. 도구는 사전 빌트인 도구, 커스텀 파이썬 함수, OpenAPI 스펙, MCP 도구로 붙인다. Tool Confirmation 흐름은 도구 실행 전에 명시적 확인과 사용자 입력을 요구한다.
무엇과 다른가
에이전트 로직을 프롬프트나 설정 파일이 아니라 파이썬 코드로 정의하는 것이 기본 전제다. 그래서 버전 관리와 테스트, 리팩터링이 일반 코드와 같은 방식으로 적용된다. 코드 없이 구성하는 Agent Config 경로도 별도로 있다. 2.0은 1.x와 에이전트 API, 이벤트 모델, 세션 스키마가 호환되지 않는다. 2.0이 만든 세션은 ADK 1.28 이상에서 읽히고 알 수 없는 필드는 무시되지만, 그보다 오래된 1.x에서는 읽히지 않는다.
어떻게 쓰나
설치는 pip install google-adk로 안정 버전을 받는다. Python 3.10 이상이 필요하고, 파이썬 3.10~3.14용 제약 파일을 함께 쓰면 전이 의존성이 고정된다. 선택 통합 기능은 별도 명령으로 설치한다. Agent와 Workflow를 정의한 뒤 adk 명령으로 로컬 실행하고, 내장 개발 UI에서 테스트·평가·디버깅한다. 배포는 Docker 컨테이너로 로컬 실행하거나 Cloud Run, Vertex AI Agent Engine으로 확장한다. 환경 변수는 adk 명령에 넘기거나 .env 파일에 둔다.
전제와 한계
개발 버전은 GitHub main 브랜치에서 직접 설치하며, 최신 수정과 실험적 변경이 섞여 있을 수 있다. 공식 릴리스 주기는 대략 2주다. 저장소는 Apache 2.0 라이선스다. 커뮤니티 도구와 서드파티 통합, 배포 스크립트는 별도 adk-python-community 저장소에서 관리한다. LLM 컨텍스트로 쓰는 llms.txt와 llms-full.txt가 함께 배포된다.
관련 논문 5
유사 도구
- autogen여러 AI 에이전트를 계층형 API로 조립해 대화·코드 실행·분산 런타임을 구성하는 Python 멀티에이전트 프레임워크다.
- crewAI역할 기반 자율 AI 에이전트를 Crews로 묶고, 이벤트 기반 Flows로 실행을 제어하는 Python 멀티에이전트 오케스트레이션 프레임워크다.
- langroid에이전트에 LLM·벡터스토어·도구를 붙이고 태스크를 맡겨 메시지로 협업시키는 Python 멀티에이전트 프레임워크다. LangChain에 의존하지 않는다.
- UFO여러 기기에서 동작하는 에이전트를 DAG로 분해해 비동기로 조율하는 파이썬 기반 멀티디바이스 오케스트레이션 프레임워크다.
- MetaGPT한 줄 요구사항을 입력하면 제품 관리자·아키텍트·엔지니어 역할의 LLM 에이전트 팀이 SOP 순서대로 요구사항·설계·API·코드를 산출하는 멀티에이전트 프레임워크다.
- AutoGPT평문으로 작업을 설명하면 AI 에이전트를 만들어 실행하고 결과를 보고하는 오픈소스 플랫폼이다. 자체 호스팅과 관리형 호스팅을 모두 지원한다.