Trabajando con Agentes de Múltiples Pasos

Agentes de IA con Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agentes de IA con Hugging Face smolagents

Ejemplo: Asistente de Viajes

Agentes de IA con Hugging Face smolagents

Intervalos de Planificación: Ayudando a los Agentes a Repensar

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    planning_interval=3,
    max_steps=12
)
  • planning_interval=3: El agente se detiene cada 3 pasos.
Agentes de IA con Hugging Face smolagents

Ejecución del Agente con Intervalos de Planificación

"Planifica unas vacaciones familiares de 2 semanas en Europa con sitios históricos para adultos y actividades divertidas para niños, manteniéndose por debajo de $5000."

[Paso 1] Buscar "hoteles en París" -> Encontrados hoteles de lujo (~$4000 total)

[Paso 2] Buscar "atracciones en París para familias" -> Encontrados Torre Eiffel, Louvre, entradas a parques temáticos

[Paso 3] Pausa y repiensa (intervalo de planificación) Los hoteles son muy caros -> presupuesto excedido. Debería buscar opciones más baratas + actividades para niños.

[Paso 4] Buscar "hoteles familiares asequibles en Europa" -> Encontradas opciones de gama media en varias ciudades

Agentes de IA con Hugging Face smolagents

Callbacks: Conexiones al Proceso del Agente

Agentes de IA con Hugging Face smolagents

Función Básica de Callback

def callback_function(agent_step, agent):
    # Hacer algo con el paso del agente o el agente mismo
    pass
  • agent_step: detalles sobre el paso (plan, número de paso, etc.)
  • agent: el objeto completo del agente (estado + métodos)
Agentes de IA con Hugging Face smolagents

Callbacks de Paso de Planificación

def planning_callback(agent_step, agent):
    print("PLANIFICACIÓN DEL AGENTE")
    print("=" * 50)
    print(agent_step.plan[:300])
    if len(agent_step.plan) > 300:
        print("\n... (plan truncado)")
    print("=" * 50)
PLANIFICACIÓN DEL AGENTE
==================================================
Buscar hoteles asequibles + actividades para niños
Luego crear itinerario equilibrado...
... (plan truncado)
==================================================
Agentes de IA con Hugging Face smolagents

Callbacks de Paso de Acción

def action_callback(agent_step, agent):
    step_num = agent_step.step_number
    print(f"Paso {step_num}: Tomando acción")

    if agent_step.is_final_answer:
        total_tokens = agent_step.token_usage.total_tokens
        print(f"Total de tokens usados: {total_tokens}")
Paso 2: Tomando acción!
Paso 3: Tomando acción!
Paso 4: Tomando acción!
Total de tokens usados: 4,218
Agentes de IA con Hugging Face smolagents

Añadiendo Callbacks a Agentes

from smolagents import ActionStep, PlanningStep

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    step_callbacks={PlanningStep: planning_callback, ActionStep: action_callback}
)
Agentes de IA con Hugging Face smolagents

¿Qué Puedes Hacer con Callbacks?

  • Registrar búsquedas para entender qué buscan los usuarios
  • Añadir puntos de aprobación humana
  • Enviar actualizaciones de progreso a paneles o apps
  • Ajustar el comportamiento del agente en función del rendimiento
  • Y más...
Agentes de IA con Hugging Face smolagents

¡Vamos a practicar!

Agentes de IA con Hugging Face smolagents

Preparing Video For Download...