GitHub - google/adk-python: An open-source, code-first Python toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.
핵심 포인트
- 1ADK는 유연하고 제어 가능한 AI agent를 구축, 평가 및 배포하기 위한 오픈 소스, code-first Python toolkit입니다.
- 2이 프레임워크는 풍부한 Tool Ecosystem, Code-First Development, Modular Multi-Agent Systems를 지원하며, Gemini에 최적화되었지만 model-agnostic하게 작동합니다.
- 3ADK는 복잡한 agent 워크플로우를 단순화하고, Cloud Run 또는 Vertex AI Agent Engine을 통해 어디든 배포 가능하여 AI agent 개발을 용이하게 합니다.
google/adk-python은 유연성과 제어력을 바탕으로 정교한 AI agent를 구축, 평가 및 배포하기 위한 open-source, code-first Python toolkit입니다. 이는 AI agent 생성에 소프트웨어 개발 원칙을 적용하는 유연하고 모듈화된 프레임워크입니다. ADK의 핵심 목표는 단순한 작업부터 복잡한 시스템에 이르기까지 agent workflow를 구축, 배포 및 orchestrate하는 과정을 단순화하는 것입니다. Gemini에 최적화되어 있지만, model-agnostic 및 deployment-agnostic이며 다른 프레임워크와도 호환됩니다.
핵심 방법론 및 설계 원칙:
ADK는 code-first 개발 방식에 중점을 둡니다. 이는 agent의 로직, tool 및 orchestration을 Python 코드로 직접 정의하여 궁극적인 유연성, 테스트 용이성 및 버전 관리를 제공한다는 것을 의미합니다.
- 모듈식 다중
Agent시스템 (Modular Multi-Agent Systems):ADK는 여러 전문agent를 유연한 계층 구조로 구성하여 확장 가능한 애플리케이션을 설계할 수 있도록 지원합니다. 이는LlmAgent또는BaseAgent와 같은 개별agent를 정의한 다음, 이들을sub_agents로 상위coordinator agent에 할당하여 복잡한 작업을 수행하도록orchestrate하는 방식으로 구현됩니다. 예를 들어,coordinatoragent는greeter와task_executorsub_agents를 관리하며 협력적으로 작업을 수행합니다.
- 풍부한
Tool생태계 (Rich Tool Ecosystem):agent에 다양한 기능을 제공하기 위해pre-built tool,custom function,OpenAPIspec,MCP tool을 활용하거나 기존tool을 통합할 수 있습니다.Google생태계와의 긴밀한 통합이 가능합니다. 특히Tool Confirmation(HITL)flow는 명시적인 확인 및 사용자 정의 입력을 통해tool실행을 보호하는 기능을 제공합니다.
- 배포 유연성 (
Deploy Anywhere):ADK는agent를containerize하고Cloud Run에 쉽게 배포하거나Vertex AI Agent Engine을 통해 원활하게 확장할 수 있도록 설계되어deployment-agnostic한 특성을 가집니다.
주요 기능:
Custom Service Registration:FastAPI server에서 사용할custom service implementation을 등록하는 일반적인 방법을 제공합니다.Rewind: 이전 호출 이전의 세션으로 되돌리는 기능을 추가합니다.New CodeExecutor:Vertex AI Code Execution Sandbox API를 사용하여agent-generated code를 실행할 수 있는AgentEngineSandboxCodeExecutor클래스를 도입합니다.Agent Config: 코드를 사용하지 않고agent를 구축할 수 있는 기능을 제공합니다.Agent2Agent (A2A) Protocol통합: 원격agent-to-agent통신을 위해A2A protocol과 통합됩니다.- 개발
UI(Development UI):agent를 테스트, 평가, 디버깅 및 시연하는 데 도움이 되는 내장UI를 포함합니다.adk eval명령어를 통해agent평가를 지원합니다. Vibe Coding:llms.txt및llms-full.txt파일을LLM의context로 활용하여agent개발을 지원합니다.llms.txt는 요약된 정보를,llms-full.txt는LLM의context window가 충분히 클 경우 모든 정보를 포함합니다.
ADK는 pip install google-adk를 통해 stable version을 설치할 수 있으며, 최신 변경 사항에 접근하기 위해 GitHub의 main branch에서 직접 설치할 수도 있습니다. 이 프로젝트는 Apache 2.0 License에 따라 라이선스가 부여됩니다.