====== 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