Alejandría

Busca en Alejandría

Lenguajes y marcos

Agent Development Kit (ADK)

Framework de Google para desarrollar agentes con herramientas, orquestación y evaluación.

01

En pocas palabras

Framework de Google para desarrollar agentes con herramientas, orquestación y evaluación.

Qué problema resuelve

Trabajo repetido para integrar capacidades y operar agentes con prácticas de ingeniería.

Cuándo utilizarlo

Agentes en ecosistemas Google o con integraciones compatibles. Ejemplo: un asistente de operaciones.

02

De la idea a la práctica

Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.

En el Radar compartido: Trial (valoración de la edición aportada).

Cómo funciona

Proporciona abstracciones para agentes y workflows, gestión de herramientas y evaluación. Se integra con opciones de ejecución y observabilidad para operar los flujos.

Ejemplo de uso

Crear un agente con herramientas de consulta de incidencias y documentación. Evaluarlo con solicitudes conocidas, comprobando selección de herramientas y restricciones antes del despliegue.

Tipos de agente

Tipo Comportamiento
LlmAgent (Agent) Usa un modelo para razonar y decidir qué herramientas llamar
SequentialAgent Ejecuta subagentes en orden fijo
ParallelAgent Ejecuta subagentes en paralelo y reúne resultados
LoopAgent Repite subagentes hasta una condición o un máximo de iteraciones
Agente personalizado Lógica de orquestación propia en código

Combinar agentes deterministas (secuencia, bucle) con agentes LLM permite controlar el flujo donde importa y dejar flexibilidad donde aporta.

Ejemplo en Python

from google.adk.agents import Agent, SequentialAgent

def consultar_solicitud(solicitud_id: str) -> dict:
    """Devuelve estado, monto y documentos pendientes de una solicitud."""
    return api_originacion.obtener(solicitud_id)

def politica_documentos(tipo_cliente: str) -> list[str]:
    """Lista los documentos exigidos para un tipo de cliente."""
    return politicas.documentos(tipo_cliente)

analista = Agent(
    name="analista_solicitudes",
    model="gemini-2.5-flash",
    instruction="Explica al asesor qué falta en la solicitud. Usa solo datos de las herramientas.",
    tools=[consultar_solicitud, politica_documentos],
    output_key="diagnostico",          # guarda la respuesta en el estado de la sesión
)

redactor = Agent(
    name="redactor_mensaje",
    model="gemini-2.5-flash",
    instruction="Redacta un mensaje breve y amable al cliente a partir de {diagnostico}.",
)

root_agent = SequentialAgent(name="flujo_documentos", sub_agents=[analista, redactor])

Las funciones Python se convierten en herramientas a partir de su firma y docstring. ADK es agnóstico del modelo (Gemini, y otros mediante LiteLLM) y tiene versiones para Python, Java, Go y TypeScript.

Herramientas de desarrollo

adk web        # interfaz local para conversar, ver eventos, estado y trazas
adk run flujo  # ejecutar en la terminal
adk eval flujo casos.evalset.json   # evaluar respuestas y trayectoria de herramientas

Los evalsets definen conversaciones de referencia con las herramientas que se esperan; la evaluación compara tanto la respuesta final como la secuencia de llamadas.

Conceptos de ejecución

Concepto Descripción
Session Conversación con su historial de eventos
State Diccionario compartido entre agentes de la sesión
Memory Conocimiento a largo plazo entre sesiones
Callbacks Ganchos antes/después del modelo o de una herramienta: validar, bloquear, registrar
Artifacts Archivos generados o recibidos durante la sesión

Los callbacks before_tool son un buen lugar para aplicar guardas deterministas (por ejemplo, impedir operaciones sobre clientes de otro país).

Despliegue

Se puede desplegar en Vertex AI Agent Engine (gestionado), en Cloud Run (adk deploy cloud_run) o en GKE. Soporta el protocolo A2A para que otros agentes lo invoquen, herramientas MCP y puede conectarse a interfaces mediante AG-UI.

Criterios de implementación

Mantener lógica de negocio comprobable fuera del framework. Limitar permisos y revisar portabilidad, persistencia y cambios de API antes de escalar la implementación.

Continúa en las fuentes

Documentación oficial para verificar detalles y explorar más.