Google Agent Development Kit (ADK): Construye Sistemas AI Multi-Agente
Guía técnica completa del Agent Development Kit de Google -- el framework open-source, code-first y model-agnostic para construir, evaluar y desplegar sistemas AI multi-agente. Cubre los SDKs de Python, TypeScript, Java 1.0 y Go 1.0, la arquitectura LlmAgent con sub-agentes y decoradores de herramientas, soporte nativo del protocolo A2A, integración de herramientas MCP, métricas de evaluación integradas, despliegue en Vertex AI, Cloud Run, GKE y Docker, la Web UI de ADK, y una comparación detallada con Claude Agent SDK, OpenAI Agents SDK y LangGraph.
1. ¿Qué es Google ADK?
El Agent Development Kit (ADK) es un framework open-source de Google diseñado para simplificar el desarrollo full-stack de agentes AI y sistemas multi-agente. Presentado en Google Cloud NEXT 2025, ADK provee un enfoque code-first para construir agentes que pueden razonar, usar herramientas, colaborar con otros agentes y ejecutar flujos de trabajo complejos. Aunque está optimizado para Gemini y el ecosistema Google Cloud, ADK es explícitamente model-agnostic y deployment-agnostic -- puedes usarlo con otros LLMs y desplegarlo en cualquier lugar.
ADK aborda la brecha entre prototipar un agente AI y ejecutarlo en producción. Provee una jerarquía estructurada de agentes (agentes padre delegando a sub-agentes), un ecosistema rico de herramientas (herramientas MCP, herramientas de bibliotecas de terceros), evaluación y debugging integrados, y múltiples destinos de despliegue desde desarrollo local hasta infraestructura cloud completamente gestionada. El framework sigue una cadencia de releases aproximadamente quincenal, con la primera reunión comunitaria en octubre 2025.
La filosofía central de diseño es code-first con configuración opcional. Defines agentes, herramientas y lógica de orquestación en código usando Python, TypeScript, Java o Go. Para casos más simples, ADK también soporta definición de agentes vía archivos de configuración YAML (Agent Config), habilitando flujos de trabajo sin escribir código. Este enfoque dual permite a los equipos empezar con configuración y graduarse al control completo por código a medida que crece la complejidad.
2. Soporte Multi-Lenguaje
ADK está disponible en cuatro lenguajes, cada uno con su propio repositorio de SDK y ciclo de releases. Python fue el primer SDK y sigue siendo el más completo en features. TypeScript, Java 1.0 y Go 1.0 alcanzaron disponibilidad general a principios de 2026, trayendo paridad de features a todos los lenguajes soportados.
Python (google-adk)
El SDK original y más maduro. La versión 2.0 alcanzó disponibilidad general en mayo de 2026, con la versión actual en 2.2 (junio de 2026). Features incluyen decoradores de herramientas, soporte async/await, streaming, gestión de sesiones con backends pluggables, y la integración más profunda con servicios de Vertex AI. Instala via pip install google-adk.
TypeScript (adk-typescript)
Lanzado como framework open-source que da a los desarrolladores TypeScript y JavaScript un enfoque code-first para construir agentes AI autónomos. Soporte completo para LlmAgent, definiciones de herramientas, orquestación de sub-agentes y streaming. Ideal para backends Node.js y equipos full-stack JavaScript. Instala via npm install @google/adk.
Java 1.0 (adk-java)
ADK para Java 1.0.0 trae el framework completo de agentes al ecosistema JVM. Introduce una nueva arquitectura App y Plugin para composición modular de agentes, ingeniería avanzada de contexto para gestión de estado, y flujos de trabajo human-in-the-loop. Soporta nativamente el Protocolo A2A para comunicación entre agentes de diferentes frameworks. Nuevas herramientas en 1.0 incluyen GoogleMapsTool para grounding de ubicación, UrlContextTool para resumir contenido web, ContainerCodeExecutor y VertexAICodeExecutor para ejecución robusta de código (Docker local y cloud respectivamente), y ComputerUseTool para automatización de navegador. Diseñado para integración con Spring Boot, Micronaut o Jakarta EE.
Go 1.0 (adk-go)
ADK Go 1.0 soporta definición de agentes vía configuraciones YAML para consistencia cross-language. Introduce integración nativa con OpenTelemetry (OTel), generando trazas y spans estructurados para debugging de lógica compleja de agentes. Mejor para equipos construyendo sistemas de agentes de alto rendimiento y concurrentes en Go.
3. Arquitectura de Agentes
La arquitectura de agentes de ADK se centra en la clase LlmAgent (también con alias Agent), que envuelve un LLM con instrucciones, herramientas y sub-agentes opcionales. Cada agente tiene un nombre, una referencia de modelo, instrucciones del sistema, una lista de herramientas que puede llamar, y una lista opcional de agentes hijos a los que puede delegar. El motor ADK orquesta el ciclo de razonamiento: el LLM decide si llamar a una herramienta, delegar a un sub-agente o retornar una respuesta final.
Las herramientas se definen usando decoradores (Python) o funciones anotadas (TypeScript, Java, Go). El decorador @tool en Python extrae automáticamente la firma de la función, el docstring y los type hints para generar el JSON Schema de la herramienta. Las herramientas pueden realizar cualquier operación: llamadas API, consultas a bases de datos, operaciones de archivos, ejecución de código, o invocar servicios externos. ADK también provee herramientas pre-construidas para Google Search, ejecución de código (vía sandbox de Vertex AI), y más.
# Python: Define an agent with tools and sub-agents
from google.adk import Agent
def get_weather(city: str) -> dict:
"""Get current weather for a city."""
# Call weather API
return {"city": city, "temp": 22, "condition": "sunny"}
def book_restaurant(name: str, party_size: int) -> str:
"""Book a table at a restaurant."""
return f"Booked {name} for {party_size} guests"
# Sub-agent for restaurant tasks
restaurant_agent = Agent(
name="restaurant_agent",
model="gemini-2.5-flash",
instruction="You help with restaurant bookings.",
tools=[book_restaurant]
)
# Root agent that delegates
root_agent = Agent(
name="travel_assistant",
model="gemini-2.5-flash",
instruction="You are a travel assistant. Delegate "
"restaurant tasks to the restaurant agent.",
tools=[get_weather],
sub_agents=[restaurant_agent]
)
La orquestación de sub-agentes es un concepto de primera clase. Un agente padre puede delegar tareas a sub-agentes especializados, cada uno con sus propias herramientas e instrucciones. El motor ADK y el modelo guían a los agentes a trabajar juntos: un agente coordinador descompone las solicitudes del usuario, delega sub-tareas a agentes especializados y sintetiza sus respuestas. Esto habilita sistemas multi-agente modulares y mantenibles donde cada agente tiene una responsabilidad enfocada.
El estado de sesión se gestiona a través de backends pluggables. ADK mantiene el historial de conversación y variables de estado por sesión. El estado puede almacenarse en memoria (para desarrollo), o en backends persistentes como Cloud Firestore, Redis o stores personalizados para producción. El estado de sesión soporta rebobinar a un punto de invocación anterior, permitiendo debugging y replay de interacciones de agentes.
4. Soporte del Protocolo A2A
ADK soporta nativamente el Protocolo Agent-to-Agent (A2A), el estándar abierto para comunicación inter-agente a través de diferentes frameworks y vendors. A2A permite a los agentes ADK descubrir y comunicarse con agentes construidos en LangGraph, CrewAI o cualquier otro framework compatible con A2A. Esto es crítico para entornos enterprise donde diferentes equipos construyen agentes usando diferentes herramientas.
La integración funciona a través de Agent Cards -- archivos de metadata JSON que describen las capacidades de un agente, modos de interacción soportados y URL del endpoint. Un agente orquestador ADK puede usar funciones de descubrimiento y delegación como herramientas, con instrucciones del sistema que guían al LLM sobre cómo usar estas herramientas para descomponer solicitudes del usuario y coordinar con agentes remotos.
# Convert an ADK agent to an A2A-compatible server
from google.adk.a2a import A2AServer
# The A2A server exposes the agent via the A2A protocol
a2a_server = A2AServer(
agent=root_agent,
agent_card={
"name": "travel-assistant",
"description": "Helps with travel planning",
"capabilities": ["weather", "restaurants"],
"url": "https://my-agent.run.app/a2a"
}
)
# Remote agents can now discover and call this agent
# using the standard A2A protocol, regardless of their
# own framework (LangGraph, CrewAI, OpenAI SDK, etc.)
El Protocolo A2A permite a los agentes de diferentes ecosistemas comunicarse independientemente del framework o vendor en el que estén construidos. El soporte nativo de ADK significa que no necesitas bibliotecas o adaptadores adicionales -- A2A está integrado en el SDK core a través de Python, TypeScript, Java y Go.
La Gemini Interactions API (anunciada el 23 de abril de 2026) agrega una nueva capa de comunicación para agentes construidos con ADK. Proporciona patrones de comunicación turn-based y streaming más ricos entre agentes y sistemas externos, complementando el descubrimiento cross-framework de A2A con semánticas de interacción más expresivas para flujos de trabajo multi-turno complejos.
5. Integración de Herramientas MCP
ADK se integra con el ecosistema del Model Context Protocol (MCP), permitiendo a los agentes usar cualquier servidor de herramientas compatible con MCP como fuente de herramientas. Esto significa que tus agentes ADK pueden conectarse a los 50+ servidores MCP de la comunidad para bases de datos, plataformas cloud, herramientas de desarrollo y servicios de comunicación sin escribir código de integración personalizado.
La integración soporta tanto Stdio (servidores MCP locales) como transportes basados en HTTP (servidores MCP remotos). También puedes usar herramientas de bibliotecas de terceros de LangChain y LlamaIndex, o envolver otros frameworks de agentes (LangGraph, CrewAI) como herramientas. Esta componibilidad significa que los agentes ADK pueden aprovechar todo el ecosistema de herramientas existente en vez de requerir integraciones construidas a propósito.
# Using MCP tools in an ADK agent
from google.adk import Agent
from google.adk.tools.mcp import MCPToolset
# Connect to an MCP server (e.g., GitHub)
github_tools = MCPToolset(
command="npx",
args=["-y", "@modelcontextprotocol/server-github"],
env={"GITHUB_TOKEN": "..."}
)
agent = Agent(
name="code_reviewer",
model="gemini-2.5-flash",
instruction="Review pull requests using GitHub tools.",
tools=[github_tools]
)
6. Framework de Evaluación
ADK incluye un framework de evaluación integrado para testear el comportamiento del agente antes del despliegue. El framework opera en dos niveles: evaluación local vía la Web UI de ADK para testing rápido e interactivo durante el desarrollo, y evaluación a escala vía el Servicio de Evaluación Gen AI de Vertex AI para ejecutar suites de tests completas con métricas más ricas.
Las métricas de rúbrica integradas incluyen FINAL_RESPONSE_QUALITY (calidad general de la respuesta), TOOL_USE_QUALITY (si el agente seleccionó las herramientas correctas con parámetros correctos), HALLUCINATION (fundamentación factual) y SAFETY (detección de contenido dañino). También puedes definir métricas personalizadas -- por ejemplo, una response_follows_trajectory_metric que evalúa si la respuesta del agente sigue lógicamente de sus elecciones de herramientas.
El flujo de evaluación sigue un ciclo interno de cinco pasos: (1) definir casos de test con resultados esperados, (2) ejecutar el agente contra inputs de test, (3) comparar comportamiento real con trayectorias esperadas, (4) inspeccionar llamadas de herramientas y pasos de razonamiento en la Web UI, (5) iterar sobre instrucciones del agente y definiciones de herramientas. Para producción, Vertex AI agrega evaluación LLM-as-a-judge, donde un modelo separado puntua respuestas del agente contra rúbricas, habilitando puertas de calidad automatizadas en pipelines CI/CD.
7. Opciones de Despliegue
Los agentes ADK pueden desplegarse en una variedad de targets de infraestructura, desde contenedores Docker locales hasta servicios de Google Cloud completamente gestionados. El framework es deployment-agnostic por diseño -- el mismo código de agente corre en todas partes sin modificación.
Vertex AI Agent Engine
Despliegue completamente gestionado que elimina la necesidad de gestionar servidores web o contenedores. Provee un entorno con opiniones optimizado para agentes Python con autenticación integrada, observabilidad Cloud Trace y seguridad de grado enterprise. Mejor para equipos que quieren cero gestión de infraestructura.
Cloud Run
Recomendado para máxima flexibilidad: UIs web personalizadas, requisitos específicos de networking, comunicación A2A compleja, u optimización de costos con scale-to-zero para tráfico esporádico. Los agentes se conteinerizan y auto-escalan según el volumen de requests. No se necesita hardware GPU ya que la inferencia LLM corre en APIs de Vertex AI.
GKE (Google Kubernetes Engine)
Orquestación de contenedores para agentes que requieren capacidades completas de Kubernetes: scheduling personalizado, service mesh, networking avanzado, o integración con clusters GKE existentes. El cluster GKE no requiere hardware GPU ya que la inferencia LLM usa la API de Vertex AI. Mejor para equipos que ya corren cargas de trabajo de producción en GKE.
Docker
Conteneriza agentes para desarrollo local, testing o despliegue self-hosted. Usa Docker Compose para correr sistemas multi-agente localmente con todas las dependencias. La misma imagen de contenedor se despliega en Cloud Run, GKE o cualquier runtime de contenedores.
8. Web UI de ADK
ADK incluye una interfaz web de desarrollo integrada (ADK Web UI) para testing y debugging interactivo de agentes. Cuando inicias el servidor de desarrollo ADK, la Web UI es accesible en tu navegador, proveyendo una interfaz de chat para interactuar con tus agentes, inspeccionar llamadas de herramientas, ver pasos de razonamiento y debuggear interacciones multi-agente en tiempo real.
La Web UI está diseñada para el ciclo interno de desarrollo: haz un cambio de código, testéalo inmediatamente en la UI, inspecciona qué pasó, e itera. Muestra la traza completa de ejecución del agente -- qué herramientas se llamaron, qué argumentos se pasaron, qué sub-agentes se invocaron y qué retornó cada componente. Esta visibilidad es esencial para debuggear flujos de trabajo multi-agente complejos donde entender el flujo de orquestación es crítico.
# Start the ADK development server with Web UI adk web # The Web UI is accessible at http://localhost:8000 # Features: # - Chat interface for agent interaction # - Tool call inspection with arguments and results # - Sub-agent delegation visualization # - Session state viewer # - Execution trace timeline # - Built-in evaluation test runner
ADK también soporta streaming bidireccional de audio y video, habilitando conversaciones tipo humano con agentes. Esto es único entre frameworks de agentes y habilita interfaces de agentes basadas en voz, flujos de análisis de video e interacciones multimodales directamente a través de la UI de desarrollo.
9. Comparación de Frameworks
El panorama de frameworks de agentes en 2026 tiene cuatro contendientes principales. Cada uno tiene fortalezas distintas ligadas a su ecosistema. Esta comparación cubre Google ADK, Claude Agent SDK, OpenAI Agents SDK y LangGraph.
| Dimensión | Google ADK | Claude Agent SDK | OpenAI Agents SDK | LangGraph |
|---|---|---|---|---|
| Soporte de modelos | Optimizado para Gemini, soporta otros | Solo modelos Claude | Solo modelos OpenAI | Completamente model-agnostic |
| Lenguajes | Python, TypeScript, Java, Go | Python, TypeScript | Python, TypeScript | Python, TypeScript |
| Multi-agente | Sub-agentes nativos + protocolo A2A | Sub-agentes vía delegación de herramientas | Patrón handoff entre agentes | Orquestación basada en grafos |
| Gestión de estado | Estado de sesión con backends pluggables | Servidores MCP para persistencia de estado | Variables de contexto (efímeras) | Checkpointing con viaje en el tiempo |
| Ecosistema de herramientas | MCP + LangChain + LlamaIndex + integradas | Ecosistema MCP (50+ servidores) | Integradas + funciones personalizadas | Herramientas LangChain + personalizadas |
| Evaluación | Métricas integradas + eval Vertex AI | Herramientas de evaluación externas | Tracing + guardrails integrados | Observabilidad LangSmith |
| Despliegue | Vertex AI, Cloud Run, GKE, Docker | Self-hosted, cualquier runtime de contenedores | Plataforma OpenAI, self-hosted | LangGraph Cloud, self-hosted |
| Mejor para | Enterprise Google Cloud, equipos multi-lenguaje | Acceso profundo al SO, asistentes de desarrollo | Prototipado rápido, agentes de voz | Orquestación compleja con estado |