Finestre di contesto
Comprendere la finestra di contesto
La “finestra di contesto” si riferisce alla totalità della quantità di testo che un modello linguistico può consultare e a cui può fare riferimento quando genera nuovo testo, più il nuovo testo che genera. Questo è diverso dal grande corpus di dati su cui il modello linguistico è stato addestrato e rappresenta invece una “memoria di lavoro” per il modello. Una finestra di contesto più ampia consente al modello di comprendere e rispondere a prompt più complessi e lunghi, mentre una finestra di contesto più piccola può limitare la capacità del modello di gestire prompt più lunghi o mantenere la coerenza durante conversazioni prolungate.
Il diagramma seguente illustra il comportamento standard della finestra di contesto per le richieste API1:
1Per le interfacce di chat, come per claude.ai, le finestre di contesto possono essere anche configurate su un sistema a rotazione “primo entrato, primo uscito”.
- Accumulo progressivo dei token: Man mano che la conversazione avanza attraverso i turni, ogni messaggio dell’utente e risposta dell’assistente si accumula all’interno della finestra di contesto. I turni precedenti vengono preservati completamente.
- Schema di crescita lineare: L’utilizzo del contesto cresce linearmente con ogni turno, con i turni precedenti preservati completamente.
- Capacità di 200K token: La finestra di contesto totale disponibile (200.000 token) rappresenta la capacità massima per memorizzare la cronologia della conversazione e generare nuovi output da Claude.
- Flusso input-output: Ogni turno consiste in:
- Fase di input: Contiene tutta la cronologia della conversazione precedente più il messaggio corrente dell’utente
- Fase di output: Genera una risposta testuale che diventa parte di un input futuro
La finestra di contesto con il pensiero esteso
Quando si utilizza il pensiero esteso, tutti i token di input e output, inclusi i token utilizzati per il pensiero, contano ai fini del limite della finestra di contesto, con alcune sfumature nelle situazioni multi-turno.
I token del budget di pensiero sono un sottoinsieme del parametro max_tokens
, vengono fatturati come token di output e contano ai fini dei limiti di velocità.
Tuttavia, i blocchi di pensiero precedenti vengono automaticamente rimossi dal calcolo della finestra di contesto dall’API Anthropic e non fanno parte della cronologia della conversazione che il modello “vede” per i turni successivi, preservando la capacità dei token per il contenuto effettivo della conversazione.
Il diagramma seguente dimostra la gestione specializzata dei token quando il pensiero esteso è abilitato:
- Rimozione del pensiero esteso: I blocchi di pensiero esteso (mostrati in grigio scuro) vengono generati durante la fase di output di ogni turno, ma non vengono riportati come token di input per i turni successivi. Non è necessario rimuovere i blocchi di pensiero da soli. L’API Anthropic lo fa automaticamente se li ripassate.
- Dettagli tecnici di implementazione:
- L’API esclude automaticamente i blocchi di pensiero dai turni precedenti quando li ripassate come parte della cronologia della conversazione.
- I token del pensiero esteso vengono fatturati come token di output solo una volta, durante la loro generazione.
- Il calcolo effettivo della finestra di contesto diventa:
context_window = (input_tokens - previous_thinking_tokens) + current_turn_tokens
. - I token di pensiero includono sia i blocchi
thinking
che i blocchiredacted_thinking
.
Questa architettura è efficiente in termini di token e permette un ragionamento esteso senza spreco di token, poiché i blocchi di pensiero possono essere sostanziali in lunghezza.
Puoi leggere di più sulla finestra di contesto e il pensiero esteso nella nostra guida al pensiero esteso.
La finestra di contesto con pensiero esteso e uso degli strumenti
Il diagramma seguente illustra la gestione dei token della finestra di contesto quando si combina il pensiero esteso con l’uso degli strumenti:
Architettura del primo turno
- Componenti di input: Configurazione degli strumenti e messaggio dell’utente
- Componenti di output: Pensiero esteso + risposta testuale + richiesta di utilizzo strumento
- Calcolo dei token: Tutti i componenti di input e output contano per la finestra di contesto, e tutti i componenti di output vengono fatturati come token di output.
Gestione del risultato dello strumento (turno 2)
- Componenti di input: Ogni blocco nel primo turno così come il
tool_result
. Il blocco di pensiero esteso deve essere restituito con i corrispondenti risultati dello strumento. Questo è l’unico caso in cui devi restituire i blocchi di pensiero. - Componenti di output: Dopo che i risultati dello strumento sono stati passati a Claude, Claude risponderà solo con testo (nessun pensiero esteso aggiuntivo fino al prossimo messaggio
user
). - Calcolo dei token: Tutti i componenti di input e output contano per la finestra di contesto, e tutti i componenti di output vengono fatturati come token di output.
Terzo Passo
- Componenti di input: Tutti gli input e l’output del turno precedente vengono riportati avanti ad eccezione del blocco di pensiero, che può essere eliminato ora che Claude ha completato l’intero ciclo di utilizzo dello strumento. L’API rimuoverà automaticamente il blocco di pensiero se lo ripassate, o potete rimuoverlo voi stessi in questa fase. Questo è anche il punto in cui aggiungereste il prossimo turno
User
. - Componenti di output: Poiché c’è un nuovo turno
User
al di fuori del ciclo di utilizzo dello strumento, Claude genererà un nuovo blocco di pensiero esteso e continuerà da lì. - Calcolo dei token: I token di pensiero precedenti vengono automaticamente rimossi dai calcoli della finestra di contesto. Tutti gli altri blocchi precedenti contano ancora come parte della finestra dei token, e il blocco di pensiero nel turno corrente
Assistant
conta come parte della finestra di contesto.
- Considerazioni per l’uso degli strumenti con il pensiero esteso:
- Quando si pubblicano i risultati degli strumenti, l’intero blocco di pensiero non modificato che accompagna quella specifica richiesta di strumento (incluse le porzioni di firma/redatte) deve essere incluso.
- Il sistema utilizza firme crittografiche per verificare l’autenticità del blocco di pensiero. Non preservare i blocchi di pensiero durante l’uso degli strumenti può interrompere la continuità del ragionamento di Claude. Pertanto, se si modificano i blocchi di pensiero, l’API restituirà un errore.
Non c’è interleaving tra pensiero esteso e chiamate agli strumenti - non vedrai pensiero esteso, poi chiamate agli strumenti, poi altro pensiero esteso, senza un turno utente non-tool_result
nel mezzo. Inoltre, l’uso degli strumenti all’interno del blocco di pensiero esteso stesso non è attualmente supportato, anche se Claude può ragionare su quali strumenti dovrebbe usare e come chiamarli all’interno del blocco di pensiero.
Puoi leggere di più sull’uso degli strumenti con il pensiero esteso nella nostra guida al pensiero esteso
Gestione della finestra di contesto con i modelli Claude più recenti
Nei modelli Claude più recenti (a partire da Claude 3.7 Sonnet), se la somma dei token del prompt e dei token di output supera la finestra di contesto del modello, il sistema restituirà un errore di validazione invece di troncare silenziosamente il contesto. Questa modifica fornisce un comportamento più prevedibile ma richiede una gestione più attenta dei token.
Per pianificare l’utilizzo dei token e assicurarti di rimanere entro i limiti della finestra di contesto, puoi utilizzare l’API di conteggio dei token per stimare quanti token useranno i tuoi messaggi prima di inviarli a Claude.
Consulta la nostra tabella di confronto dei modelli per un elenco delle dimensioni delle finestre di contesto per modello.
Prossimi passi
Tabella di confronto dei modelli
Consulta la nostra tabella di confronto dei modelli per un elenco delle dimensioni delle finestre di contesto e dei prezzi dei token di input/output per modello.
Panoramica del pensiero esteso
Scopri di più su come funziona il pensiero esteso e come implementarlo insieme ad altre funzionalità come l’uso degli strumenti e il caching dei prompt.
Was this page helpful?