Anthropic ha pubblicato nuove indicazioni per progettare il contesto destinato ai modelli Claude 5, dopo aver eliminato oltre l’80% del system prompt di Claude Code senza rilevare perdite misurabili nelle valutazioni di programmazione. Il risultato indica un cambiamento nel modo di utilizzare i modelli più avanzati: invece di controllarne ogni comportamento attraverso grandi quantità di regole preventive, diventa più efficace fornire un contesto essenziale, ben organizzato e privo di istruzioni ripetitive o contraddittorie, lasciando al modello maggiore spazio per interpretare il compito e adattarsi al progetto sul quale sta lavorando.
Il context engineering comprende tutte le informazioni che circondano il prompt dell’utente, tra cui system prompt, file CLAUDE.md, Skills, memoria, definizioni degli strumenti, documenti e riferimenti caricati durante l’attività. Questi elementi vengono riutilizzati in molte richieste e devono quindi essere sufficientemente generali, ma una quantità eccessiva di istruzioni può occupare inutilmente la finestra di contesto, aumentare il lavoro di ragionamento e produrre conflitti. Anthropic ha osservato, per esempio, richieste nelle quali indicazioni come aggiungere la documentazione quando appropriato entravano in contrasto con regole che vietavano commenti o file intermedi, costringendo Claude a risolvere il conflitto prima ancora di affrontare il codice.
Le regole dettagliate che in precedenza servivano a impedire comportamenti indesiderati, come eliminare file, produrre commenti troppo lunghi o creare documenti non richiesti, sono state in gran parte rimosse. Per i modelli più recenti Anthropic utilizza istruzioni sintetiche, chiedendo per esempio di scrivere codice coerente con quello circostante e di adeguarsi alla densità dei commenti, alla nomenclatura e agli idiomi già presenti nel repository. Il modello ricava quindi lo stile direttamente dal progetto, invece di applicare rigidamente una convenzione generale che potrebbe risultare inadatta al singolo caso.
È cambiato anche il modo di progettare gli strumenti. In passato venivano forniti numerosi esempi per mostrare a Claude come utilizzare una funzione, mentre i test sui nuovi modelli hanno mostrato che gli esempi possono restringere eccessivamente lo spazio di esplorazione. Anthropic raccomanda ora di costruire interfacce intuitive, definire chiaramente parametri e valori ammessi e lasciare che sia il modello a scegliere la sequenza operativa più adatta. Una proprietà come lo stato di un’attività, limitata ai valori “pending”, “in_progress” e “completed”, può già descrivere il comportamento previsto senza richiedere lunghe dimostrazioni nel prompt.
Un altro principio riguarda la progressive disclosure, cioè il caricamento progressivo delle informazioni. Le procedure di revisione del codice, verifica o validazione non devono necessariamente rimanere sempre presenti nel system prompt o nel file principale del progetto: possono essere separate in Skills specializzate e richiamate soltanto quando l’attività lo richiede. Lo stesso approccio viene applicato agli strumenti con il deferred loading, che consente all’agente di cercarne la definizione completa tramite ToolSearch prima dell’utilizzo, evitando che decine di funzioni occupino la finestra di contesto anche quando non sono pertinenti.
Anthropic sconsiglia quindi di trasformare CLAUDE.md in un archivio centrale contenente ogni possibile regola, procedura e convenzione aziendale. Il file dovrebbe rimanere leggero, spiegare brevemente lo scopo del repository e concentrarsi soprattutto sulle caratteristiche anomale che Claude non potrebbe dedurre osservando autonomamente la struttura del progetto. Le istruzioni più specifiche possono essere distribuite in una struttura ad albero, suddivise per argomento e caricate al bisogno, mentre le Skills dovrebbero funzionare come guide leggere contenenti competenze, opinioni e pratiche proprie del team o del prodotto.
Anche la ripetizione delle istruzioni viene considerata meno utile. I modelli precedenti potevano richiedere che una regola fosse riportata sia nel system prompt sia nella descrizione dello strumento, oppure potevano attribuire un peso maggiore alle indicazioni collocate verso la fine del contesto. Con Claude 5, Anthropic ha eliminato molti di questi duplicati e spostato le istruzioni operative nel punto più pertinente, per esempio inserendo le modalità di utilizzo di uno strumento direttamente nella sua definizione. In questo modo il contesto diventa più breve e diminuisce il rischio che formulazioni simili ma non identiche producano interpretazioni incoerenti.
La gestione della memoria segue lo stesso principio. In precedenza gli utenti venivano incoraggiati a salvare manualmente informazioni nei file CLAUDE.md, mentre Claude Code dispone ora di una memoria automatica che conserva autonomamente elementi ritenuti rilevanti per il lavoro e per l’utente. Il file principale non deve quindi accumulare anche cronologia, preferenze e informazioni temporanee già gestite da altri componenti del sistema, ma può rimanere concentrato sulle caratteristiche permanenti del repository.
Per descrivere un progetto complesso, Anthropic suggerisce inoltre di preferire riferimenti ricchi e verificabili alle spiegazioni astratte. Claude può utilizzare suite di test, funzioni provenienti da altri repository, mockup HTML, intere basi di codice e artefatti strutturati come specifiche operative. Un prototipo HTML, per esempio, può fornire indicazioni più precise rispetto a una descrizione testuale o a uno screenshot, perché contiene direttamente struttura, gerarchie ed elementi che il modello può analizzare. Le Rubrics permettono invece di formalizzare criteri qualitativi propri del team, come ciò che viene considerato un buon design API, e di avviare agenti verificatori incaricati di controllare il risultato dopo l’esecuzione.
Anthropic ha raccolto queste pratiche nel comando claude doctor, accessibile in Claude Code tramite /doctor. La funzione analizza system prompt, Skills e file CLAUDE.md e aiuta a ridimensionarli secondo le nuove raccomandazioni, individuando contesto eccessivo, istruzioni ridondanti e materiali che potrebbero essere caricati progressivamente. Non si tratta quindi di un controllo sulla correttezza del codice, ma di uno strumento per ottimizzare l’ambiente informativo nel quale opera l’agente.
Le nuove indicazioni mostrano che l’evoluzione dei modelli modifica anche l’infrastruttura costruita intorno ad essi. Regole e guide elaborate per compensare le debolezze delle generazioni precedenti possono trasformarsi in vincoli che rallentano quelle successive, soprattutto quando il modello è già capace di interpretare il codice circostante, selezionare strumenti e gestire autonomamente parte della memoria. Il context engineering per Claude 5 consiste quindi meno nell’accumulare istruzioni e più nel decidere dove collocare ogni informazione, quando renderla disponibile e quali elementi lasciare direttamente al giudizio del modello.
