Anthropic ha rimosso l'80% del system prompt che guida Claude Code e ha riferito che non vi è stata alcuna diminuzione della sua capacità di scrivere codice. L'esperimento dimostra che man mano che i modelli linguistici di grandi dimensioni (LLM) diventano più capaci, gli sviluppatori possono tagliare l'ingombrante impalcatura utilizzata per mantenere i modelli in carreggiata senza compromettere le prestazioni.
Perché il prompt era importante fin dall'inizio
Al lancio di Claude Code, il suo system prompt elencava decine di regole. Gli ingegneri aggiungevano nuove righe ogni volta che appariva un bug, ma raramente rimuovevano qualcosa che sembrava funzionare. Con il tempo, il prompt si è trasformato in un documento statico e intricato.
Il divario tra i modelli si sta colmando
Quelle regole extra nascondevano un “model gap” – la differenza tra ciò che il modello poteva fare e ciò che l'applicazione richiedeva. Nel 2024, gli sviluppatori dovevano specificare vincoli rigorosi per impedire al modello, ad esempio, di inserire troppi commenti nel codice. Oggi, lo stesso modello può dedurre lo stile desiderato da una singola istruzione come “adegua allo stile del codice esistente”. Le regole si sono trasformate da aiuto a rumore.
Cosa sta cambiando nel context engineering
Il taglio di Anthropic riflette un cambiamento più ampio nel modo in cui gli sviluppatori strutturano i prompt:
- Istruzioni critiche una tantum – dichiara una regola una volta e lascia che il modello la mantenga.
- Parametri guidati dagli strumenti invece di esempi few-shot – descrivi la forma di input e output nello schema dello strumento e lascia che il modello li completi.
- Divulgazione progressiva – fornisci solo il contesto necessario per lo step corrente, aggiungendone altro in seguito se necessario.
- Sposta la guida statica nelle descrizioni degli strumenti – elementi come “usa camelCase per le variabili” appartengono alla specifica dello strumento, non al system prompt.
- Sostituisci le regole hardcoded con euristiche – lascia che il modello decida quando applicare una regola invece di imporla incondizionatamente.
Queste tattiche funzionano perché il modello conosce già molte convenzioni che prima richiedevano un rinforzo esplicito.
Il rischio di un taglio eccessivo
Lo stesso pruning che avvantaggia i modelli frontier può danneggiare quelli più piccoli. Anthropic osserva che modelli come Haiku si affidano ancora a prompt più ricchi per rimanere in carreggiata. Rimuovere troppa guida da un modello meno capace potrebbe reintrodurre gli errori che il prompt originale cercava di prevenire: nomi inconsistenti, commenti eccessivi o casi limite (edge cases) trascurati.
Come sottoporre a audit i propri prompt
Se gestisci una pipeline di generazione di codice, un audit del prompt può rivelare pesi morti. Una checklist pratica è la seguente:
- Ricalibra la densità delle istruzioni – adegua la quantità di guida al modello che utilizzi effettivamente.
- Elimina le istruzioni duplicate – se una regola appare sia nel system prompt che nella descrizione dello strumento, mantienila una sola volta.
- Trasforma gli esempi funzionanti in schemi più ricchi – sostituisci gli esempi concreti con tipi di parametri enumerati o enum.
- Esternalizza i dettagli situazionali – sposta i grandi blocchi di riferimento in file separati che il modello può recuperare su richiesta.
- Rimuovi le regole che coprono comportamenti scomparsi – se il modello non aggiunge più commenti indesiderati, elimina la regola “no-comment”.
Non affidarti all'istinto. Usa una semplice “Regola dei 3 Test”: esegui cinque compiti di programmazione realistici, confronta i risultati prima e dopo ogni eliminazione e annota eventuali regressioni.
- Baseline – misura le prestazioni con il prompt completo.
- Elimina – rimuovi una riga o un blocco candidato.
- Riesegui – esegui gli stessi cinque compiti.
Se l'output cambia, hai identificato una riga che ha ancora un peso. Se non cambia, la riga può essere rimossa in sicurezza.
Cosa dovrebbero osservare gli sviluppatori in seguito
Per ora, la conclusione è chiara: un system prompt è un documento vivo. Tratta ogni riga come se avesse un ciclo di vita, effettua audit regolari e lascia che la crescente competenza del modello faccia il lavoro pesante.
Fonte: dev.to/ialijr/your-system-prompt-has-a-shelf-life-maintaining-prompts-as-models-improve-cd9
