Memoria a breve termine nella finestra di contesto
Memorizzi la cronologia della conversazione nell'array messages: la forma di memoria più semplice, ma con limiti rigidi.
Memoria a breve termine nella finestra di contesto è 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.
La memoria è solo un elenco
La "memoria" di un LLM in stile chat è l'elenco messages che invia a ogni chiamata. Il modello è privo di stato: non sa nulla tra una richiesta e l'altra.
"Memoria a breve termine" = tutto ciò che si trova nell'elenco in quel momento.
Perché funziona
Aggiunge ogni messaggio dell'utente e ogni risposta dell'assistente. Quando pone la terza domanda, il modello vede:
messages = [
{'role': 'system', 'content': 'You are helpful.'},
{'role': 'user', 'content': 'My name is Alice.'},
{'role': 'assistant', 'content': 'Nice to meet you, Alice.'},
{'role': 'user', 'content': 'What is my name?'}
]
# Model replies: 'Alice'
for m in messages:
print(f"{m['role']}: {m['content']}")
print("Model replies: Alice")
Limiti della finestra di contesto
Ogni modello ha una finestra di contesto rigida: il numero massimo complessivo di token nell'input e nell'output.
- gpt-4o-mini: 128k token
- claude-sonnet-4-5: 200k token
- gemini-1.5-pro: 2M token
Se la supera, l'API restituisce un errore.
Il costo dei token è lineare
Paga ogni token, a ogni turno. Una chat di 30 turni in cui ogni turno contiene 500 token costa 15.000 token di input solo nell'ULTIMA chiamata: l'intera cronologia viene reinviata.
Le sessioni lunghe diventano costose rapidamente.
Lost-in-the-Middle
Anche con un contesto di 200k token, i modelli prestano MENO attenzione ai contenuti che si trovano nel mezzo di un prompt lungo. Le informazioni importanti dovrebbero trovarsi all'inizio (nel system prompt) o alla fine (nel messaggio dell'utente più recente).
Troncamento con finestra scorrevole
La gestione della memoria più semplice: mantenga il messaggio di sistema e gli ultimi N turni:
MAX_TURNS = 20 # 10 user + 10 assistant
def trim(messages):
system = messages[0]
rest = messages[1:]
return [system] + rest[-MAX_TURNS:]
demo_messages = [{'role': 'system', 'content': 'sys'}] + [
{'role': 'user' if i % 2 == 0 else 'assistant', 'content': f'msg {i}'} for i in range(30)
]
trimmed = trim(demo_messages)
print(f"Original messages: {len(demo_messages)}")
print(f"Trimmed messages: {len(trimmed)}")
Ritaglio basato sui token
Più precisamente: ritagli per numero di token, non per numero di turni:
import tiktoken
enc = tiktoken.encoding_for_model('gpt-4o-mini')
def trim_by_tokens(messages, max_tokens=8000):
out = [messages[0]] # keep system
tokens_left = max_tokens - len(enc.encode(messages[0]['content']))
# walk backwards from newest
for m in reversed(messages[1:]):
cost = len(enc.encode(m['content'])) + 4
if cost > tokens_left:
break
out.insert(1, m)
tokens_left -= cost
return outMantenga unite le coppie
Troncare nel mezzo di una coppia lascia chiamate agli strumenti senza risposta. Tagli sempre insieme i turni dell’utente e dell’assistente:
# Bad: cuts after assistant call but before tool result
# Good: trim whole turns (user + all responses)
print("Bad: cuts after assistant call but before tool result")
print("Good: trim whole turns (user + all responses)")
Quando il breve termine non basta
La memoria a breve termine si interrompe quando:
- La conversazione supera 20 turni
- L’utente torna il giorno dopo aspettandosi che il sistema ricordi
- Più utenti condividono lo stesso agente
Serve una strategia diversa: consulti le lezioni successive.
Il prompt di sistema resta fissato
Il messaggio di sistema deve essere sempre il primo elemento. Non lo rimuova mai. Contiene l’identità, le regole e le descrizioni degli strumenti.
Fissare gli aggiornamenti recenti del sistema
Se aggiunge "ricordi che l’utente preferisce i gradi Celsius" come nota di sistema, la fissi all’inizio, come il prompt di sistema originale:
SYSTEM_PROMPT = 'You are a helpful assistant.'
messages = [
{'role': 'system', 'content': SYSTEM_PROMPT},
{'role': 'system', 'content': 'USER PREFERENCE: Celsius units'},
{'role': 'user', 'content': 'What is the weather in Paris?'},
{'role': 'assistant', 'content': 'It is 21C and sunny.'},
]
print('Pinned system messages:')
for m in messages:
if m['role'] == 'system':
print(' -', m['content'])
print('Total messages:', len(messages))
Limite del contesto
Che cosa succede quando si supera la finestra di contesto del modello?
Riepilogo
Memoria a breve termine = l’elenco dei messaggi. Lo gestisca con un taglio a finestra scorrevole o basato sui token, fissi il messaggio di sistema e consideri che il costo cresce con il numero di turni.
Domande Frequenti
La lezione «Memoria a breve termine nella finestra di contesto» è gratuita?
Sì — il testo completo di «Memoria a breve termine nella finestra di contesto» è 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 a breve termine nella finestra di contesto»?
Memorizzi la cronologia della conversazione nell'array messages: la forma di memoria più semplice, ma con limiti rigidi. 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 a breve termine nella finestra di contesto»?
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 a breve termine nella finestra di contesto
- Perché i contesti lunghi non scalano
- La summarisation come compressione
- Archivi di memoria semplici (chiave-valore)