← Tutte le lezioni
Lezione 12 Prompt Engineering 6:51

Il system prompt

Le istruzioni di regia che il modello riceve prima di salire sul palco. È la differenza fra un assistente generico e uno strumento che fa quello che serve a te.

Il video parte solo se lo chiedi: nessuna richiesta a YouTube prima del click.

In una conversazione con un modello ci sono tre voci: il sistema, l’utente e l’assistente. La prima la scrive chi costruisce lo strumento, arriva prima di tutto, e di solito l’utente finale non la vede mai.

MessaggioChi lo scriveQuandoVisibile?
SystemChi sviluppaprima di tuttodi norma no
UserL’utentea ogni turno
AssistantIl modelloin risposta

Non è un messaggio dell’utente con più autorità: è più simile alle indicazioni di regia che un attore riceve prima di entrare in scena. Definisce chi è, come si comporta, cosa non fa.

La differenza si vede subito

Senza system prompt, alla domanda “come ordino una lista in Python?” arriva una risposta generica con cinque metodi diversi e una spiegazione lunga.

Con questo davanti:

Sei un tutor di Python per principianti. Rispondi con UN solo metodo, il più semplice.
Massimo cinque righe. Sempre con un esempio eseguibile.

la risposta diventa:

numeri = [3, 1, 4, 1, 5]
numeri.sort()
print(numeri)  # [1, 1, 3, 4, 5]

Stesso modello, stessa domanda. Cambia solo il copione.

Cosa metterci dentro

Un system prompt utile risponde a quattro domande. Chi sei — il ruolo, che orienta vocabolario e livello di dettaglio. Come rispondi — lunghezza, tono, formato. Cosa non fai — i limiti espliciti, più efficaci se detti in positivo (“se la domanda esce dal tema, dillo e fermati”). Con quale contesto — le informazioni fisse che servono ogni volta, che sarebbe uno spreco ripetere a ogni messaggio.

Le trappole

Il sovraccarico. Venti regole non producono un modello venti volte più preciso: ne producono uno che ne ignora metà. Meglio poche regole, ordinate per importanza, con le più critiche in cima.

Le regole in conflitto. “Sii sintetico” e “spiega sempre nel dettaglio il ragionamento” non possono valere insieme, e il modello finirà per accontentare l’una o l’altra a caso.

Il ruolo decorativo. “Sei un esperto di livello mondiale” non aggiunge quasi nulla se non è seguito da indicazioni concrete su cosa cambia nel comportamento.

Confondere sistema e conoscenza. Il system prompt definisce il comportamento; per far sapere al modello dei contenuti — documenti, dati, archivi — servono il contesto o il RAG, non una regola.

Una nota sulla sicurezza

Il system prompt non è un segreto blindato: con la giusta insistenza gli utenti riescono spesso a farselo raccontare, e istruzioni astute nascoste nel testo dell’utente possono provare a scavalcarlo. Non metterci mai chiavi, password o informazioni riservate, e non affidargli l’unico controllo di sicurezza di un sistema.

Non è un confine di sicurezza

Punto da mettere nero su bianco, perché è la fonte di un’intera categoria di guai: le istruzioni di sistema sono un suggerimento molto forte, non un muro.

Non sono segrete. Con abbastanza insistenza — richieste di ripetizione, giochi di ruolo, traduzioni — un utente riesce spesso a farsele raccontare. Vanno quindi trattate come pubbliche: niente chiavi, niente password, niente dettagli di sistemi interni.

Non sono inviolabili. Istruzioni contenute nel testo dell’utente, o dentro un documento che il sistema recupera da solo, possono provare a scavalcarle. Il modello non ha un modo affidabile di distinguere “istruzione legittima” da “istruzione arrivata dentro i dati”.

DifesaPerché funziona
Delimitare i dati esterniIl modello distingue meglio istruzioni e contenuto
Ripetere il vincolo in codaLa parte finale del prompt pesa di più
Controlli fuori dal modelloL’unica difesa vera: validare l’output con del codice
Permessi minimi agli strumentiSe non può fare una cosa, nessun prompt gliela fa fare

L’ultima riga è la più importante. Se un sistema può cancellare file, inviare messaggi o spendere soldi, il controllo non può stare in una frase del system prompt: deve stare nel codice che esegue l’azione. Il prompt orienta il comportamento, il codice stabilisce cosa è possibile.

In una riga: il system prompt è regia, non sicurezza. Serve a far recitare bene la parte, non a impedire che qualcuno salga sul palco.

Un esempio completo, commentato

La teoria si capisce meglio su un caso vero. Ecco un system prompt che funziona, e perché.

Sei l'assistente di supporto di un software di fatturazione.
Rispondi solo su questo software.

Formato:
- Massimo 5 righe
- Se la procedura ha piu' passaggi, elencali numerati
- Se serve un dato che l'utente non ha fornito, chiedilo invece di indovinare

Limiti:
- Se la domanda esce dal tema, dillo in una riga e fermati
- Se non trovi la risposta nella documentazione fornita, dillo: non inventare procedure

Ricorda: massimo 5 righe.

Cosa lo rende diverso da un elenco di buone intenzioni.

Il ruolo è operativo, non decorativo: dice il dominio, non “sei un esperto di livello mondiale”. Il formato è misurabile: “massimo 5 righe” si può verificare, “sii conciso” no. I limiti dicono cosa fare, non solo cosa non fare: “dillo e fermati” è un’istruzione eseguibile, “non divagare” è un auspicio. La regola più importante è ripetuta in fondo, perché la coda del prompt pesa di più — trucco che vale doppio con i modelli piccoli.

E soprattutto: sono sei regole, non venti. Ogni regola in più diluisce le altre.

Come si prova che funziona

Un system prompt non si valuta leggendolo, si valuta rompendolo. Quattro prove, cinque minuti.

ProvaCosa verifichi
Domanda normaleRispetta formato e lunghezza?
Domanda fuori temaSi ferma come richiesto, o risponde comunque?
Domanda con dato mancanteChiede, o inventa?
Domanda che lo contraddiceTiene, o si fa convincere?

L’ultima è quella che sorprende: chiedere esplicitamente di ignorare le istruzioni. Il modello di solito resiste, ma “di solito” non è una garanzia su cui costruire — e questo riporta al punto della sezione precedente, cioè che i limiti veri stanno nel codice.

In sintesi

ConcettoIn una riga
System promptLe indicazioni di regia, prima di ogni conversazione
Cosa contieneRuolo, stile di risposta, limiti, contesto fisso
SovraccaricoTroppe regole ne fanno ignorare metà
ConflittiRegole contraddittorie producono comportamenti casuali
SicurezzaNon è un segreto: niente chiavi né dati riservati
SicurezzaIl system prompt orienta, non protegge: i limiti stanno nel codice
Un buon esempioRuolo operativo, formato misurabile, limiti eseguibili, regola chiave ripetuta
Come si provaQuattro prove: normale, fuori tema, dato mancante, contraddizione

Lezioni collegate

  • Le basi del prompting

    L'anatomia di un prompt che funziona: istruzione, contesto, dati e formato. Quattro pezzi che spiegano la differenza fra una risposta vaga e una utile.

  • Prompt per modelli piccoli

    Un 8B non è un modello grande in miniatura: ha limiti diversi e vuole prompt diversi. Quello che funziona sui modelli di frontiera spesso qui fallisce.

Guarda su YouTube