Gestionar la Memoria del Agente

Agentes de IA con Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agentes de IA con Hugging Face smolagents

Sin Estado por Defecto

Cada llamada a .run() es un nuevo comienzo.

  • Ejemplo:
career_advisor.run("¿Qué habilidades profesionales debo destacar?")
Deberías destacar Python, SQL, visualización de datos, 
fundamentos de aprendizaje automático y habilidades de comunicación adaptadas a resultados empresariales.
career_advisor.run("¿Puedes formatear esas habilidades como viñetas?")
Lo siento, no estoy seguro a qué habilidades te refieres. ¿Podrías aclararlo?
Agentes de IA con Hugging Face smolagents

Retener Memoria Entre Interacciones

career_advisor.run("¿Qué habilidades profesionales debo destacar?")
Deberías destacar Python, SQL, visualización de datos, 
fundamentos de aprendizaje automático y habilidades de comunicación adaptadas a resultados empresariales.
  • Pasar reset=False:
career_advisor.run("¿Puedes formatear esas habilidades como viñetas?", reset=False)
¡Claro! Aquí están las habilidades como viñetas:
- Python
- SQL
- Visualización de datos
...
Agentes de IA con Hugging Face smolagents

La Memoria También Ayuda a Depurar

Usuario: ¿Cuál es el salario esperado?
Agente: Es $80,000
Usuario: Espera, eso parece incorrecto...
Agente: Lo siento, no estoy seguro a qué te refieres

Inspecciona qué pasó en la ejecución del agente:

  • Revisar todo el código generado por el agente
  • Rastrear su razonamiento, acciones y uso de herramientas
  • Depurar respuestas incorrectas o lógica defectuosa
Agentes de IA con Hugging Face smolagents

¿Qué Código Ejecutó el Agente?

El método .return_full_code() te permite ver todo el código ejecutado.

executed_code = career_advisor.memory.return_full_code()
print(executed_code)
# ...otros pasos omitidos por brevedad

salary = 80000  # <- ¿fijo?

# el script continúa...
Agentes de IA con Hugging Face smolagents

¿Qué Pensaba el Agente?

conversation_steps = career_advisor.memory.get_succinct_steps()
print(conversation_steps[5])
{
  "step_number": 5,
  "tool_calls": [
    {"function": {"name": "python_interpreter"}},
    {"function": {"name": "web_search"}}
  ],
  "code_action": "import requests\nskills = requests.get('api.jobsearch.com').json()",
  "observations": "resume_agent encontró 15 habilidades relevantes para la transición",
  "token_usage": {"total_tokens": 334},
  ...
}
Agentes de IA con Hugging Face smolagents

Guardar Sesiones del Agente para Análisis

import json

def save_agent_memory(agent):
    with open("agent_memory.json", "w") as f:
        json.dump(agent.memory.get_succinct_steps(), f, indent=2, default=str)

# Guardar memoria en un archivo
save_agent_memory(career_advisor)

Los registros pueden ayudar con:

  • Análisis posterior
  • Pruebas de regresión
  • Mejorar el comportamiento del agente con el tiempo
Agentes de IA con Hugging Face smolagents

Corregir Fallos del Agente: Qué Ajustar

  • Problemas de memoria: Usa reset=False o reinicia intencionalmente
  • Problemas de razonamiento: Prueba un modelo más fuerte
  • Comportamiento inconsistente: Mejora el mensaje del sistema
  • Confusión de herramientas: Aclara las docstrings de las herramientas
Agentes de IA con Hugging Face smolagents

¡Vamos a practicar!

Agentes de IA con Hugging Face smolagents

Preparing Video For Download...