Gestire la Memoria dell'Agente

Agenti AI con Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agenti AI con Hugging Face smolagents

Senza Stato per Default

Ogni chiamata .run() è un nuovo inizio.

  • Esempio:
career_advisor.run("Quali competenze professionali dovrei evidenziare?")
Dovresti evidenziare Python, SQL, visualizzazione dei dati, 
concetti base di machine learning e competenze comunicative orientate ai risultati aziendali.
career_advisor.run("Puoi formattare queste competenze come punti elenco?")
Mi dispiace, non sono sicuro a quali competenze ti riferisci. Puoi chiarire?
Agenti AI con Hugging Face smolagents

Mantenere la Memoria tra le Interazioni

career_advisor.run("Quali competenze professionali dovrei evidenziare?")
Dovresti evidenziare Python, SQL, visualizzazione dei dati, 
concetti base di machine learning e competenze comunicative orientate ai risultati aziendali.
  • Passa reset=False:
career_advisor.run("Puoi formattare queste competenze come punti elenco?", reset=False)
Certo! Ecco le competenze come punti elenco:
- Python
- SQL
- Visualizzazione dei dati
...
Agenti AI con Hugging Face smolagents

La Memoria Aiuta Anche a Fare Debug

Utente: Qual è lo stipendio previsto?
Agente: È di $80,000
Utente: Aspetta, sembra sbagliato...
Agente: Scusa, non sono sicuro di cosa intendi

Ispeziona cosa è successo nell'esecuzione dell'agente:

  • Rivedere tutto il codice generato dall'agente
  • Tracciare il suo ragionamento, azioni e uso degli strumenti
  • Debuggare risposte errate o logica difettosa
Agenti AI con Hugging Face smolagents

Quale Codice Ha Eseguito l'Agente?

Il metodo .return_full_code() ti permette di vedere tutto il codice eseguito.

executed_code = career_advisor.memory.return_full_code()
print(executed_code)
# ...altri passaggi omessi per brevità

salary = 80000  # <- hardcoded?

# il codice continua...
Agenti AI con Hugging Face smolagents

Cosa Pensava l'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 ha trovato 15 competenze rilevanti per la transizione",
  "token_usage": {"total_tokens": 334},
  ...
}
Agenti AI con Hugging Face smolagents

Salva le Sessioni dell'Agente per l'Analisi

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)

# Salva la memoria su un file
save_agent_memory(career_advisor)

I log possono aiutare con:

  • Analisi post-hoc
  • Test di regressione
  • Migliorare il comportamento dell'agente nel tempo
Agenti AI con Hugging Face smolagents

Correggere i Fallimenti dell'Agente: Cosa Regolare

  • Problemi di memoria: Usa reset=False o resetta intenzionalmente
  • Problemi di ragionamento: Prova un modello più potente
  • Comportamento incoerente: Migliora il prompt di sistema
  • Confusione sugli strumenti: Chiarisci i docstring degli strumenti
Agenti AI con Hugging Face smolagents

Ayo berlatih!

Agenti AI con Hugging Face smolagents

Preparing Video For Download...