TL;DR: quando chiedi all’AI di modificare un tema o un plugin WordPress, fatti restituire una patch circoscritta. La puoi leggere, controllare e annullare prima che tocchi il sito.

Il problema nasce da una richiesta apparentemente comoda: “riscrivimi questo file con la modifica”. Il modello restituisce centinaia di righe, incluse parti che non dovevano cambiare. A quel punto confrontare il risultato diventa lento e un errore può nascondersi tra codice copiato, formattazione alterata o controlli rimossi.

La soluzione: chiedere una modifica verificabile

Passa all’AI solo il contesto necessario e chiedi un unified diff, cioè una patch che mostri righe aggiunte e rimosse. Specifica il file, la funzione interessata, il comportamento atteso e i vincoli: WordPress Coding Standards, sanitizzazione degli input, escaping dell’output e nessuna modifica fuori dallo scope.

Un prompt utile può chiudersi così: “Restituisci solo una unified diff applicabile. Non riscrivere il file completo. Elenca a parte assunzioni, test e procedura di rollback.”

I passaggi essenziali

  1. Riduci lo scope. Indica un solo obiettivo e i file autorizzati. Se servono altre modifiche, il modello deve segnalarle senza includerle nella patch.
  2. Controlla prima di applicare. Salva la patch fuori dalla root del progetto e usa git apply --check modifica.patch. Il comando verifica se la patch è applicabile senza applicarla.
  3. Applica in staging. Lavora su un branch o su una copia di staging, poi rileggi il diff risultante. Per un file PHP esegui almeno php -l percorso/file.php: controlla la sintassi, non il comportamento.
  4. Esegui i controlli del progetto. Se disponibili, lancia PHP_CodeSniffer con WordPress Coding Standards, test automatici e una prova del flusso modificato.

Lo stesso principio vale per gli output strutturati: prima si valida l’artefatto, poi lo si usa. È il passaggio centrale anche nella guida su come validare l’output AI in JSON prima di WordPress.

L’errore da evitare

Non applicare una patch solo perché passa git apply --check o php -l. Il primo verifica che il diff si applichi; il secondo controlla la sintassi PHP. Nessuno dei due dimostra che la modifica sia corretta, sicura o compatibile con il sito. Servono revisione del diff e test funzionali.

Take finale

L’output AI più sicuro non è il codice più sofisticato. È la modifica più piccola che puoi capire, verificare e annullare. Se non riesci a spiegare ogni riga del diff, la patch non è pronta per la produzione.

Fonti