La maggior parte delle best practice si basa su un vincolo: la finestra di contesto di Claude si riempie rapidamente e le prestazioni si degradano man mano che si riempie. La finestra di contesto di Claude contiene l’intera conversazione, inclusi ogni messaggio, ogni file che Claude legge e ogni output di comando. Tuttavia, può riempirsi rapidamente. Una singola sessione di debug o esplorazione del codebase potrebbe generare e consumare decine di migliaia di token. Questo è importante perché le prestazioni dell’LLM si degradano man mano che il contesto si riempie. Quando la finestra di contesto sta per riempirsi, Claude potrebbe iniziare a “dimenticare” le istruzioni precedenti o fare più errori. La finestra di contesto è la risorsa più importante da gestire. Monitorate continuamente l’utilizzo del contesto con una custom status line e consultate Reduce token usage per strategie su come ridurre l’utilizzo dei token.
Fornite a Claude un modo per verificare il suo lavoro
Claude funziona drammaticamente meglio quando può verificare il suo lavoro, come eseguire test, confrontare screenshot e convalidare output. Senza criteri di successo chiari, potrebbe produrre qualcosa che sembra giusto ma in realtà non funziona. Voi diventate l’unico ciclo di feedback e ogni errore richiede la vostra attenzione.| Strategia | Prima | Dopo |
|---|---|---|
| Fornire criteri di verifica | ”implementare una funzione che convalida gli indirizzi email" | "scrivere una funzione validateEmail. esempi di casi di test: [email protected] è true, invalid è false, [email protected] è false. eseguire i test dopo l’implementazione” |
| Verificare visivamente i cambiamenti dell’interfaccia utente | ”rendere il dashboard più bello" | "[incollare screenshot] implementare questo design. fare uno screenshot del risultato e confrontarlo con l’originale. elencare le differenze e correggerle” |
| Affrontare le cause radici, non i sintomi | ”la build sta fallendo" | "la build fallisce con questo errore: [incollare errore]. correggerlo e verificare che la build abbia successo. affrontare la causa radice, non sopprimere l’errore” |
Esplorate prima, poi pianificate, poi codificate
Lasciare che Claude salti direttamente alla codifica può produrre codice che risolve il problema sbagliato. Utilizzate Plan Mode per separare l’esplorazione dall’esecuzione. Il flusso di lavoro consigliato ha quattro fasi:Esplora
Entra in Plan Mode. Claude legge i file e risponde alle domande senza apportare modifiche.
claude (Plan Mode)
Pianifica
Chiedi a Claude di creare un piano di implementazione dettagliato.Premi
claude (Plan Mode)
Ctrl+G per aprire il piano nel vostro editor di testo per la modifica diretta prima che Claude proceda.Implementa
Torna alla Normal Mode e lascia che Claude codifichi, verificando rispetto al suo piano.
claude (Normal Mode)
Plan Mode è utile, ma aggiunge anche overhead.Per attività in cui l’ambito è chiaro e la correzione è piccola (come correggere un errore di battitura, aggiungere una riga di log o rinominare una variabile) chiedete a Claude di farlo direttamente.La pianificazione è più utile quando siete incerti sull’approccio, quando il cambiamento modifica più file o quando non siete familiari con il codice da modificare. Se potete descrivere il diff in una frase, saltate il piano.
Fornite contesto specifico nei vostri prompt
Claude può dedurre l’intento, ma non può leggere la mente. Fate riferimento a file specifici, menzionate i vincoli e indicate i modelli di esempio.| Strategia | Prima | Dopo |
|---|---|---|
| Definire l’ambito del compito. Specificate quale file, quale scenario e le preferenze di test. | ”aggiungere test per foo.py" | "scrivere un test per foo.py che copra il caso limite in cui l’utente è disconnesso. evitare i mock.” |
| Puntare alle fonti. Indirizzate Claude alla fonte che può rispondere a una domanda. | ”perché ExecutionFactory ha un’API così strana?" | "guardare la cronologia git di ExecutionFactory e riassumere come la sua API è arrivata a essere così” |
| Fare riferimento ai modelli esistenti. Puntate Claude ai modelli nel vostro codebase. | ”aggiungere un widget calendario" | "guardare come i widget esistenti sono implementati nella home page per comprendere i modelli. HotDogWidget.php è un buon esempio. seguire il modello per implementare un nuovo widget calendario che consenta all’utente di selezionare un mese e paginare avanti/indietro per scegliere un anno. costruire da zero senza librerie diverse da quelle già utilizzate nel codebase.” |
| Descrivere il sintomo. Fornite il sintomo, la probabile posizione e come appare “risolto”. | “correggere il bug di login" | "gli utenti segnalano che il login fallisce dopo il timeout della sessione. controllare il flusso di autenticazione in src/auth/, in particolare l’aggiornamento del token. scrivere un test fallito che riproduce il problema, quindi correggerlo” |
"cosa migliorereste in questo file?" può evidenziare cose a cui non avreste pensato di chiedere.
Fornire contenuti ricchi
Potete fornire dati ricchi a Claude in diversi modi:- Fare riferimento ai file con
@invece di descrivere dove vive il codice. Claude legge il file prima di rispondere. - Incollare le immagini direttamente. Copiate/incollate o trascinate le immagini nel prompt.
- Fornire URL per la documentazione e i riferimenti API. Utilizzate
/permissionsper aggiungere alla whitelist i domini utilizzati di frequente. - Inviare i dati tramite pipe eseguendo
cat error.log | claudeper inviare il contenuto del file direttamente. - Lasciare che Claude recuperi quello di cui ha bisogno. Dite a Claude di estrarre il contesto stesso utilizzando comandi Bash, strumenti MCP o leggendo i file.
Configurate il vostro ambiente
Alcuni passaggi di configurazione rendono Claude Code significativamente più efficace in tutte le vostre sessioni. Per una panoramica completa delle funzionalità dell’estensione e di quando utilizzare ciascuna, consultate Extend Claude Code.Scrivete un CLAUDE.md efficace
CLAUDE.md è un file speciale che Claude legge all’inizio di ogni conversazione. Includete comandi Bash, stile del codice e regole del flusso di lavoro. Questo fornisce a Claude un contesto persistente che non può dedurre dal solo codice. Il comando/init analizza il vostro codebase per rilevare sistemi di build, framework di test e modelli di codice, fornendovi una base solida da affinare.
Non esiste un formato obbligatorio per i file CLAUDE.md, ma manteneteli brevi e leggibili. Ad esempio:
CLAUDE.md
| ✅ Includere | ❌ Escludere |
|---|---|
| Comandi Bash che Claude non può indovinare | Qualsiasi cosa Claude possa capire leggendo il codice |
| Regole di stile del codice che differiscono dai valori predefiniti | Convenzioni linguistiche standard che Claude già conosce |
| Istruzioni di test e runner di test preferiti | Documentazione API dettagliata (collegare alla documentazione invece) |
| Etichetta del repository (denominazione dei rami, convenzioni PR) | Informazioni che cambiano frequentemente |
| Decisioni architettoniche specifiche del vostro progetto | Spiegazioni lunghe o tutorial |
| Stranezze dell’ambiente di sviluppo (variabili env richieste) | Descrizioni file per file del codebase |
| Gotcha comuni o comportamenti non ovvi | Pratiche auto-evidenti come “scrivere codice pulito” |
@path/to/import:
CLAUDE.md
- Cartella home (
~/.claude/CLAUDE.md): si applica a tutte le sessioni Claude - Radice del progetto (
./CLAUDE.md): controllare in git per condividere con il vostro team - Directory padre: utile per monorepo dove sia
root/CLAUDE.mdcheroot/foo/CLAUDE.mdvengono estratti automaticamente - Directory figlie: Claude estrae i file CLAUDE.md figlio su richiesta quando lavora con i file in quelle directory
Configurate i permessi
Per impostazione predefinita, Claude Code richiede il permesso per azioni che potrebbero modificare il vostro sistema: scritture di file, comandi Bash, strumenti MCP, ecc. Questo è sicuro ma tedioso. Dopo la decima approvazione non state davvero revisionando più, state solo cliccando. Ci sono tre modi per ridurre queste interruzioni:- Auto mode: un modello classificatore separato esamina i comandi e blocca solo quello che sembra rischioso: escalation di ambito, infrastruttura sconosciuta o azioni guidate da contenuti ostili. Migliore quando fidate della direzione generale di un’attività ma non volete cliccare attraverso ogni passaggio
- Whitelist di permessi: consentire strumenti specifici che sapete essere sicuri, come
npm run lintogit commit - Sandboxing: abilitare l’isolamento a livello di sistema operativo che limita l’accesso al filesystem e alla rete, consentendo a Claude di lavorare più liberamente all’interno di confini definiti
Utilizzate gli strumenti CLI
Gli strumenti CLI sono il modo più efficiente in termini di contesto per interagire con servizi esterni. Se utilizzate GitHub, installate la CLIgh. Claude sa come usarla per creare problemi, aprire pull request e leggere commenti. Senza gh, Claude può comunque utilizzare l’API GitHub, ma le richieste non autenticate spesso raggiungono i limiti di velocità.
Claude è anche efficace nell’imparare strumenti CLI che non conosce già. Provate prompt come Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.
Connettete i server MCP
Con i server MCP, potete chiedere a Claude di implementare funzionalità da tracker di problemi, interrogare database, analizzare dati di monitoraggio, integrare design da Figma e automatizzare flussi di lavoro.Configurate gli hook
Gli hook eseguono script automaticamente in punti specifici del flusso di lavoro di Claude. A differenza delle istruzioni CLAUDE.md che sono consultive, gli hook sono deterministici e garantiscono che l’azione accada. Claude può scrivere hook per voi. Provate prompt come “Write a hook that runs eslint after every file edit” o “Write a hook that blocks writes to the migrations folder.” Modificate.claude/settings.json direttamente per configurare gli hook manualmente e eseguite /hooks per sfogliare quello che è configurato.
Createte skill
Le skill estendono la conoscenza di Claude con informazioni specifiche del vostro progetto, team o dominio. Claude le applica automaticamente quando rilevanti, o potete invocarle direttamente con/skill-name.
Create una skill aggiungendo una directory con un SKILL.md a .claude/skills/:
.claude/skills/api-conventions/SKILL.md
.claude/skills/fix-issue/SKILL.md
/fix-issue 1234 per invocarlo. Utilizzate disable-model-invocation: true per flussi di lavoro con effetti collaterali che volete attivare manualmente.
Create subagent personalizzati
I subagent vengono eseguiti nel loro contesto con il loro set di strumenti consentiti. Sono utili per attività che leggono molti file o necessitano di focus specializzato senza ingombrare la vostra conversazione principale..claude/agents/security-reviewer.md
Installate i plugin
I plugin raggruppano skill, hook, subagent e server MCP in una singola unità installabile dalla comunità e da Anthropic. Se lavorate con un linguaggio tipizzato, installate un plugin di code intelligence per fornire a Claude la navigazione precisa dei simboli e il rilevamento automatico degli errori dopo le modifiche. Per una guida sulla scelta tra skill, subagent, hook e MCP, consultate Extend Claude Code.Comunicate efficacemente
Il modo in cui comunicate con Claude Code ha un impatto significativo sulla qualità dei risultati.Fate domande sul codebase
Quando vi onboarding a un nuovo codebase, utilizzate Claude Code per l’apprendimento e l’esplorazione. Potete fare a Claude lo stesso tipo di domande che fareste a un altro ingegnere:- Come funziona il logging?
- Come faccio a creare un nuovo endpoint API?
- Cosa fa
async move { ... }sulla riga 134 difoo.rs? - Quali casi limite gestisce
CustomerOnboardingFlowImpl? - Perché questo codice chiama
foo()invece dibar()sulla riga 333?
Lasciate che Claude vi intervisti
Claude fa domande su cose che potreste non aver ancora considerato, inclusa l’implementazione tecnica, l’interfaccia utente/esperienza utente, i casi limite e i compromessi.Gestite la vostra sessione
Le conversazioni sono persistenti e reversibili. Utilizzate questo a vostro vantaggio!Correggete il corso presto e spesso
I migliori risultati provengono da cicli di feedback stretti. Sebbene Claude occasionalmente risolva i problemi perfettamente al primo tentativo, correggerlo rapidamente generalmente produce soluzioni migliori più velocemente.Esc: fermate Claude a metà azione con il tastoEsc. Il contesto viene preservato, quindi potete reindirizzare.Esc + Esco/rewind: premeteEscdue volte o eseguite/rewindper aprire il menu di rewind e ripristinare la conversazione e lo stato del codice precedenti, o riassumere da un messaggio selezionato."Undo that": fate in modo che Claude ripristini le sue modifiche./clear: ripristinate il contesto tra attività non correlate. Le sessioni lunghe con contesto irrilevante possono ridurre le prestazioni.
/clear e iniziate di nuovo con un prompt più specifico che incorpori quello che avete imparato. Una sessione pulita con un prompt migliore quasi sempre supera una sessione lunga con correzioni accumulate.
Gestite il contesto aggressivamente
Claude Code compatta automaticamente la cronologia della conversazione quando vi avvicinate ai limiti del contesto, il che preserva il codice e le decisioni importanti mentre libera spazio. Durante le sessioni lunghe, la finestra di contesto di Claude può riempirsi di conversazioni irrilevanti, contenuti di file e comandi. Questo può ridurre le prestazioni e talvolta distrarre Claude.- Utilizzate
/clearfrequentemente tra le attività per ripristinare completamente la finestra di contesto - Quando la compattazione automatica si attiva, Claude riassume quello che conta di più, inclusi i modelli di codice, gli stati dei file e le decisioni chiave
- Per un maggiore controllo, eseguite
/compact <instructions>, come/compact Focus on the API changes - Per compattare solo parte della conversazione, utilizzate
Esc + Esco/rewind, selezionate un checkpoint di messaggio e scegliete Summarize from here. Questo condensa i messaggi da quel punto in poi mantenendo il contesto precedente intatto. - Personalizzate il comportamento di compattazione in CLAUDE.md con istruzioni come
"When compacting, always preserve the full list of modified files and any test commands"per assicurare che il contesto critico sopravviva alla riassunzione - Per domande rapide che non devono rimanere nel contesto, utilizzate
/btw. La risposta appare in un overlay dismissibile e non entra mai nella cronologia della conversazione, quindi potete controllare un dettaglio senza far crescere il contesto.
Utilizzate i subagent per l’investigazione
Poiché il contesto è il vostro vincolo fondamentale, i subagent sono uno degli strumenti più potenti disponibili. Quando Claude ricerca un codebase legge molti file, tutti i quali consumano il vostro contesto. I subagent vengono eseguiti in finestre di contesto separate e riportano riassunti:Riavvolgete con i checkpoint
Claude crea automaticamente checkpoint prima delle modifiche. Premete il doppio tasto Escape o eseguite/rewind per aprire il menu di rewind. Potete ripristinare solo la conversazione, ripristinare solo il codice, ripristinare entrambi o riassumere da un messaggio selezionato. Consultate Checkpointing per i dettagli.
Invece di pianificare attentamente ogni mossa, potete dire a Claude di provare qualcosa di rischioso. Se non funziona, riavvolgete e provate un approccio diverso. I checkpoint persistono tra le sessioni, quindi potete chiudere il vostro terminale e comunque riavvolgere in seguito.
Riprendete le conversazioni
Claude Code salva le conversazioni localmente. Quando un’attività si estende su più sessioni, non dovete rispiegare il contesto:/rename per dare alle sessioni nomi descrittivi come "oauth-migration" o "debugging-memory-leak" in modo da poterle trovare in seguito. Trattate le sessioni come rami: diversi flussi di lavoro possono avere contesti separati e persistenti.
Automatizzate e ridimensionate
Una volta che siete efficaci con un Claude, moltiplicate il vostro output con sessioni parallele, modalità non interattiva e modelli di fan-out. Tutto finora presuppone un umano, un Claude e una conversazione. Ma Claude Code si ridimensiona orizzontalmente. Le tecniche in questa sezione mostrano come potete fare di più.Eseguite la modalità non interattiva
Conclaude -p "your prompt", potete eseguire Claude in modo non interattivo, senza una sessione. La modalità non interattiva è il modo in cui integrate Claude nelle pipeline CI, pre-commit hook o qualsiasi flusso di lavoro automatizzato. I formati di output vi permettono di analizzare i risultati a livello di programmazione: testo semplice, JSON o JSON in streaming.
Eseguite più sessioni Claude
Ci sono tre modi principali per eseguire sessioni parallele:- App desktop Claude Code: Gestite più sessioni locali visivamente. Ogni sessione ottiene il suo worktree isolato.
- Claude Code sul web: Eseguite su infrastruttura cloud sicura di Anthropic in VM isolate.
- Team di agenti: Coordinamento automatizzato di più sessioni con attività condivise, messaggistica e un team lead.
| Sessione A (Writer) | Sessione B (Reviewer) |
|---|---|
Implement a rate limiter for our API endpoints | |
Review the rate limiter implementation in @src/middleware/rateLimiter.ts. Look for edge cases, race conditions, and consistency with our existing middleware patterns. | |
Here's the review feedback: [Session B output]. Address these issues. |
Fan out tra i file
Per migrazioni o analisi su larga scala, potete distribuire il lavoro tra molte invocazioni parallele di Claude:Generare un elenco di attività
Fate in modo che Claude elenchi tutti i file che devono essere migrati (ad es.
list all 2,000 Python files that need migrating)--verbose per il debug durante lo sviluppo e spegnetelo in produzione.
Eseguite autonomamente con auto mode
Per l’esecuzione ininterrotta con controlli di sicurezza in background, utilizzate auto mode. Un modello classificatore esamina i comandi prima che vengono eseguiti, bloccando l’escalation di ambito, l’infrastruttura sconosciuta e le azioni guidate da contenuti ostili mentre consente al lavoro di routine di procedere senza prompt.-p, auto mode interrompe se il classificatore blocca ripetutamente le azioni, poiché non c’è un utente a cui ricorrere. Consultate when auto mode falls back per le soglie.
Evitate i modelli di fallimento comuni
Questi sono errori comuni. Riconoscerli presto fa risparmiare tempo:- La sessione del lavandino della cucina. Iniziate con un’attività, poi chiedete a Claude qualcosa di non correlato, poi tornate alla prima attività. Il contesto è pieno di informazioni irrilevanti.
Correzione:
/cleartra attività non correlate. - Correggere più volte. Claude fa qualcosa di sbagliato, lo correggete, è ancora sbagliato, lo correggete di nuovo. Il contesto è inquinato da approcci falliti.
Correzione: Dopo due correzioni fallite,
/cleare scrivete un prompt iniziale migliore che incorpori quello che avete imparato. - Il CLAUDE.md eccessivamente specificato. Se il vostro CLAUDE.md è troppo lungo, Claude ignora metà di esso perché le regole importanti si perdono nel rumore.
Correzione: Potate spietatamente. Se Claude fa già qualcosa di corretto senza l’istruzione, eliminatelo o convertitelo in un hook.
- Il divario tra fiducia e verifica. Claude produce un’implementazione plausibile che non gestisce i casi limite.
Correzione: Fornite sempre la verifica (test, script, screenshot). Se non potete verificarlo, non lo spedite.
- L’esplorazione infinita. Chiedete a Claude di “investigare” qualcosa senza limitarlo. Claude legge centinaia di file, riempiendo il contesto.
Correzione: Limitate le investigazioni strettamente o utilizzate i subagent in modo che l’esplorazione non consumi il vostro contesto principale.
Sviluppate la vostra intuizione
I modelli in questa guida non sono scolpiti nella pietra. Sono punti di partenza che funzionano bene in generale, ma potrebbero non essere ottimali per ogni situazione. A volte dovreste lasciare che il contesto si accumuli perché siete immersi in un problema complesso e la cronologia è preziosa. A volte dovreste saltare la pianificazione e lasciare che Claude lo capisca perché l’attività è esplorativa. A volte un prompt vago è esattamente giusto perché volete vedere come Claude interpreta il problema prima di limitarlo. Prestate attenzione a quello che funziona. Quando Claude produce un output eccellente, notate quello che avete fatto: la struttura del prompt, il contesto che avete fornito, la modalità in cui siete stati. Quando Claude fatica, chiedetevi perché. Il contesto era troppo rumoroso? Il prompt troppo vago? L’attività troppo grande per un passaggio? Nel tempo, svilupperete un’intuizione che nessuna guida può catturare. Saprete quando essere specifici e quando essere aperti, quando pianificare e quando esplorare, quando cancellare il contesto e quando lasciarlo accumulare.Risorse correlate
- How Claude Code works: il ciclo agenziale, gli strumenti e la gestione del contesto
- Extend Claude Code: skill, hook, MCP, subagent e plugin
- Common workflows: ricette passo dopo passo per debug, test, PR e altro
- CLAUDE.md: archiviare le convenzioni del progetto e il contesto persistente