La qualita del codice generato dall'AI dipende quasi interamente da cosa chiedi e come lo chiedi. Questa guida copre i pattern che producono costantemente risultati migliori con Claude Code.
Dalla delimitazione dei task ai system prompt, dal raffinamento iterativo alle istruzioni specifiche per ruolo. Tecniche pratiche che puoi applicare nella tua prossima sessione di coding.
Quando chiedi a uno sviluppatore umano di 'costruire una pagina di login', fa domande di chiarimento: quale provider di autenticazione? Quali campi? Deve gestire OAuth? Messaggi di errore? Stati di caricamento?
Gli agenti AI di coding cercheranno di rispondere a tutte quelle domande da soli. A volte indovinano giusto. Spesso indovinano qualcosa di ragionevole ma non cio che volevi. Il divario tra 'ragionevole' e 'esattamente giusto' e cio che il prompt engineering colma.
I buoni prompt non devono essere lunghi. Devono essere specifici sulle cose che contano e silenziosi su quelle che non contano. Quell'equilibrio e il tema di questa guida.
Pattern che migliorano i risultati indipendentemente dal task.
Invece di 'crea un componente React, poi aggiungi lo state, poi aggiungi lo stile', descrivi il risultato finale: 'Costruisci una sidebar collassabile che mostra i nomi dei progetti, supporta il drag-to-reorder e usa il nostro tema Tailwind esistente.' Lascia che l'agente decida come arrivarci.
Avoid
Crea un componente. Aggiungi useState. Aggiungi un pulsante toggle. Stilizzalo con Tailwind.
Better
Costruisci un componente sidebar collassabile che elenca i progetti per nome. Deve supportare il drag-to-reorder e corrispondere al nostro tema scuro (bg-[#1a1a2e], border-[#2a2a40]). Lo stato collassato deve persistere tra i ricaricamenti della pagina.
Gli agenti funzionano meglio quando conoscono i confini. Specifica quali file toccare (o evitare), quali pattern seguire e come appare il 'fatto'. Task senza confini portano a modifiche estese difficili da revisionare.
Avoid
Refactora il sistema di autenticazione.
Better
Refactora il login handler in src/api/auth/login.ts per usare bcrypt invece di sha256 per l'hashing della password. Non cambiare la logica JWT o la gestione dei cookie di sessione. Aggiorna i test correlati in tests/auth/.
Claude Code puo leggere i file del tuo progetto, ma non puo leggere la tua mente. Se c'e una convenzione che segui, una libreria che preferisci o un pattern che hai gia stabilito, dillo. Questo risparmia rilavorazioni.
Avoid
Aggiungi validazione del form.
Better
Aggiungi validazione del form al form di registrazione usando zod (lo usiamo gia per il form impostazioni in src/forms/settings.ts). Mostra messaggi di errore inline sotto ogni campo. Segui lo stesso stile di errore del form di login.
I prompt composti ('costruisci l'API, scrivi i test, aggiorna i docs e fai deploy') costringono l'agente a mantenere troppi obiettivi contemporaneamente. Dividi il lavoro complesso in task sequenziali e focalizzati. Ognuno costruisce sul risultato precedente.
Avoid
Costruisci la pagina profilo utente, scrivi gli endpoint API, aggiungi i test, aggiorna il README e sistema anche la navbar.
Better
Costruisci l'endpoint GET /api/user/profile. Restituisci i campi id, name, email e plan. Usa il middleware di autenticazione esistente per l'autenticazione.
Se il primo risultato non e giusto, raffina il prompt piuttosto che ricominciare da zero. Claude mantiene l'intero contesto della conversazione. Di' cosa non va, cosa cambiare e cosa tenere. L'iterazione e piu veloce della reinvenzione.
Avoid
E sbagliato. Ricomincia da zero e costruisci il componente diversamente.
Better
Il layout e buono ma il breakpoint mobile e sbagliato. Sotto 768px, impila le card verticalmente invece di usare una griglia. Tieni tutto il resto cosi com'e.
I system prompt impostano il comportamento di base per un agente prima che tu dica qualsiasi cosa. Sono lo strumento piu sottoutilizzato nel coding AI.
Un system prompt dice all'agente chi e, su cosa dovrebbe concentrarsi e cosa dovrebbe evitare. Si applica a ogni messaggio nella sessione. Pensalo come la job description dell'agente.
AgentsRoom include 14 system prompt specifici per ruolo: uno per ogni tipo di agente. Il prompt dell'agente Frontend gli dice di concentrarsi su componenti, accessibilita e design responsive. Il prompt dell'agente QA gli dice di pensare ai casi limite e scrivere test completi. Puoi personalizzarli o scriverne di tuoi.
Sei uno sviluppatore frontend senior. Concentrati su componenti React, stile CSS/Tailwind, accessibilita (WCAG AA) e design responsive. Usa la libreria di componenti esistente del progetto prima di creare nuovi componenti. Preferisci la composizione all'ereditarieta. Scrivi HTML semantico. Non modificare mai file backend.
Il prompt piu efficace non viene digitato in una chat. Vive nel tuo repository.
CLAUDE.md e un file markdown alla radice del tuo progetto che Claude Code legge automaticamente. Contiene struttura del progetto, convenzioni, dettagli dello stack e linee guida che si applicano a ogni sessione agente nel 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 questo contesto. AgentsRoom include un editor integrato per CLAUDE.md cosi puoi aggiornarlo senza lasciare l'app.
Un CLAUDE.md ben scritto vale piu di decine di prompt individuali accuratamente costruiti. Si accumula: ogni sessione ne beneficia.
Smetti di riscrivere le stesse istruzioni. Salva cio che funziona e riutilizzalo.
Se ti ritrovi a digitare lo stesso tipo di richiesta tra i progetti ('scrivi unit test per questo file', 'refactora questo usando il pattern repository', 'aggiungi gestione errori a tutte le route API'), salvalo come prompt riutilizzabile.
AgentsRoom include una funzionalita di libreria prompt con due livelli: prompt per progetto per task specifici del progetto, e prompt globali (sincronizzati via cloud) per pattern che usi ovunque.
Buoni candidati per la libreria prompt: checklist di code review, template per la scrittura di test, script di migrazione, istruzioni di scaffolding dei componenti, passaggi di audit di sicurezza. Qualsiasi cosa che metteresti in un wiki di team come procedura standard.
Scrivi unit test per [file]. Usa vitest. Copri l'happy path, i casi limite (input vuoto, null, tipi non validi) e la gestione errori. Mocka le dipendenze esterne. Punta a >90% di copertura dei branch.
Revisiona le modifiche nel diff git corrente. Controlla: import inutilizzate, gestione errori mancante, problemi di type safety, potenziali race condition e inconsistenze di naming. Suggerisci correzioni per ogni problema trovato.
Crea un endpoint REST per [risorsa]. Includi validazione dell'input con zod, risposte di errore appropriate (400, 401, 404, 500), tipi TypeScript per request/response e un commento JSDoc che descrive l'endpoint. Segui il pattern esistente in src/api/.
Tecniche per task complessi che vanno oltre i singoli prompt.
Dividi un task grande in passaggi ordinati. Avvia il primo agente con il passaggio uno, attendi il completamento, poi avvia il successivo con il passaggio due (facendo riferimento all'output del passaggio uno). Ogni passaggio e piu piccolo e focalizzato. Esempio: l'Agente 1 progetta lo schema del database, l'Agente 2 scrive l'API usando quello schema, l'Agente 3 scrive test contro l'API.
Dopo che un agente finisce, punta un agente diverso sul suo output. 'Revisiona le modifiche che l'agente frontend ha appena fatto in src/components/. Controlla problemi di accessibilita e stati di errore mancanti.' Un agente fresco con un ruolo diverso individua cose che l'agente originale ha perso.
Inizia con un prompt ampio per vedere come l'agente approccia il problema. Poi aggiungi vincoli nei messaggi successivi: 'Buona struttura, ma usa server component invece di client component.' 'Tieni l'hook, ma rimuovi l'useEffect e usa una React Query mutation invece.' Ogni iterazione restringe verso la soluzione che vuoi.
Punta l'agente a codice esistente: 'Costruisci una pagina impostazioni seguendo lo stesso pattern di src/pages/profile.tsx. Stessa struttura di layout, stessa gestione del form, stessa visualizzazione degli errori.' Questo e spesso piu efficace che descrivere il pattern a parole.
Pattern che producono costantemente risultati peggiori.
Dire all'agente esattamente quali funzioni scrivere, quali variabili nominare e in quale ordine implementare. Questo micromanagement rimuove la capacita dell'agente di trovare un approccio migliore. Descrivi il risultato, non la procedura.
Chiedere a un agente di 'migliorare il codebase' senza vincoli. Senza confini, l'agente potrebbe refactorare file che non volevi toccare, cambiare API da cui dipende altro codice o spendere token su miglioramenti a bassa priorita.
Non menzionare che un pattern, utility o componente esiste gia nel progetto. L'agente ne creera uno nuovo. Un semplice 'abbiamo gia un hook useAuth in src/hooks/' risparmia rilavorazioni significative.
Ammassare cinque task in un messaggio. L'agente tenterà di farli tutti, ma la qualita cala mentre si destreggia tra obiettivi in competizione. Dividili in richieste sequenziali e focalizzate.
AgentsRoom ti offre system prompt, una libreria prompt e editing di CLAUDE.md integrati. Meno tempo a costruire prompt, piu tempo a costruire.
App companion: monitora i tuoi agenti in movimento
Compatibile con qualsiasi piano Claude (Free, Pro, Max, Team, Enterprise)