Errori e bug · 6 min di lettura ·
L'AI continua a rompere il codice? Come uscire dal loop di errori
Lovable o Bolt continuano a fare errori e ogni correzione rompe altro? Ecco perché l'AI entra in loop e come uscirne senza sprecare altri crediti.

Se ogni volta che chiedi all'AI di correggere un errore ne compare un altro, non sei l'unico e non hai sbagliato tutto. Quando Lovable, Bolt, Replit o Cursor continuano a fare errori, di solito il problema non è «l'AI che non capisce», ma il modo in cui il progetto è cresciuto e il modo in cui le chiediamo di intervenire. La buona notizia è che dal loop si esce: bisogna fermarsi, tornare a una versione che funzionava e cambiare il modo di chiedere le correzioni.
Cos'è il loop di correzioni
Il copione è sempre simile. Qualcosa non funziona, scrivi «sistemalo», l'AI modifica tre file e ti dice che ha risolto. Ricarichi la pagina e ora non funziona un'altra cosa. Chiedi di nuovo, e il ciclo ricomincia.
Nel frattempo succedono due cose spiacevoli. I crediti o i messaggi del tuo piano si consumano a ogni tentativo. E il codice, a forza di toppe sopra toppe, diventa più complicato e fragile, quindi ogni correzione successiva è più difficile della precedente.
Perché l'AI continua a rompere il codice
Capire le cause aiuta a scegliere la strada giusta. Queste sono le più frequenti nelle app create con l'intelligenza artificiale.
Non vede tutto il progetto
Un assistente AI lavora con una «finestra» limitata: legge una parte dei file e decide in base a quella. Quando il progetto è piccolo va benissimo. Quando cresce, è come un idraulico che deve riparare un tubo vedendo una sola stanza della casa: sistema il rubinetto davanti a lui e non si accorge che il problema parte dalla cantina.
Corregge il sintomo, non la causa
Se scrivi «il pulsante non funziona», l'AI tende a cambiare il pulsante. Ma spesso il pulsante è a posto: è la richiesta al database che fallisce, oppure manca un permesso. Il risultato è una modifica inutile che a volte introduce un nuovo errore.
Il problema non è nel codice
Molti errori nascono fuori dal codice: una tabella del database configurata male, una regola di accesso mancante, una chiave che esiste in anteprima ma non online. L'AI però interviene quasi solo sul codice, e allora riscrive file che non c'entrano. Due casi tipici sono le regole di sicurezza del database, di cui parliamo nella guida su Supabase e la RLS, e le variabili d'ambiente che mancano in produzione.
Richieste vaghe o con più problemi insieme
«Sistema il login, cambia i colori e aggiungi la pagina prezzi» sono tre lavori diversi. Più cose chiedi in un solo messaggio, più file vengono toccati, e più è facile che qualcosa si rompa senza che tu te ne accorga subito.
Le toppe si accumulano
Ogni correzione aggiunge un po' di codice. Dopo decine di tentativi ti ritrovi con funzioni duplicate, file molto lunghi e logiche che si contraddicono. A quel punto anche l'AI fa fatica a capire quale versione della logica sia quella giusta.
Come capire se sei in un loop
Alcuni segnali sono abbastanza chiari:
- hai chiesto la stessa correzione tre o più volte, con parole diverse;
- l'AI dice «risolto» ma il comportamento non cambia;
- ogni modifica rompe una funzione che prima andava, anche in pagine lontane;
- il messaggio d'errore cambia di continuo, ma il problema di fondo resta;
- hai speso più crediti per correggere che per costruire.
Questa tabella ti aiuta a collegare quello che vedi alla causa più probabile.
| Cosa vedi | Causa probabile | Cosa fare |
|---|---|---|
| Errore che ritorna dopo ogni «fix» | L'AI corregge il sintomo | Leggi l'errore esatto nella console e passalo all'AI |
| Funziona in anteprima, non online | Configurazione dell'ambiente | Controlla variabili d'ambiente e impostazioni del deploy |
permission denied o liste vuote | Permessi del database | Controlla le regole di accesso, non l'interfaccia |
| Funzioni che si rompono «a caso» | Modifiche troppo ampie | Torna a una versione stabile e procedi un passo alla volta |
| Codice sempre più lungo e confuso | Toppe accumulate | Fermati e valuta una sistemazione strutturale |
Cosa puoi fare tu per uscirne
Questi passi sono sicuri anche se non sai programmare. Seguili in ordine.
- Fermati. Smetti di mandare «non funziona, sistemalo». Ogni tentativo alla cieca consuma crediti e aggiunge confusione.
- Torna a una versione che funzionava. La maggior parte di questi tool ha una cronologia delle versioni. Individua l'ultimo punto in cui l'app andava e ripristinalo. Attenzione: tornare indietro con il codice non sempre riporta indietro anche il database, quindi tabelle e dati modificati nel frattempo potrebbero restare come sono.
- Leggi l'errore vero. Apri l'app nel browser, premi F12 (oppure tasto destro e «Ispeziona») e vai nella scheda «Console». La console è il registro dove il browser scrive cosa è andato storto. Copia il messaggio in rosso parola per parola, per esempio
TypeError: Cannot read properties of undefined (reading 'map')oppure401 Unauthorized. - Un messaggio, un problema. Descrivi una sola cosa: cosa fai, cosa ti aspetti, cosa succede invece. Poi incolla l'errore esatto.
- Fai prima spiegare, poi modificare. Chiedi all'AI di analizzare la causa senza toccare il codice. Diversi tool hanno una modalità di sola discussione o pianificazione che non modifica i file (in Lovable, per esempio, la modalità Plan). Approva la modifica solo quando la spiegazione ti convince.
- Limita il campo d'azione. Chiedi esplicitamente di non toccare altre pagine o funzioni. Non è una garanzia, ma riduce molto i danni collaterali.
- Controlla fuori dal codice. Se l'errore parla di permessi, tabelle o chiavi, guarda il pannello del database e le impostazioni del deploy, cioè della pubblicazione online. Nella nostra guida agli errori Supabase più comuni trovi il significato dei messaggi più frequenti.
- Metti al sicuro i punti fermi. Quando l'app funziona, salva una copia del codice. Collegare il progetto a GitHub, come spieghiamo nella guida su come esportare un'app Lovable o Bolt su GitHub, ti dà uno storico affidabile e indipendente dalla piattaforma.
Un esempio di richiesta che funziona meglio
Invece di «il login non va, sistemalo», prova una richiesta di questo tipo:
Quando clicco "Accedi" con email e password corrette, resto sulla
pagina di login. Nella console compare: "401 Unauthorized".
Prima di modificare qualsiasi file, spiegami quali sono le cause
possibili e quali file sono coinvolti. Non toccare altre pagine.
Una richiesta così dà all'AI il contesto che le manca. E ti permette di capire se ha davvero individuato il problema prima di spendere altri crediti.
Ricominciare da zero conviene?
A volte sì, ma raramente come prima mossa. Ricominciare ha senso se il progetto è piccolo e hai le idee molto più chiare di quando l'hai iniziato. Se invece l'app ha già utenti, dati o molte funzioni, ripartire da capo significa spesso rifare gli stessi errori. In questi casi è meglio stabilizzare quello che c'è.
Come evitare di ricaderci
Una volta uscito dal loop, qualche abitudine ti aiuta a non tornarci:
- procedi a piccoli passi: una funzione alla volta, e prova l'app dopo ogni modifica;
- segna le versioni buone: quando qualcosa funziona, annota il punto nella cronologia o salvalo su GitHub;
- scrivi le regole del progetto: molti tool permettono di salvare istruzioni permanenti, per esempio «non modificare la pagina di login» o «usa sempre questa tabella per i profili»;
- prova anche online, non solo in anteprima, prima di considerare finita una funzione.
Sono gesti semplici, ma riducono molto le sorprese e i crediti spesi a vuoto.
Quando conviene farti aiutare
Ci sono situazioni in cui insistere con l'AI non porta lontano: errori che coinvolgono database, login o pagamenti, un'app con utenti reali che non puoi permetterti di rompere, oppure un codice ormai così stratificato che nessuna correzione regge. Un occhio esterno, abituato a leggere il codice generato dall'AI, di solito individua la causa in tempi brevi, perché parte dai log e non dai tentativi.
Noi facciamo proprio questo: troviamo la causa reale, la sistemiamo e ti spieghiamo cosa è successo, così sai come evitarlo la prossima volta. Se sei bloccato in un loop e non vuoi bruciare altri crediti, prenota una call gratuita: in 20 minuti guardiamo insieme il problema e capiamo da dove partire.


