La qualità del codice generato dall'AI dipende quasi interamente da cosa chiedi e da come lo chiedi. Questa guida raccoglie i pattern che producono in modo costante risultati migliori con Claude Code.
Dal delimitare il compito ai prompt di sistema, dall'affinamento iterativo alle istruzioni per ruolo. Tecniche pratiche che puoi applicare nella tua prossima sessione di codice.
Quando chiedi a uno sviluppatore umano di 'costruire una pagina di login', ti fa delle domande per chiarire: quale provider di autenticazione? Quali campi? Deve gestire OAuth? I messaggi di errore? Gli stati di caricamento?
Gli agenti di codifica AI proveranno invece a rispondere da soli a tutte quelle domande. A volte indovinano. Spesso producono qualcosa di ragionevole, ma non quello che volevi. È proprio questo scarto tra 'ragionevole' ed 'esattamente giusto' che il prompt engineering colma.
Un buon prompt non deve per forza essere lungo. Deve essere preciso su ciò che conta e tacere su ciò che non conta. Questa guida parla di quell'equilibrio.
Pattern che migliorano i risultati qualunque sia il compito.
Invece di 'crea un componente React, poi aggiungi lo stato, poi aggiungi lo stile', descrivi il risultato finale: 'Costruisci una sidebar richiudibile che mostri i nomi dei progetti, permetta di riordinare con il trascinamento e usi il nostro tema Tailwind attuale.' Lascia che sia l'agente a decidere come arrivarci.
Avoid
Crea un componente. Aggiungi useState. Aggiungi un pulsante di attivazione. Dagli lo stile con Tailwind.
Better
Costruisci un componente sidebar richiudibile che elenca i progetti per nome. Deve permettere di riordinare trascinando e rispettare il nostro tema scuro (bg-[#111318], border-[#262b38]). Lo stato richiuso deve persistere tra i ricaricamenti di pagina.
Gli agenti lavorano meglio quando conoscono i confini. Indica quali file toccare (o evitare), quali pattern seguire e cosa significa 'finito'. I compiti senza confini portano a modifiche sparse e difficili da rivedere.
Avoid
Rifattorizza il sistema di autenticazione.
Better
Rifattorizza l'handler di login in src/api/auth/login.ts per usare bcrypt al posto di sha256 nell'hashing delle password. Non toccare la logica JWT né la gestione del cookie di sessione. Aggiorna i test collegati in tests/auth/.
Claude Code può leggere i file del tuo progetto, ma non può leggerti nel pensiero. Se segui una convenzione, se preferisci una libreria in particolare o se hai già stabilito un pattern, dillo. Così eviti di rifare il lavoro.
Avoid
Aggiungi la validazione al modulo.
Better
Aggiungi la validazione al modulo di iscrizione usando zod (lo usiamo già per il modulo delle impostazioni in src/forms/settings.ts). Mostra i messaggi di errore in linea sotto ogni campo. Usa lo stesso stile di errore del modulo di login.
I prompt composti ('costruisci l'API, scrivi i test, aggiorna la documentazione e fai il deploy') costringono l'agente a tenere insieme troppi obiettivi. Spezza il lavoro complesso in compiti sequenziali e mirati. Ognuno si appoggia sul risultato del precedente.
Avoid
Costruisci la pagina del profilo utente, scrivi gli endpoint API, aggiungi i test, aggiorna il README e, già che ci sei, sistema la barra di navigazione.
Better
Costruisci l'endpoint GET /api/user/profile. Restituisci i campi id, name, email e plan. Usa il middleware di autenticazione già esistente.
Se il primo risultato non va bene, affina il prompt invece di ripartire da zero. Claude conserva tutto il contesto della conversazione. Di' cosa non va, cosa cambiare e cosa tenere. Iterare è più veloce che reinventare.
Avoid
È sbagliato. Ricomincia da capo e costruisci il componente in un altro modo.
Better
Il layout va bene, ma il breakpoint mobile no. Sotto i 768px, impila le schede in verticale invece di usare una griglia. Lascia tutto il resto com'è.
I prompt di sistema definiscono il comportamento di base di un agente prima ancora che tu dica qualcosa. Sono lo strumento meno sfruttato della codifica con AI.
Un prompt di sistema dice all'agente chi è, su cosa deve concentrarsi e cosa deve evitare. Si applica a ogni messaggio della sessione. Pensalo come la descrizione del ruolo dell'agente.
AgentsRoom include 14 prompt di sistema per ruolo: uno per ogni tipo di agente. Quello dell'agente Frontend gli dice di concentrarsi su componenti, accessibilità e design responsive. Quello dell'agente QA gli dice di ragionare sui casi limite e di scrivere test completi. Puoi personalizzarli o scriverne di tuoi.
Sei uno sviluppatore frontend senior. Concentrati sui componenti React, sullo stile CSS/Tailwind, sull'accessibilità (WCAG AA) e sul design responsive. Usa la libreria di componenti già presente nel progetto prima di crearne di nuovi. Preferisci la composizione all'ereditarietà. Scrivi HTML semantico. Non modificare mai i file di backend.
Il prompt più efficace non si scrive in una chat. Vive nel tuo repository.
CLAUDE.md è un file markdown alla radice del tuo progetto che Claude Code legge automaticamente. Contiene la struttura del progetto, le convenzioni, i dettagli dello stack e le linee guida che valgono per ogni sessione di agente del progetto.
Invece di ripetere 'usiamo Tailwind CSS 4, Prisma ORM e Next.js 16' in ogni conversazione, scrivilo una volta in CLAUDE.md. Ogni agente eredita quel contesto. AgentsRoom include un editor integrato per CLAUDE.md, così puoi aggiornarlo senza uscire dall'app.
Un CLAUDE.md scritto bene vale più di decine di prompt individuali costruiti con cura. Si accumula: ogni sessione ne trae vantaggio.
Smetti di riscrivere le stesse istruzioni. Salva quello che funziona e riusalo.
Se ti accorgi di scrivere lo stesso tipo di richiesta su più progetti ('scrivi i test unitari per questo file', 'rifattorizza questo per usare il pattern repository', 'aggiungi la gestione degli errori a tutte le rotte API'), salvalo come prompt riutilizzabile.
AgentsRoom include una libreria di prompt su due livelli: prompt per progetto per i compiti specifici di quel progetto e prompt globali (sincronizzati sul cloud) per i pattern che usi ovunque.
Buoni candidati per la libreria: liste di controllo per la revisione del codice, modelli per scrivere i test, script di migrazione, istruzioni per generare l'impalcatura dei componenti, passaggi di audit di sicurezza. Tutto quello che metteresti nella wiki del team come procedura standard.
Scrivi i test unitari per [file]. Usa vitest. Copri il percorso felice, i casi limite (input vuoto, null, tipi non validi) e la gestione degli errori. Mocka le dipendenze esterne. Punta a una copertura dei branch superiore al 90%.
Rivedi le modifiche del git diff attuale. Controlla: import inutilizzati, gestione degli errori mancante, problemi di type safety, possibili race condition e incoerenze nella nomenclatura. Proponi una correzione per ogni problema trovato.
Crea un endpoint REST per [risorsa]. Includi la validazione dell'input con zod, risposte di errore adeguate (400, 401, 404, 500), i tipi TypeScript per richiesta e risposta e un commento JSDoc che descrive l'endpoint. Segui il pattern già presente in src/api/.
Tecniche per compiti complessi che vanno oltre il singolo prompt.
Spezza un compito grande in passaggi ordinati. Avvia il primo agente con il passaggio uno, aspetta che finisca, poi avvia l'agente successivo con il passaggio due (facendo riferimento all'output del primo). Ogni passaggio è più piccolo e più mirato. Esempio: l'agente 1 progetta lo schema del database, l'agente 2 scrive l'API su quello schema, l'agente 3 scrive i test contro l'API.
Quando un agente ha finito, punta un altro agente sul suo output. 'Rivedi le modifiche che l'agente frontend ha appena fatto in src/components/. Cerca problemi di accessibilità e stati di errore mancanti.' Un agente nuovo, con un ruolo diverso, coglie cose che al primo erano sfuggite.
Parti da un prompt ampio per vedere come l'agente affronta il problema. Poi aggiungi vincoli nei messaggi successivi: 'Buona struttura, ma usa i Server Components invece dei componenti client.' 'Tieni l'hook, ma togli lo useEffect e usa invece una mutation di React Query.' Ogni iterazione stringe il cerchio attorno alla soluzione che vuoi.
Indica all'agente del codice già esistente: 'Costruisci una pagina delle impostazioni seguendo lo stesso pattern di src/pages/profile.tsx. Stessa struttura di layout, stessa gestione del modulo, stessa visualizzazione degli errori.' Spesso funziona meglio che descrivere il pattern a parole.
Pattern che producono in modo costante risultati peggiori.
Dire all'agente esattamente quali funzioni scrivere, come chiamare le variabili e in che ordine implementare le cose. Questa microgestione gli toglie la possibilità di trovare un approccio migliore. Descrivi il risultato, non la procedura.
Chiedere a un agente di 'migliorare la base di codice' senza alcun vincolo. Senza confini, l'agente potrebbe rifattorizzare file che non volevi toccare, cambiare API da cui dipende altro codice o spendere token in migliorie a bassa priorità.
Non dire che un pattern, un'utility o un componente esiste già nel progetto. L'agente ne creerà un altro. Un semplice 'abbiamo già un hook useAuth in src/hooks/' fa risparmiare parecchio lavoro rifatto.
Stipare cinque compiti in un solo messaggio. L'agente li tenterà tutti, ma la qualità cala mentre fa il giocoliere con obiettivi in conflitto. Meglio dividerli in richieste sequenziali e mirate.
Il codice non è più il collo di bottiglia, lo è la comunicazione. Ecco come parlare ai tuoi agenti AI Claude, Codex, Antigravity e Grok Build per rilasciare più velocemente, con più precisione e meno token.
Mandare un PDF direttamente a Claude o a qualsiasi LLM brucia token in silenzio: ogni pagina viene anche trasformata in immagine. Converti prima il file in Markdown con MarkItDown, lo strumento open source gratuito di Microsoft, e taglia la tua bolletta di token fino all'80%. Guida completa con CLI, Python e server MCP.
AgentsRoom ti dà prompt di sistema, una libreria di prompt e l'editing di CLAUDE.md integrato. Meno tempo a scrivere prompt, più tempo a costruire.
App companion: monitora i tuoi agenti in movimento
Usa Claude, Codex, Antigravity CLI o un altro provider IA.
Invia bug e richieste direttamente nel tuo backlog pubblico.
Uno sguardo ad AgentsRoom in azione.