Cómo construir tu primer agente IA con Google ADK y Python desde cero
Construye un agente multiherramienta con Google ADK en Python en menos de 60 minutos. Instalación, código real y despliegue a Google Cloud, explicados para equipos que ya usan Google Workspace.
Cognitiva, agencia chilena de IA, observa que los equipos técnicos que ya usan Google Workspace preguntan cada vez más por Google ADK para llevar sus primeros agentes a producción. Este tutorial responde esa pregunta con código real: al terminar tendrás un agente multiherramienta funcionando en tu equipo, capaz de buscar en la web con Gemini y ejecutar funciones propias, sin configuración compleja en la nube. Google ADK (Agent Development Kit) alcanzó disponibilidad general con su versión 2.0 e incluye tres diferenciadores frente a otras alternativas como LangChain o PydanticAI: evaluación nativa de agentes, despliegue directo a Google Cloud sin contenedor manual, y soporte oficial para arquitecturas multiagente con flujos de grafo. La versión actual del paquete Python es 2.3.0, publicada en junio de 2026. El tutorial cubre instalación con pip, estructura del proyecto, código del agente, herramientas integradas, interfaz web local y los siguientes pasos para llegar a producción. Tiempo estimado de ejecución: 60 minutos.
Qué es Google ADK y por qué importa ahora
Google ADK es el kit de desarrollo oficial de Google para construir agentes IA con el modelo Gemini como núcleo de razonamiento. Llegó a disponibilidad general con la versión 2.0 e incorpora desde el primer día tres capacidades que otros frameworks ofrecen solo como complementos externos: evaluación nativa de agentes, despliegue directo a Google Cloud Run o Agent Runtime sin configuración de contenedores, y flujos de grafo para orquestar múltiples agentes especializados.
Para equipos que ya trabajan con Google Workspace —Drive, Sheets, Meet— ADK reduce la fricción de integración porque comparte credenciales, región y consola con los servicios que ya usan. El paquete Python se instala en una sola línea y el primer agente funciona en menos de 20 minutos según la documentación oficial.
Prerrequisitos antes de instalar
Antes de ejecutar el primer comando, revisa esta lista. El único costo real es la clave de API de Gemini: el nivel gratuito de Google AI Studio es suficiente para aprender y para proyectos pequeños.
- Python 3.10 o superior instalado en tu equipo (verifica con 'python3 --version').
- pip disponible en el entorno (viene con Python 3.10+).
- Cuenta Google y acceso a Google AI Studio para crear una clave de API de Gemini.
- Terminal con permisos para instalar paquetes Python.
- Conexión a internet para que el agente pueda usar google_search en tiempo real.
Si tu equipo ya tiene un proyecto de Google Cloud activo y facturación habilitada, puedes alternar a Vertex AI cambiando una variable de entorno y habilitando la API de Vertex. La estructura del código del agente no cambia.
Instalación y estructura del proyecto
El paquete principal se llama 'google-adk' y está publicado en PyPI. El proceso completo de instalación y creación del proyecto toma menos de cinco minutos:
# Crear y activar entorno virtual
python3 -m venv .venv
source .venv/bin/activate
# Instalar Google ADK
pip install google-adk
# Verificar la instalación
adk --versionUna vez instalado, crea manualmente la estructura de carpetas. ADK requiere que el agente viva en su propio directorio con dos archivos obligatorios:
mkdir -p mi_agente
touch mi_agente/agent.py
touch mi_agente/__init__.py
touch .envLa estructura final debe verse así:
proyecto_adk/
mi_agente/
agent.py # definicion del agente
__init__.py # hace visible el modulo a ADK
.env # variables de entorno (nunca commitear)Configura la clave de API en el archivo .env antes de escribir el agente:
# Contenido del archivo .env
GOOGLE_API_KEY="tu_clave_de_api_aqui"Código del agente: funciones y herramientas integradas
Este es el núcleo del tutorial. El archivo agent.py define el comportamiento del agente: qué modelo usa, cuál es su función y qué herramientas tiene disponibles. El ejemplo construye un asistente que combina búsqueda web en tiempo real con una función Python propia que devuelve el tipo de cambio del día.
Paso 1: escribir agent.py
from google.adk.agents import Agent
from google.adk.tools import google_search
# Herramienta personalizada: funcion Python normal
def tipo_cambio(moneda: str) -> dict:
"""Retorna el tipo de cambio indicativo del dia para una moneda.
Args:
moneda: codigo ISO de la moneda (USD, EUR, BRL, etc.)
Returns:
dict con el tipo de cambio y la fuente.
"""
tasas = {
"USD": {"clp": 960, "fuente": "referencia indicativa"},
"EUR": {"clp": 1045, "fuente": "referencia indicativa"},
"BRL": {"clp": 175, "fuente": "referencia indicativa"},
}
if moneda.upper() in tasas:
return {"status": "ok", "moneda": moneda.upper(), "clp": tasas[moneda.upper()]["clp"]}
return {"status": "error", "mensaje": "Moneda no disponible en esta demo"}
# Definicion del agente
root_agent = Agent(
model="gemini-flash-latest",
name="asistente_comercial",
description="Asistente para consultas de mercado chileno con acceso a busqueda web.",
instruction=(
"Eres un asistente comercial para empresas chilenas. "
"Respondes en espanol formal. Cuando necesitas informacion actual, "
"usa google_search. Para tipos de cambio usa tipo_cambio. "
"Siempre cita tus fuentes al responder."
),
tools=[google_search, tipo_cambio],
)Paso 2: agregar __init__.py
from . import agentEsta línea permite que ADK descubra el módulo al ejecutar los comandos de la interfaz de línea de comandos.
Conceptos clave del código
| Parámetro | Tipo | Qué hace |
|---|---|---|
| model | str | Modelo Gemini a usar. 'gemini-flash-latest' apunta siempre a la versión Flash más reciente. |
| name | str | Identificador interno del agente. Debe ser único en sistemas multiagente. |
| description | str | Descripción que otros agentes leen para decidir si delegar tareas a este agente. |
| instruction | str | Instrucción del sistema (system prompt). Define el comportamiento, tono y restricciones. |
| tools | list | Lista de herramientas disponibles: funciones Python, google_search, MCP tools u OpenAPI tools. |
Ejecutar el agente localmente
ADK incluye dos formas de ejecutar el agente sin escribir ningún código adicional de servidor: la interfaz de línea de comandos para interacción directa y la interfaz web para desarrollo visual.
Interfaz web (recomendada para desarrollo)
# Ejecutar desde la carpeta padre del proyecto (no desde dentro de mi_agente/)
adk web --port 8000Abre tu navegador en http://localhost:8000. Verás un panel que muestra el historial de conversación, las herramientas invocadas, los tokens utilizados y los tiempos de respuesta. Es el entorno ideal para iterar sobre la instrucción del agente.
Interfaz de línea de comandos
# Modo interactivo en el terminal
adk run mi_agenteEscribe una consulta como '¿Cuál es la tasa de inflación en Chile este mes?' y el agente invocará google_search, procesará los resultados con Gemini y te devolverá una respuesta citada. Si preguntas '¿Cuánto está el dólar en pesos chilenos?', usará la función tipo_cambio.
Arquitectura multiagente: orquestar agentes especializados
Una de las fortalezas de Google ADK frente a alternativas más simples es el soporte nativo para sistemas donde múltiples agentes se coordinan. El agente orquestador recibe la solicitud del usuario y delega a agentes especializados según la 'description' de cada uno.
Estructura de un sistema biagente
from google.adk.agents import Agent
from google.adk.tools import google_search
# Agente especializado: busqueda de mercado
agente_mercado = Agent(
model="gemini-flash-latest",
name="agente_mercado",
description="Especialista en busqueda de informacion de mercado y competencia.",
instruction="Busca informacion de mercado actualizada. Responde con datos concretos y cita fuentes.",
tools=[google_search],
)
# Agente especializado: analisis financiero
def calcular_margen(precio_venta: float, costo: float) -> dict:
"""Calcula el margen bruto entre precio de venta y costo."""
margen = ((precio_venta - costo) / precio_venta) * 100
return {"margen_pct": round(margen, 2), "precio": precio_venta, "costo": costo}
agente_finanzas = Agent(
model="gemini-flash-latest",
name="agente_finanzas",
description="Especialista en analisis financiero y calculo de margenes.",
instruction="Analiza datos financieros y calcula indicadores. Usa calcular_margen cuando corresponda.",
tools=[calcular_margen],
)
# Orquestador: recibe la solicitud y delega
root_agent = Agent(
model="gemini-flash-latest",
name="orquestador",
description="Orquestador principal que coordina busqueda de mercado y analisis financiero.",
instruction=(
"Eres el coordinador de un equipo de analistas. "
"Para consultas de mercado, delega a agente_mercado. "
"Para calculos financieros, delega a agente_finanzas. "
"Sintetiza los resultados en una respuesta ejecutiva."
),
agents=[agente_mercado, agente_finanzas],
)Nota el campo 'agents' en el orquestador: ahí se registran los agentes subordinados. ADK expone la 'description' de cada uno al modelo para que decida a quién delegar. Esta arquitectura escala sin cambiar el código del orquestador.
Evaluación nativa y siguientes pasos hacia producción
ADK incluye un módulo de evaluación que permite medir la calidad de un agente con casos de prueba antes de llevarlo a producción. Esta capacidad —que en LangChain o PydanticAI requiere integrar herramientas externas— viene dentro del paquete base.
Estructura básica de evaluación
# Evaluar el agente contra un conjunto de casos de prueba
adk eval mi_agente --eval_set_file casos_prueba.jsonEl archivo de evaluación define entradas esperadas y criterios de éxito. El framework ejecuta cada caso, llama al agente y compara la respuesta con los criterios definidos. El resultado queda en un informe JSON que puedes incluir en tu pipeline de integración continua.
Despliegue a Google Cloud Run
# Empaquetar y desplegar en Cloud Run (requiere gcloud CLI configurado)
adk deploy cloud_run mi_agente \
--project TU_PROJECT_ID \
--region us-central1ADK genera automáticamente el Dockerfile y el archivo de servicio de Cloud Run. No necesitas escribir ni mantener configuración de contenedor. El comando 'adk deploy' también puede apuntar a GKE o a Agent Runtime según el nivel de control que necesites.
El diferenciador real de ADK no es solo el código: es que instalación, evaluación y despliegue son parte del mismo flujo, sin herramientas externas.
Checklist de validación antes del primer deploy en producción
- Instrucción del agente probada con al menos 20 consultas representativas usando 'adk web'.
- Archivo de evaluación ('adk eval') con ≥10 casos cubriendo el camino feliz y los bordes.
- Variables de entorno en Secret Manager de Google Cloud (no en el Dockerfile).
- Logs estructurados activados para rastrear herramientas invocadas por sesión.
- Límite de tokens por sesión configurado para evitar costos inesperados.
- Prueba de carga básica antes de abrir el endpoint al tráfico completo.
Marco de evaluación de Cognitiva: cuándo usar Google ADK
En Cognitiva aplicamos este criterio cuando un cliente evalúa qué framework de agentes adoptar. No hay una respuesta universal: la elección depende del stack actual del equipo, del nivel de control que necesita sobre el flujo y del ecosistema de despliegue.
| Criterio | Google ADK | LangGraph | PydanticAI | Strands Agents |
|---|---|---|---|---|
| Ecosistema preferido | Google Cloud / Workspace | Cualquier nube | Agnóstico | AWS |
| Evaluación nativa | Sí, incluida | No (requiere LangSmith) | No | No |
| Deploy sin configuración extra | Cloud Run / Agent Runtime | Manual | Manual | Amazon Bedrock |
| Curva inicial | Baja | Media-alta | Media | Baja-media |
| Control del flujo | Flujos de grafo + delegación dinámica | Grafo explícito total | Agentes tipados | Encadenamiento simple |
| Modelo principal | Gemini (otros via LiteLLM) | Cualquier LLM | Cualquier LLM | Claude / Bedrock |
La recomendación de Cognitiva: si tu equipo ya opera en Google Cloud y usa Workspace como plataforma de colaboración, Google ADK reduce el tiempo de llegada a producción porque comparte credenciales, región y consola. Si necesitas control total del grafo de estados con trazabilidad avanzada, LangGraph sigue siendo la referencia. Si tu nube principal es AWS, Strands Agents es la alternativa natural.
Cómo construir un agente IA con Google ADK y Python
Guía paso a paso para instalar Google ADK, configurar las credenciales de Gemini, escribir un agente multiherramienta y ejecutarlo localmente con interfaz web.
Preparar el entorno
Configurar credenciales
Crear el agente
Ejecutar y verificar
Preguntas frecuentes
Da el siguiente paso
Hablemos
Cuéntanos sobre tu negocio. Respondemos en 24 horas.
Otros canales
Escríbenos por WhatsApp o agenda una llamada de 30 minutos.