Il modello non ricorda. Tu sì.

I Large Language Models (LLM) non hanno memoria.

Pensavo che ogni sessione di chat memorizzasse il proprio contesto. Mi sbagliavo. Quando parli con un LLM, non ricorda la tua domanda precedente a meno che tu non la invii nuovamente.

Il modello è stateless. Ciò significa che ogni richiesta è un nuovo inizio.

Per creare una conversazione, devi gestire tu stesso la cronologia. Lo fai inviando un array di tutti i messaggi precedenti con ogni nuova richiesta.

La "memoria" è solo una lista di messaggi:

  • Utente: Ciao.
  • Assistant: Ciao!
  • Utente: Come stai?

Se non includi le prime due righe nella tua prossima richiesta, il modello non saprà che hai già detto ciao.

Ho imparato questo evitando gli SDK. La maggior parte degli sviluppatori usa strumenti come l'Anthropic SDK per nascondere questa complessità. L'SDK gestisce la cronologia dei messaggi e gli header per te.

Se vuoi imparare come funzionano gli LLM, usa invece un raw fetch. Non usare un'astrazione. Quando gestisci manualmente il ciclo di richiesta e risposta, vedi ogni singola decisione.

Questo controllo manuale ti permette di costruire strategie avanzate in seguito, come:

  • Sliding window per gestire chat lunghe.
  • Retrieval Augmented Generation (RAG).
  • Ricerca semantica.

Comprendere questo array è la base dello sviluppo dell'IA. Sei tu a fornire il contesto. Il modello conosce solo ciò che gli invii.

Fonte: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-3mmk