2026-08-01T05:55:42.478Z
Memoria di codice Claude: controlla ciò che si carica e sopravvive
Inventare le fonti di memoria Claude Code, la deriva di scope di cattura e il taglio di avvio, e verificare una decisione critica dopo il riavvio o la compressione.
La memoria Claude Code dovrebbe essere gestita come un contratto di input con versioni, non giudicata dal fatto che l'agente sembra familiare con il progetto. Una struttura sana ha tre elementi di prova: le fonti attese sono cariche, il loro contenuto non è stato allontanato o truncato e una decisione critica del progetto può ancora essere riprodotta dopo un riavvio o una compressione. Questo standard conta perché la memoria si riferisce ora a diversi meccanismi. Claude Code legge le istruzioni CLAUDE.md mantenute dall'uomo e conserva anche un directory di memoria automatica scritto dall'agente. Entrambi possono essere presenti mentre l'ambito sbagliato è attivo. Entrambi possono essere attuali sul disco mentre sono assenti dal momento che conta. E nemmeno un confine di applicazione: la documentazione di Anthropic descrive esplicitamente questi file come contesto. Se un'azione deve essere bloccata, utilizzare un controllo deterministico come un gancio PreToolUse . La pratica predefinita è semplice: mantenere regole di squadra durevoli in un progetto breve CLAUDE.md , spostare le istruzioni condizionali in regole percorso scoped, mantenere la memoria automatica come un indice conciso, e verificare il set di sorgente dal vivo prima di debugging il modello. Trattare la memoria come un contratto di sorgente carica L'attuale documentazione del codice Claude descrive due sistemi complementari: Fonte Scrittore Scopo tipico Comportamento iniziale Le migliori prove Gestione di CLAUDE.md Organizzazione Ogni utente Caricato al lancio /context o InstructionsLoaded Utente ~/.claude/CLAUDE.md Individualità Ogni progetto Caricato al lancio /context Progetto CLAUDE.md o .claude/CLAUDE.md Squadra Ripositorio Caricato al lancio /context più hash di file CLAUDE.local.md Individualità Progetto attuale Caricato al lancio quando le impostazioni locali sono abilitate /context più hash di file CLAUDE.md annidato Proprietario di un team o di un componente Sottoindirizzo Caricato quando Claude legge all'interno di quel sottoalbero InstructionsLoaded .claude/rules/ .md Squadra Classificazione del prodotto: Caricamento di file di lancio o di corrispondenza InstructionsLoaded Memoria automatica MEMORY.md Claude Repositorio condiviso tra alberi di lavoro Le prime 200 linee o 25KB /memory , audit dei file e un canario La tabella mostra la prima classe di guasto: dichiarato non è caricato . /memory è utile per la ricerca e l'elaborazione di posizioni configurate. /context risponde alla domanda più ristretta di quali file di memoria hanno raggiunto la conversazione corrente. Il gancio InstructionsLoaded , aggiunto nel codice Claude 2.1.69, si adatta meglio quando il tempo di caricamento pigro e la ragione sono materiali. Sostituire una diagnosi con un'altra produce un falso stato verde. Anche l'ordine di carico conta. Claude Code passa da una directory più ampia verso la directory di lavoro. I file più specifici arrivano più tardi, ma il sistema concatenerà le istruzioni piuttosto che trattare il file più vicino come un override pulito. Due regole contraddittorie rimangono quindi due parti di contesto contraddittorie. La risposta sicura è rimuovere la contraddizione, non affidarsi alla posizione. Le importazioni aggiungono un altro limite. Un progetto CLAUDE.md può includere un altro file con @path , ricorrentemente fino a quattro salti secondo la documentazione corrente. Un'importazione al di fuori del directorio di lavoro richiede l'approvazione la prima volta che viene incontrata. La divisione di un file grande in importazioni può facilitare la manutenzione, ma non riduce il contesto di avvio perché il contenuto importato è ancora carico. La memoria automatica ha un limite diverso. Solo le prime 200 righe o i primi 25KB di MEMORY.md , qualunque confine arrivi prima, entra in una nuova conversazione. I dettagli dei file di argomento sono letti su richiesta. Dato che il codice Claude 2.1.211, prima materia e commenti HTML a livello di blocco sono esclusi quando la porzione caricata viene misurata. Una scrittura di successo al di là del cappello non è quindi una lettura futura di successo. Classifica come copertura parziale , non persistenza sana. Costruire un manifesto prima di incolpare il richiamo Un utile audit non raccoglie richieste, trascrizioni o contenuti di memoria. Registra i percorsi di sorgente, la portata, la dimensione, il tempo di modifica, un digest SHA 256, le importazioni e la modalità di carico documentata. L'artefatto riproducibile utilizzato per questo articolo accetta un repository, una directory di lavoro e un indice di memoria automatica opzionale: Il suo risultato si ferma deliberatamente senza affermare che un modello ha seguito un'istruzione: Il supporto di accompagnamento crea un file di istruzioni root, un file locale di directory di lavoro, una regola di percorso, un file di decisione importato e un indice di memoria automatica di 205 righe. Il test è superato solo quando l'audit: rileva entrambi i file di istruzioni per l'orario di lancio; risolve l'importazione senza inserire il suo contenuto nella relazione; segna la regola come percorsa; segna la copertura di avvio della memoria automatica come parziale al confine della linea; produce un hash per ogni sorgente osservata; e si rifiuta di restituire un verdetto completamente sano senza prove di tempo di esecuzione. L'ultimo rifiuto è importante. I hash dei file dimostrano rilevamento dei cambiamenti, non adesione. /context dimostra l'inclusione, non che il modello abbia applicato la decisione corretta. Anche InstructionsLoaded dimostra un evento, non il risultato previsto. La catena di prove deve essere additiva: 1. Inventario: la fonte esiste dove la risoluzione documentata può trovarla. 2. Integrità: la sua digestione e il tempo di modifica corrispondono alla revisione attesa. 3. Inclusione: /context o un evento InstructionsLoaded mostra che è entrata nella sessione. 4. Decisione: un canario deterministico produce la risposta attesa per il progetto specifico. 5. Outcome: il comando, il file o il consegnabile risultante superano la propria verifica. Per esempio, non chiedete: "Ricordate il nostro processo di rilascio?" Immagazzinare una decisione non segreta come utilizzare i rilasci di produzione scripts/release all.sh ; è vietato spingere direttamente il ramo di rilascio. Poi chiedere il punto di ingresso di rilascio approvato in una nuova sessione. Confronta la risposta a quella decisione esatta, e verifica comunque l'effettivo comando di rilascio separatamente prima di qualsiasi mutazione. Rilancio della prova e compressione come differenti limiti Un riavvio e /compact non esercitano lo stesso percorso. In una nuova conversazione, Claude Code carica il set di sorgente configurato per il tempo di lancio e la porzione visibile di avvio della memoria automatica. La memoria automatica è locale, anche se le attuali versioni di Claude Code condividono la stessa configurazione del progetto e la stessa directory di memoria automatica tra gli alberi di lavoro di un repository Git. Una prova di successo in un worktree non dimostra quindi la sincronizzazione con un'altra macchina o con un ambiente cloud. Dopo /compact , il progetto root CLAUDE.md viene rilettuto e iniettato nuovamente. I file CLAUDE.md annidati non vengono iniezionati automaticamente; ritornano quando Claude legge in seguito un file nella loro sottodirezione. Questo crea una finestra di incertezza ristretta ma reale. Se una regola dei componenti critici vive solo in un file incastonato, una risposta immediatamente dopo la compressione può essere plausibile prima che tale regola sia stata caricata di nuovo. Utilizzare un protocollo in due parti: Il confine Impostazione Canarie Condizione di passaggio Ripristino Terminare la sessione, partire dallo stesso repository e dal stesso directory di lavoro Chiedi una decisione critica a livello radicale Le fonti attese figurano in /context ; la risposta corrisponde alla decisione Compazione Inserire il sottogruppo pertinente, confermare la sua fonte annidata, quindi eseguire /compact Chiedi una volta prima e una volta dopo aver riaperto un file corrispondente La risposta dopo la lettura corrisponde; le prove di caricamento registrano di nuovo la fonte annidata Albero di lavoro Eseguire da due alberi di lavoro dello stesso deposito Controllare il percorso di memoria automatica e una decisione condivisa Entrambe risolvono la stessa memoria di progetto, senza alcuna pretesa di sincronizzazione tra macchine Indice di dimensioni eccessive Mettere un canario innocuo oltre il limite di avvio documentato in un dispositivo di prova Inizia una nuova conversazione senza aprire un file di argomento Il canario deve essere trattato come non disponibile, dimostrando che l'audit rileva una copertura parziale Non inserire un vero segreto, un registro di clienti, una richiesta privata o una credenziale di produzione in un canario. La questione dovrebbe dipendere da una decisione operativa innocua la cui risposta attesa può essere paragonata con precisione. Il compromesso è che più strumentazione può diventare più contesto. Gli eventi InstructionsLoaded e i manifest di file sono prove compatte; copiare interi file di istruzioni in registri non è possibile. Preferisci percorsi, hash, tipo di fonte, ragione di carico, freschezza e un risultato canario limitato. Tenete il contenuto con l'ospite. Usa un verdetto operativo . Utilizzare questi stati invece di una singola casella di controllo memory works: Salute: le fonti attese sono intatte e cariche, il canario sopravvive al limite testato e il risultato del compito viene verificato. Attende: un'approvazione all'importazione esterna o una decisione umana è legittimamente in sospeso. Partiale: l'indice di memoria automatica attraversa un capp di avvio, o una fonte annidata non si è ricaricata dopo la compattazione. Drifted: un hash di fonte modificato senza un aggiornamento di decisione rivisto. Conflitto: due fonti caricate prescrivono un comportamento incompatibile. Incerto: archivio di prove e comportamento in diretta non sono d'accordo, o le prove di inclusione non sono disponibili. La regola di funzionamento è: Non riparare mai la memoria solo dalla prosa . Identifica prima lo strato di prove mancante. Spostare una regola solo quando la sua portata è sbagliata. Abbreviare un indice solo quando la copertura iniziale è parziale. Elimina una contraddizione piuttosto che aggiungere una copia più forte. Escalate quando il canario fallisce nonostante le fonti intatte e cariche. Il modello di salute pianificato di Sidewisp include la continuità di memoria e di contesto oltre alla disponibilità, agli strumenti, all'esecuzione, agli esiti e al costo. Il confine utile qui è il diagnostico: una futura integrazione potrebbe riportare la freschezza della fonte, la copertura parziale e la continuità delle decisioni senza caricare contenuti di memoria. Non deve pretendere che un hash di file sia un lavoro utile. Sidewisp è attualmente in anteprima privata. Il suo motore di monitoraggio della produzione e l'adattatore Claude Code non vengono generalmente spediti. Il sito pubblico e il sistema di articoli sono in diretta; unisciti alla preview se vuoi questo tipo di visione sulla salute di agenti che hai già eseguito. Fonti: Documentazione della memoria Claude Code, Codice di cambiamento Claude e Statuto del prodotto Sidewisp.