Lo strumento memoria è attualmente in beta. Per abilitarlo, usa l’header beta
context-management-2025-06-27 nelle tue richieste API.Ti preghiamo di contattarci attraverso il nostro modulo di feedback per condividere il tuo feedback su questa funzionalità.Casi d’uso
- Mantenere il contesto del progetto attraverso multiple esecuzioni dell’agente
- Imparare da interazioni passate, decisioni e feedback
- Costruire basi di conoscenza nel tempo
- Abilitare l’apprendimento cross-conversazione dove Claude migliora nei flussi di lavoro ricorrenti
Come funziona
Quando abilitato, Claude controlla automaticamente la sua directory di memoria prima di iniziare i compiti. Claude può creare, leggere, aggiornare ed eliminare file nella directory/memories per memorizzare ciò che impara mentre lavora, poi fare riferimento a quei ricordi in conversazioni future per gestire compiti simili più efficacemente o riprendere da dove aveva lasciato.
Poiché questo è uno strumento lato client, Claude effettua chiamate di strumento per eseguire operazioni di memoria, e la tua applicazione esegue quelle operazioni localmente. Questo ti dà controllo completo su dove e come la memoria viene memorizzata. Per sicurezza, dovresti limitare tutte le operazioni di memoria alla directory /memories.
Esempio: Come funzionano le chiamate dello strumento memoria
Quando chiedi a Claude di aiutarti con un compito, Claude controlla automaticamente prima la sua directory di memoria. Ecco come appare una tipica interazione: 1. Richiesta dell’utente:Modelli supportati
Lo strumento memoria è disponibile su:- Claude Sonnet 4.5 (
claude-sonnet-4-5-20250929) - Claude Sonnet 4 (
claude-sonnet-4-20250514) - Claude Haiku 4.5 (
claude-haiku-4-5-20251001) - Claude Opus 4.1 (
claude-opus-4-1-20250805) - Claude Opus 4 (
claude-opus-4-20250514)
Iniziare
Per usare lo strumento memoria:- Includi l’header beta
context-management-2025-06-27nelle tue richieste API - Aggiungi lo strumento memoria alla tua richiesta
- Implementa gestori lato client per le operazioni di memoria
Per gestire le operazioni dello strumento memoria nella tua applicazione, devi implementare gestori per ogni comando di memoria. I nostri SDK forniscono helper dello strumento memoria che gestiscono l’interfaccia dello strumento—puoi sottoclassare
BetaAbstractMemoryTool (Python) o usare betaMemoryTool (TypeScript) per implementare il tuo backend di memoria (basato su file, database, cloud storage, file crittografati, ecc.).Per esempi funzionanti, vedi:- Python: examples/memory/basic.py
- TypeScript: examples/tools-helpers-memory.ts
Uso di base
Comandi dello strumento
La tua implementazione lato client deve gestire questi comandi dello strumento memoria:view
Mostra i contenuti della directory o i contenuti del file con intervalli di righe opzionali:create
Crea o sovrascrivi un file:str_replace
Sostituisci testo in un file:insert
Inserisci testo a una riga specifica:delete
Elimina un file o directory:rename
Rinomina o sposta un file/directory:Guida al prompting
Includiamo automaticamente questa istruzione al prompt di sistema quando lo strumento memoria è incluso:Nota: quando modifichi la tua cartella di memoria, cerca sempre di mantenere il suo contenuto aggiornato, coerente e organizzato. Puoi rinominare o eliminare file che non sono più rilevanti. Non creare nuovi file a meno che non sia necessario.Puoi anche guidare ciò che Claude scrive in memoria, ad es., “Scrivi solo informazioni rilevanti a <argomento> nel tuo sistema di memoria.”
Considerazioni di sicurezza
Ecco importanti preoccupazioni di sicurezza quando implementi il tuo archivio di memoria:Informazioni sensibili
Claude di solito rifiuterà di scrivere informazioni sensibili nei file di memoria. Tuttavia, potresti voler implementare una validazione più rigorosa che rimuove informazioni potenzialmente sensibili.Dimensione dell’archiviazione file
Considera di tracciare le dimensioni dei file di memoria e prevenire che i file crescano troppo. Considera di aggiungere un numero massimo di caratteri che il comando di lettura memoria può restituire, e lascia che Claude pagini attraverso i contenuti.Scadenza della memoria
Considera di cancellare periodicamente i file di memoria che non sono stati accessibili per un tempo esteso.Protezione attraversamento percorso
Input di percorso malevoli potrebbero tentare di accedere a file fuori dalla directory
/memories. La tua implementazione DEVE validare tutti i percorsi per prevenire attacchi di attraversamento directory.- Valida che tutti i percorsi inizino con
/memories - Risolvi i percorsi alla loro forma canonica e verifica che rimangano all’interno della directory di memoria
- Rifiuta percorsi contenenti sequenze come
../,..\\, o altri pattern di attraversamento - Fai attenzione alle sequenze di attraversamento codificate URL (
%2e%2e%2f) - Usa le utilità di sicurezza percorso integrate del tuo linguaggio (ad es.,
pathlib.Path.resolve()erelative_to()di Python)
Gestione degli errori
Lo strumento memoria usa gli stessi pattern di gestione degli errori dello strumento editor di testo. Gli errori comuni includono file non trovato, errori di permesso e percorsi non validi.Uso con Context Editing
Lo strumento memoria può essere combinato con context editing, che cancella automaticamente i vecchi risultati degli strumenti quando il contesto della conversazione cresce oltre una soglia configurata. Questa combinazione abilita flussi di lavoro agentici a lungo termine che altrimenti eccederebbero i limiti di contesto.Come funzionano insieme
Quando il context editing è abilitato e la tua conversazione si avvicina alla soglia di cancellazione, Claude riceve automaticamente una notifica di avviso. Questo spinge Claude a preservare qualsiasi informazione importante dai risultati degli strumenti nei file di memoria prima che quei risultati vengano cancellati dalla finestra di contesto. Dopo che i risultati degli strumenti vengono cancellati, Claude può recuperare le informazioni memorizzate dai file di memoria quando necessario, trattando effettivamente la memoria come un’estensione del suo contesto di lavoro. Questo permette a Claude di:- Continuare flussi di lavoro complessi e multi-step senza perdere informazioni critiche
- Fare riferimento a lavoro e decisioni passate anche dopo che i risultati degli strumenti sono rimossi
- Mantenere contesto coerente attraverso conversazioni che eccederebbero i tipici limiti di contesto
- Costruire una base di conoscenza nel tempo mantenendo la finestra di contesto attiva gestibile
Esempio di flusso di lavoro
Considera un progetto di refactoring del codice con molte operazioni sui file:- Claude effettua numerose modifiche ai file, generando molti risultati di strumenti
- Mentre il contesto cresce e si avvicina alla tua soglia, Claude riceve un avviso
- Claude riassume le modifiche fatte finora in un file di memoria (ad es.,
/memories/refactoring_progress.xml) - Il context editing cancella automaticamente i risultati degli strumenti più vecchi
- Claude continua a lavorare, facendo riferimento al file di memoria quando ha bisogno di ricordare quali modifiche sono già state completate
- Il flusso di lavoro può continuare indefinitamente, con Claude che gestisce sia il contesto attivo che la memoria persistente