====== Google ADK ====== **Google Agent Development Kit (ADK)** is an open-source, code-first Python framework for building, evaluating, and deploying AI agents. With **18.6K GitHub stars**, ADK is Google's official agent framework — optimized for Gemini models but fully model-agnostic, supporting deployment from local development to Google Cloud at scale. {{tag>framework python google gemini agents multi-agent cloud}} ===== Overview ===== Google ADK was released as part of Google's push to make agent development accessible through software engineering best practices rather than prompt-centric approaches. The framework emphasizes a code-first philosophy where agents are defined in Python with clear structure, tools are regular functions, and deployment scales from ''adk run'' on a laptop to Vertex AI Agent Engine in production. ADK 2.0 Alpha introduced graph-based orchestration for complex multi-agent workflows, signaling Google's commitment to the framework as a first-class development platform. ===== Key Features ===== * **Code-First Development** — Agents defined in Python (''agent.py'') with tools as regular functions; also supports YAML config * **Gemini-Optimized** — Default models like ''gemini-3-flash-preview'' with native thinking capabilities * **Model-Agnostic** — Configurable authentication for any LLM provider * **Multi-Agent Orchestration** — Hierarchical agents, agents-as-tools, graph-based workflows (ADK 2.0 Alpha) * **Rich Tool Ecosystem** — Search, Code Execution, BigQuery forecast, GKECodeExecutor, OAuth flows * **ADK Web** — Open-source developer UI for interactive agent testing and debugging * **CLI Tools** — ''adk create'', ''adk run'', ''adk web'' for project lifecycle management * **Google Cloud Integration** — Vertex AI Agent Engine, Cloud Run, GKE deployment * **ADK Skills** — AI-powered coding assistance in development environments ===== Architecture ===== ADK follows a modular project structure with clear separation of concerns: graph TD subgraph Runtime["ADK Runtime"] subgraph RootAgent["Root Agent"] A[Model: Gemini / OpenAI] B[Instructions: System Prompt] C[Tools: Functions / Built-in] end D[Sub-Agents / Graph Orchestration: Hierarchical / Agents-as-Tools / DAG] end RootAgent --> D D --> E[adk run: CLI] D --> F[adk web: Dev UI] D --> G[Vertex AI: Cloud] ===== Code Example ===== Building an agent with Google ADK: from google.adk.agents.llm_agent import Agent from google.adk.runners import Runner from google.adk.sessions import InMemorySessionService # Define a tool as a regular Python function def get_current_weather(city: str) -> dict: """Get the current weather for a city.""" # Real API call would go here return { "city": city, "temperature": "22C", "condition": "Sunny", "humidity": "45%" } def search_news(topic: str) -> dict: """Search for recent news on a topic.""" return { "topic": topic, "articles": ["Article 1", "Article 2", "Article 3"] } # Define the agent root_agent = Agent( model="gemini-2.0-flash", name="assistant", description="A helpful assistant with weather and news tools.", instruction=( "You are a helpful assistant. Use available tools to " "answer questions about weather and current events." ), tools=[get_current_weather, search_news], ) # Run interactively session_service = InMemorySessionService() runner = Runner(agent=root_agent, app_name="my_app", session_service=session_service) ===== Google Cloud Integration ===== ADK integrates deeply with Google Cloud services: ^ Service ^ Integration ^ | **Vertex AI Agent Engine** | Production deployment with CLI config | | **Cloud Run** | Containerized agent deployment | | **BigQuery** | Forecast tools, project/app naming | | **GKE** | GKECodeExecutor for sandboxed code execution | | **Bigtable** | Experimental toolset for database operations | | **OAuth** | Configurable audience/prompt for Google services | ===== Recent Updates (2025-2026) ===== * **ADK 2.0 Alpha** — Graph-based workflows for advanced multi-agent orchestration * **Agent Config** — YAML-based agent authoring with CLI deployment to Agent Engine * **ADK Web** — Open-sourced developer UI for interactive debugging * **ADK Skills** — AI-powered coding tools for development environments * **Tool Enhancements** — BigQuery forecast, GKECodeExecutor, tool confirmation flows, OAuth * **Multi-language** — Java, Go, and npm support alongside Python * **Samples Repository** — 54+ contributors with agents for RAG, financial advisor, travel concierge ===== References ===== * [[https://github.com/google/adk-python|GitHub Repository (Python)]] * [[https://google.github.io/adk-docs/|Documentation]] * [[https://github.com/google/adk-samples|Samples Repository]] * [[https://github.com/google/adk-web|ADK Web UI]] ===== See Also ===== * [[langchain]] — General-purpose LLM framework * [[pydantic_ai]] — Type-safe agent framework (uses Pydantic, like ADK) * [[agno]] — High-performance agent runtime * [[haystack]] — Pipeline-based AI orchestration