← tutti gli articoli

AI

Perché ho smesso di fidarmi delle risposte dell'AI all'università senza controllarle

Codice funzionante e codice compreso si sono rivelati cose diverse. Adesso ogni risposta dell'AI viene trattata come una code review prima che io la accetti.

Perché ho smesso di fidarmi delle risposte dell'AI all'università senza controllarle

Quando ho iniziato a usare l'AI per i progetti universitari, sembrava una scorciatoia.

Potevo chiedere codice, copiare la risposta, e finire i task più in fretta. Il problema è arrivato quando dovevo spiegare l'applicazione al mio professore.

A volte il codice funzionava, ma non riuscivo a spiegare chiaramente perché esisteva una classe, come si muoveva il request attraverso il sistema, o cosa stesse facendo ogni layer.

Per esempio, potevo avere questa struttura:

Controller
→ Service
→ Repository
→ Database

Ma quando qualcuno mi chiedeva di spiegare il flusso, arrancavo.

Questo mi ha fatto capire che codice funzionante non è la stessa cosa di codice compreso.

Ho smesso di copiare tutto

Le risposte dell'AI possono sembrare corrette e professionali, ma possono comunque includere pattern non necessari, librerie obsolete, o presupposti scorretti.

Invece di copiare l'intera risposta, ho iniziato a concentrarmi sui concetti. Adesso faccio domande come:

  • Perché serve questa classe?
  • Che problema risolve questo pattern?
  • Dove inizia e finisce il request?
  • Questo codice potrebbe essere più semplice?
  • Riesco a spiegarlo senza leggerlo?

Ho anche iniziato a trattare il codice generato dall'AI come una code review. Leggo le modifiche, controllo le dependency, eseguo il codice, e provo a capire ogni passaggio importante prima di accettarlo.

Capire il flusso

Per un'API .NET di base, dovrei riuscire a spiegare:

Il client invia un request.
Il Controller lo riceve.
Il Service applica la business logic.
Il database viene aggiornato.
L'API restituisce una risposta.

Se non riesco a spiegare quel flusso, probabilmente non capisco ancora l'applicazione.

Uso ancora l'AI, ma adesso la uso per spiegare concetti, revisionare codice, e suggerire miglioramenti.

La lezione principale era semplice:

AI should support my thinking, not replace it.