Core Concepts
Reasoning
Memory & Retrieval
Agent Types
Design Patterns
Training & Alignment
Frameworks
Tools
Safety & Security
Evaluation
Meta
Core Concepts
Reasoning
Memory & Retrieval
Agent Types
Design Patterns
Training & Alignment
Frameworks
Tools
Safety & Security
Evaluation
Meta
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.
framework python google gemini agents multi-agent cloud
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.
agent.py) with tools as regular functions; also supports YAML configgemini-3-flash-preview with native thinking capabilitiesadk create, adk run, adk web for project lifecycle managementADK follows a modular project structure with clear separation of concerns:
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)
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 |