Oggi voglio raccontare un episodio reale, accaduto durante lo sviluppo di una proof of concept. È una storia di codice, ambienti locali e intelligenza artificiale, ma anche di buon senso tecnico e consapevolezza. Perché sì, un LLM può darti ottimi suggerimenti — finché non ti accorgi che ti sta portando nella direzione sbagliata.
Il contesto: una POC in DDEV
Stavo lavorando a una nuova POC (proof of concept) con un’architettura abbastanza classica: Drupal come CMS, MariaDB come database, React per il frontend e in prospettiva una parte in Python per moduli di machine learning e web scraping.
Per lo sviluppo locale utilizzo DDEV, un ambiente CLI che semplifica la gestione di container Docker per Drupal, il database e i servizi collegati. È un setup che conosco bene e che funziona in modo affidabile.
Il consiglio dell’IA
Durante una sessione di brainstorming con un modello linguistico (LLM), ho ricevuto un suggerimento: “Perché non migrare da MariaDB a PostgreSQL? Ti semplificherà la vita più avanti, soprattutto per scenari di data analysis e integrazione con Python.”
Un’idea apparentemente sensata, con tanto di istruzioni passo passo. Così ho deciso di provare.
Ore di tentativi, errori e ricostruzioni
Ho modificato la configurazione di DDEV per usare PostgreSQL: rebuild dei container, aggiornamento delle variabili d’ambiente, connessioni e import dei dati. Da lì in poi, una sequenza infinita di errori. Mancavano tool di migrazione, dipendenze non documentate, piccoli dettagli come la necessità di un ddev delete --omit-snapshot prima di ricreare il progetto.
Per ore ho seguito le istruzioni dell’IA, copiato errori dal terminale, corretto, riprovato. Ogni volta il modello cambiava leggermente versione: “Scusa, mancava questo comando”, “Dimenticavo di aggiornare quel file”. Un loop senza fine.
La domanda giusta
A un certo punto ho fermato tutto e ho cambiato domanda: “Per questa POC, ha davvero senso cambiare database?”
La risposta è stata chiara: “No. Non è necessario, anzi è sbagliato. Mantieni MariaDB per Drupal e usa PostgreSQL solo per i servizi Python.”
In altre parole: mantieni separati i domini. Drupal deve restare padrone del proprio schema dati; Python può avere il suo stack e comunicare con il CMS via API (nel caso di Drupal, JSON:API è integrato nel core).
Ho riportato questa conclusione allo stesso LLM da cui era partita l’idea della migrazione. La risposta? “Ha perfettamente ragione.”
Quando l’IA cambia idea
Un LLM non ragiona, non ha memoria, non valuta contesto. Calcola. Ogni risposta è probabilistica, basata su testo e pattern, non su logiche architetturali. Senza i vincoli del progetto, tende a proporre la soluzione più diffusa, non quella più adatta.
Nel mio caso, l’errore non era nel codice, ma nel ragionamento. Avevo seguito un consiglio privo di contesto — e pagato con ore di debug inutili.
Il valore del ragionamento umano
Gli LLM non sono infallibili, e questo non è un problema. Il rischio vero è che noi sviluppatori smettiamo di verificare criticamente ciò che ci viene proposto.
Un algoritmo può scrivere una funzione perfetta, ma non può decidere se quella funzione serve davvero. Non conosce i tuoi obiettivi, non sa se stai costruendo una POC o un prodotto enterprise, non comprende i vincoli di dominio o le best practice di architettura.
Per questo, ogni suggerimento va filtrato con la mente di un informatico umano: valutando il contesto, la complessità e il perché di una scelta.
Lezioni apprese
- Contesto prima di tutto: una POC non richiede la perfezione architetturale, ma stabilità e semplicità.
- Separare i domini: Drupal (MariaDB) e Python (PostgreSQL) devono dialogare tramite API, non condividere lo stesso DB.
- Usare l’IA come supporto, non come architetto: ottima per esplorare idee, pessima se presa “out of the box”.
- Verificare sempre con fonti ufficiali: documentazione di Drupal, DDEV e moduli di migrazione.
Conclusione
Questa esperienza mi ha ricordato che l’intelligenza artificiale è uno strumento potente, ma resta un assistente. È la nostra esperienza umana a dare senso alle decisioni tecniche, a interpretare i vincoli, a scegliere tra le alternative.
Usare l’IA per scrivere codice è utile. Usarla per decidere la tua architettura, senza ragionarci sopra, no. La tecnologia evolve, ma la responsabilità delle scelte resta umana.
- Accedi per poter commentare
