¿Qué hace adk-cheatsheet?
DEBE LEERSE antes de escribir o modificar código de agentes ADK. Referencia rápida de la API de ADK para Python: tipos de agentes, definiciones de herramientas, patrones de orquestación, callbacks y gestión de estado. Incluye un índice de todas las páginas de documentación de ADK. No usar para crear nuevos proyectos (use adk-scaffold).
Tipos de Agentes
- Agente Base (
LlmAgent): El agente predeterminado que utiliza un modelo de lenguaje grande (LLM) para procesar solicitudes. - Agente de Flujo (
FlowAgent): Para implementar flujos de trabajo más complejos con múltiples pasos. - Agente de Herramientas (
ToolAgent): Especializado en la ejecución de herramientas externas.
Definiciones de Herramientas
from google.adk import Tool
def mi_herramienta(parametro: str) -> str:
"""Descripción de la herramienta.
Args:
parametro: Descripción del parámetro.
Returns:
Descripción del valor de retorno.
"""
return f"Resultado de {parametro}"
tool = Tool(name="mi_herramienta", function=mi_herramienta)
Patrones de Orquestación
- Secuencial: Ejecutar agentes en orden.
- Paralelo: Ejecutar agentes simultáneamente.
- Condicional: Ejecutar agentes basados en condiciones.
- Bucle: Repetir agentes hasta que se cumpla una condición.
from google.adk import Orchestrator
orchestrator = Orchestrator()
orchestrator.add_agent(agente1)
orchestrator.add_agent(agente2)
orchestrator.run()
Callbacks
on_start: Se ejecuta al inicio del agente.on_end: Se ejecuta al final del agente.on_error: Se ejecuta si ocurre un error.on_tool_call: Se ejecuta cuando se llama a una herramienta.
def mi_callback(context):
print(f"Callback ejecutado con contexto: {context}")
agente = LlmAgent(callbacks={"on_start": mi_callback})
Gestión de Estado
- Estado Global: Compartido entre todos los agentes.
- Estado Local: Específico de un agente.
- Persistencia: Guardar y cargar estado.
from google.adk import State
state = State()
state.set("clave", "valor")
valor = state.get("clave")