modulo 02 / lezione 09
Anatomia del prompt operativo
Vincoli: file ammessi, dipendenze, pattern, divieti
Esplicitare i confini del task così che il modello non riempia i vuoti con assunzioni proprie.
Vincoli: file ammessi, dipendenze, pattern, divieti
I vincoli dicono al modello dove può muoversi. Senza vincoli, un LLM tende a completare il task nel modo che gli sembra più plausibile: può aggiungere dipendenze, cambiare file fuori scope, introdurre pattern non usati dal progetto o risolvere un problema piccolo con un refactor enorme.
Perché questa lezione conta
Nel lavoro reale il codice non vive in un foglio bianco. Esistono confini tecnici, economici e organizzativi:
- file che non vanno toccati;
- dipendenze vietate;
- compatibilità con deploy e runtime;
- convenzioni di stile;
- sicurezza minima;
- accessibilità;
- performance;
- debito tecnico da non ampliare.
Un prompt professionale deve esplicitare questi confini.
Tipi di vincoli
File ammessi e vietati
Specificare il perimetro evita modifiche laterali.
Puoi modificare solo:
- src/data/promptEngineering.ts
- src/pages/laboratorio/prompt-engineering.astro
- src/content/lezioni/prompt-engineering/*.md
Non modificare:
- astro.config.mjs
- public/_redirects
- layout globali
Questa sezione è essenziale quando lavori con agenti multi-file.
Dipendenze
Un modello può proporre librerie utili ma non necessarie. Per un sito statico o un progetto con deploy conservativo, una dipendenza nuova ha costo di manutenzione, sicurezza e build.
Non aggiungere dipendenze.
Se pensi che una dipendenza sia necessaria, fermati e motiva prima di modificare package.json.
Pattern e convenzioni
Il modello deve sapere se esistono pattern locali da rispettare:
- data file invece di query runtime;
- Markdown per contenuti;
- componenti Astro già presenti;
- naming degli slug;
- struttura dei moduli;
- stile dei test.
Non basta dire “segui il progetto”: meglio indicare il pattern preciso.
Divieti espliciti
I divieti sono utili quando il modello tende spesso a fare una cosa sbagliata:
Non fare refactor non richiesti.
Non cambiare firme pubbliche.
Non aggiungere console.log.
Non modificare routing o redirect.
Non creare nuove astrazioni se basta modificare il data file.
Esempio operativo
Prompt senza vincoli:
Aggiungi una sezione al corso e sistema le lezioni.
Prompt con vincoli:
Obiettivo:
Aggiungi un modulo finale al corso Prompt Engineering.
Vincoli:
- mantieni output statico Astro;
- non cambiare slug delle lezioni esistenti;
- non modificare routing, redirect o configurazione deploy LiteSpeed;
- non aggiungere dipendenze;
- aggiorna solo data file, pagina corso e Markdown delle nuove lezioni;
- dopo la modifica esegui `npm run build`.
Formato risposta:
- elenco file modificati;
- numero moduli/lezioni finali;
- verifica eseguita;
- rischi residui.
Laboratorio guidato
Prendi un prompt già usato per generare o modificare codice. Aggiungi un blocco vincoli con questa struttura:
| Categoria | Vincolo |
|---|---|
| File ammessi | |
| File vietati | |
| Dipendenze | |
| Pattern da rispettare | |
| Sicurezza/privacy | |
| Performance/deploy | |
| Refactor vietati | |
| Verifica obbligatoria |
Esegui il prompt prima e dopo l’aggiunta dei vincoli. Confronta il diff: meno file toccati? meno soluzioni creative? meno assunzioni?
Output atteso
Un elenco di vincoli ricorrenti che vivono in un file di regole del progetto, non nei singoli prompt.
Esempio:
Vincoli ricorrenti del progetto:
- output statico, compatibile con LiteSpeed;
- nessuna dipendenza senza approvazione;
- contenuti corso in Markdown;
- slug stabili;
- build obbligatoria prima di chiudere.
Checklist di verifica
- il prompt indica cosa si può modificare;
- il prompt indica cosa non si può modificare;
- dipendenze e pattern sono espliciti;
- i vincoli non contraddicono l’obiettivo;
- i vincoli più ricorrenti sono documentati nel progetto.
Errori comuni
Vincoli troppo generici. “Scrivi codice pulito” non limita nulla. “Non cambiare comportamento pubblico” è un vincolo.
Divieti senza criterio. Vietare tutto blocca il lavoro. I vincoli devono proteggere rischio reale.
Vincoli dimenticati nei prompt successivi. Se un vincolo ricorre, spostalo in un file di regole versionato.
Collegamenti
- Modulo: Anatomia del prompt operativo — lezione 9 del corso.
- Lezione precedente: Obiettivo: una cosa, verbo-oggetto-criterio.
- Prossima lezione: Formato e verifiche: come parlare al modello dell’output.