Memoria episodica (cronologia per sessione)
Registri per conversazione ciò che è accaduto, indicizzandolo per tempo e id di sessione.
Memoria episodica (cronologia per sessione) è una lezione AI Agents gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Agents, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Agents include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Tre tipi di memoria
Ispirata alle scienze cognitive, la memoria degli agenti viene generalmente suddivisa in tre tipi:
- Episodica — ciò che è accaduto (questa conversazione, la sessione della settimana scorsa)
- Semantica — fatti sul mondo o sull'utente
- Procedurale — competenze (sequenze di azioni riuscite)
Questa lezione tratta la memoria episodica.
Che cos'è la memoria episodica?
La memoria episodica conserva eventi specifici con timestamp e contesto. Per un agente, corrisponde al log della conversazione della singola sessione.
È la forma più basilare di memoria e la più semplice da implementare.
Modello dei dati
Una riga per ogni turno o per ogni sessione:
CREATE TABLE episodes (
id BIGSERIAL PRIMARY KEY,
user_id TEXT NOT NULL,
session_id TEXT NOT NULL,
role TEXT NOT NULL, -- system/user/assistant/tool
content TEXT NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW(),
metadata JSONB
);Saving Each Turn
def save_turn(user_id, session_id, role, content, metadata=None):
conn.execute('''
INSERT INTO episodes (user_id, session_id, role, content, metadata)
VALUES (%s, %s, %s, %s, %s::jsonb)
''', (user_id, session_id, role, content, json.dumps(metadata or {})))Loading a Session
def load_session(session_id):
rows = conn.execute('SELECT role, content FROM episodes WHERE session_id = %s ORDER BY id', (session_id,))
return [{'role': r[0], 'content': r[1]} for r in rows]Cronologia di più sessioni
A volte si desidera il contesto delle sessioni precedenti dello stesso utente, ad esempio: "che cosa ha chiesto Alice ieri?":
def recent_sessions(user_id, n=5):
rows = conn.execute('''
SELECT DISTINCT session_id, MIN(created_at) AS started
FROM episodes WHERE user_id = %s
GROUP BY session_id ORDER BY started DESC LIMIT %s
''', (user_id, n))
return [r[0] for r in rows]Incorporare le sessioni passate
Per recuperare i vecchi episodi per argomento, crei l'embedding del riepilogo di ogni sessione:
def index_session(session_id):
summary = summarise(load_session(session_id))
vec = embed(summary)
save_to_vector_db(session_id, vec, summary)Recupero episodico
Quando un utente chiede "di che cosa abbiamo parlato riguardo ai prezzi la settimana scorsa?", esegua la ricerca tramite embedding:
def search_episodes(user_id, query):
qvec = embed(query)
candidates = vector_db.query(qvec, k=10, filter={'user_id': user_id})
return [load_session(c.id) for c in candidates]Privacy e conservazione
I log episodici contengono molti dati personali. Applichi:
- Crittografia dei dati a riposo
- Eliminazione per singolo utente alla chiusura dell'account
- Eliminazione automatica dopo N giorni
- Mascheramento o pseudonimizzazione prima di qualsiasi analisi
Compattare i vecchi episodi
Conservi i turni recenti senza modificarli; trasformi quelli più vecchi in riepiloghi:
if session_age_days > 30:
summary = summarise(load_session(sid))
conn.execute('UPDATE episodes SET content = %s WHERE session_id = %s', (summary, sid))
conn.execute('DELETE FROM episodes WHERE session_id = %s AND created_at < NOW() - INTERVAL \'1 day\'', (sid,))Memoria episodica e contesto a breve termine
Breve termine = elenco dei messaggi correnti (ciò che il modello vede in questo momento). Episodica = il database: ricercabile, persistente e più grande.
Collegare la memoria episodica alle altre memorie
Da un episodio può estrarre:
- Fatti semantici ("l'utente preferisce i gradi Celsius")
- Competenze procedurali (sequenza di chiamate agli strumenti che ha funzionato)
Questi elementi alimentano gli altri due tipi di memoria.
Riproduzione per la valutazione
Salvi gli episodi grezzi per poterli riprodurre. Quando modifica l'agente, esegua nuovamente i vecchi episodi e verifichi che il nuovo output sia ancora corretto.
Che cos'è la memoria episodica?
Che cosa conserva la memoria episodica?
Riepilogo
Memoria episodica = log delle sessioni con timestamp in un DB. Ricercabile per utente, sessione o embedding. Compatti gli episodi più vecchi. Li utilizzi per alimentare la memoria semantica e procedurale.
Domande Frequenti
La lezione «Memoria episodica (cronologia per sessione)» è gratuita?
Sì — il testo completo di «Memoria episodica (cronologia per sessione)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Agents, passa a CoddyKit PRO. Il corso AI Agents include 4 lezioni in totale.
Cosa imparerò in «Memoria episodica (cronologia per sessione)»?
Registri per conversazione ciò che è accaduto, indicizzandolo per tempo e id di sessione. Eserciti AI Agents con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare AI Agents?
Non è richiesta alcuna esperienza precedente. AI Agents su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Memoria episodica (cronologia per sessione)»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione AI Agents?
Sì. Ogni lezione AI Agents include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Memoria episodica (cronologia per sessione)
- Memoria semantica (fatti vettorializzati)
- Memoria procedurale (libreria di competenze)
- Decadimento della memoria e garbage collection