modulo 21 di 24 / Ore 41-60
Moduli 17-24 / Checkpoint 60 ore
Prompt per individuare violazioni dei livelli
Come formulare prompt efficaci per chiedere a un AI di trovare violazioni dei confini tra livelli nel Registro, con esempi di prompt e criteri per valutare le risposte.
Prompt per individuare violazioni dei livelli
Questa lezione appartiene al Modulo 21 — Usare l’AI come revisore.
Obiettivo della lezione
Formulare prompt precisi per chiedere a un AI di trovare violazioni dei confini architetturali nel Registro — e saper valutare le risposte per distinguere segnalazioni utili da falsi positivi.
Alla fine hai un template di prompt riutilizzabile e sai come interpretare la risposta.
Perché serve nel percorso
Un prompt vago produce una risposta vaga. “Controlla il mio codice” non porta a nulla di utile. Un prompt specifico — con contesto, criteri e un esempio di violazione — produce segnalazioni concrete che puoi verificare sul tuo codice.
Nel Registro del laboratorio
Prompt mal formulato (evita questo):
Controlla se il mio codice è ben strutturato.
L’AI risponde con consigli generali su naming, commenti, TypeScript — niente di specifico ai confini del Registro.
Prompt ben formulato:
Il mio progetto si chiama "Registro del laboratorio scolastico".
Ha 4 livelli: domain, application, infrastructure, presentation.
Regola da verificare: nessun file in src/domain/ deve importare da localStorage,
fetch, document o da altri livelli che non siano domain stesso.
Qui sotto ci sono i file di src/domain/. Dimmi se trovi violazioni di questa regola,
e per ognuna indica: il file, la riga, il tipo di violazione e come correggerla.
[incolla il contenuto dei file]
Variante per un livello specifico:
Il progetto ha questi livelli: domain, application, infrastructure, presentation.
Regola: i file in src/application/ possono importare solo da src/domain/ e da
interfacce definite localmente (non da src/infrastructure/ direttamente).
Analizza i file in src/application/ che ti mostro e segnala ogni import che
viola questa regola.
[incolla il contenuto dei file]
Procedura guidata
- Scegli il livello da verificare (domain, application o presentation).
- Scrivi la regola in una frase: “nessun file in X deve importare da Y”.
- Aggiungi il contesto del progetto (4 livelli, sistema scolastico, localStorage).
- Incolla i file reali del Registro.
- Chiedi all’AI di elencare le violazioni con file, riga e tipo.
- Per ogni violazione segnalata: apri il file reale e verifica.
- Applica solo le correzioni che hai verificato.
Attività in classe
Invia questo prompt a un AI con il contenuto dei tuoi file di src/application/:
Questo è il codice di src/application/ del mio progetto "Registro del laboratorio scolastico".
L'architettura ha 4 livelli:
- domain: regole pure, nessuna dipendenza esterna
- application: casi d'uso, dipende solo da domain e da contratti iniettati
- infrastructure: localStorage, adapter concreti
- presentation: HTML, DOM, event listener
Verifica questa regola: nessun file in application deve importare da:
- localStorage o window
- document o DOM API
- src/infrastructure/ direttamente
- src/presentation/
Per ogni violazione trovata indica:
- file: nome del file
- riga: numero approssimativo
- violazione: cosa è sbagliato
- correzione: come risolvere
Se non trovi violazioni, dimmelo esplicitamente.
Poi compila la scheda:
## Valutazione risposta AI
Violazioni segnalate:
Violazioni verificate sul codice reale (esistono davvero?):
Falsi positivi (segnalazioni non accurate):
Correzioni applicate:
Spiegazione guidata per studiare
Un buon prompt per la revisione AI ha tre parti:
1. Contesto del progetto — senza contesto, l’AI usa convenzioni generali che potrebbero non applicarsi:
Il mio progetto si chiama "Registro del laboratorio scolastico".
È un'applicazione browser-only con localStorage, scritta in JavaScript modulare.
Ha 4 livelli: domain, application, infrastructure, presentation.
2. La regola da verificare — precisa, verificabile, non ambigua:
Regola: nessun file in src/domain/ deve importare da src/infrastructure/,
da localStorage, da window, da document o da qualsiasi API del browser.
3. Il formato della risposta richiesto — strutturato per facilitare la verifica:
Per ogni violazione:
- file: nome del file
- riga: numero della riga
- violazione: descrizione del problema
- correzione suggerita: come risolvere
Come valutare la risposta:
- Verifica ogni segnalazione aprendo il file — non fidarti ciecamente.
- Se l’AI dice “nessuna violazione”, fai un controllo manuale rapido (
grep -r "localStorage" src/domain/). - I falsi positivi sono comuni: l’AI può segnalare come violazione un import che è in realtà corretto nel contesto del progetto.
Passo per passo nel progetto
- Scrivi il prompt con le tre parti: contesto, regola, formato risposta.
- Incolla il contenuto dei file di un livello alla volta.
- Leggi la risposta e costruisci la tabella delle segnalazioni.
- Verifica ogni segnalazione sul codice reale.
- Applica le correzioni verificate in commit separati.
Prova di comprensione
- Perché un prompt vago produce risposte inutili?
- Qual è il rischio di applicare una correzione AI senza verificarla?
- Come si verifica manualmente se un file di dominio importa da localStorage?
- Cosa fa l’AI se non trova violazioni — e come si controlla?
Errori da evitare
- inviare tutto il codice senza specificare quale regola verificare;
- applicare tutte le correzioni senza verificarle sul codice reale;
- usare il prompt come sostituto della comprensione dell’architettura;
- non documentare le violazioni trovate e le correzioni applicate.
Prodotto da consegnare
Il prompt usato, la risposta dell’AI, la tabella di verifica (segnalazione / esiste / corretta / applicata) e le correzioni effettuate con commit separato.
Checklist di chiusura
- il prompt contiene contesto, regola e formato richiesto
- ogni segnalazione dell’AI è stata verificata sul codice reale
- i falsi positivi sono stati identificati e scartati
- le correzioni reali sono state applicate in commit separati
grep -r "localStorage" src/domain/restituisce zero risultati
Risultato atteso
Ho formulato un prompt con contesto (4 livelli), regola (no localStorage in domain)
e formato risposta (file, riga, violazione, correzione).
L'AI ha segnalato 2 violazioni. Ne ho verificate entrambe: una era reale, una era un falso positivo.
Ho corretto la violazione reale spostando l'import nell'adapter.
Ho documentato il processo nella scheda di revisione.