What is Google ADK (Agent Development Kit)? Explain its key features, architecture, and how it differs from LangChain, CrewAI, and AutoGen.

#google-adk#agents#framework#gemini#open-source

Answer

What is Google ADK?

Google ADK
Google ADK

Google Agent Development Kit (ADK) is an open-source, code-first framework for building, evaluating, and deploying sophisticated AI agents with flexibility and control. Released under the Apache 2.0 License, it is designed to empower developers to quickly build, manage, evaluate, and deploy AI-powered agents.


Key Features

FeatureDescription
Open SourceApache 2.0 License - free for personal, commercial, and enterprise use
Code-FirstDefine agent logic, tools, and orchestration directly in code
Model-AgnosticOptimized for Gemini, but supports OpenAI, Anthropic, Ollama, vLLM, and 100+ LLMs via LiteLLM
Deployment-AgnosticDeploy anywhere - local, Cloud Run, GKE, Vertex AI Agent Engine
Multi-LanguageOfficial SDKs in Python, TypeScript/JavaScript, Go, and Java
Framework-CompatibleInteroperable with LangChain, CrewAI, LlamaIndex via A2A protocol
Multi-AgentBuilt-in support for multi-agent hierarchies, delegation, and orchestration
Built-in Evaluation7 evaluation metrics, test files, eval sets
StreamingGemini Live API for real-time bidirectional voice/video

ADK Architecture Overview

ADK Components
ADK Components


Multi-Language SDKs

LanguageRepositoryPackage
Pythongithub.com/google/adk-python
text
pip install google-adk
Javagithub.com/google/adk-javaMaven/Gradle
Gogithub.com/google/adk-go
text
go get
TypeScriptgithub.com/google/adk-webnpm

Google ADK vs LangChain vs CrewAI vs AutoGen

FeatureGoogle ADKLangChainCrewAIAutoGen
Model SupportGemini + 100+ via LiteLLM50+ via integrationsOpenAI-focusedOpenAI + Azure
Multi-AgentNative (Sequential, Parallel, Loop)Via LangGraphNative (Crew, Tasks)Native (GroupChat)
Tools60+ integrations + MCP + OpenAPI100+ integrationsLangChain toolsCustom functions
DeploymentVertex AI, Cloud Run, GKESelf-managedSelf-managedSelf-managed
EvaluationBuilt-in (7 metrics)Via LangSmithLimitedLimited
Open SourceApache 2.0MITMITMIT
No-Code OptionAgent Config (YAML)NoNoNo
StreamingGemini Live API (voice/video)LLM streamingNoNo
A2A ProtocolNative supportNoNoNo
LanguagesPython, Java, Go, TypeScriptPython, JSPythonPython, .NET

Quick Start

python
from google.adk.agents import Agent

def get_weather(city: str) -> dict:
    """Get weather for a city."""
    return {"city": city, "temperature": 72, "condition": "sunny"}

agent = Agent(
    name="weather_agent",
    model="gemini-2.5-flash",
    instruction="Help users check the weather.",
    tools=[get_weather],
)
bash
# Install
pip install google-adk

# Run
adk run my_agent

Learn more at Google ADK Docs and GitHub.