0Pricing
AI Agents · Lezione

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 out

Mantenga 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

  1. Memoria a breve termine nella finestra di contesto
  2. Perché i contesti lunghi non scalano
  3. La summarisation come compressione
  4. Archivi di memoria semplici (chiave-valore)
← Torna a AI Agents