Immagine di copertina: "Sei un esperto di...": funziona ancora scriverlo a ChatGPT?

"Sei un esperto di...": funziona ancora scriverlo a ChatGPT?

Ogni corso base di prompt engineering parte da lì: "Sei un esperto di marketing", "Comportati come un avvocato", "Act like a senior Python developer", "Il tuo QI è over 9000!". È la prima cosa che insegnano, ci abbiamo provato tutti. E negli ultimi due anni è diventata una sorta di superstizione: senza la persona, il prompt sembra incompleto.

La ricerca peer-reviewed degli ultimi 18 mesi dice in sostanza: sui compiti dove conta l'accuratezza, dichiarare una persona non sposta i risultati. A volte aiuta, a volte peggiora, in media è rumore. Sotto trovi cosa dicono gli studi e cosa scrivere al posto del solito "Sei un esperto di...".

+0%
accuratezza reale sulle risposte
100%
risposte che sembrano più "esperte"
1
variante che funziona davvero

Il prompt che tutti scriviamo

Apri ChatGPT, devi farti riassumere un contratto di affitto commerciale. La prima riga che digiti quasi automaticamente è qualcosa tipo:

Sei un avvocato esperto di diritto commerciale italiano con 20 anni di esperienza. Leggi questo contratto e dimmi a cosa devo stare attento.

Sembra sensato. E sembra che funzioni: la risposta è più strutturata, sembra più "esperta", esce con riferimenti normativi e tono professionale. La domanda però non è "sembra più esperta?", ma "è più corretta?". Su questo punto, la ricerca degli ultimi due anni è diventata progressivamente più severa.

Cosa dice la ricerca (non quello che ti aspetti)

Quattro studi, pubblicati tra fine 2023 e fine 2024, hanno provato a misurare l'effetto del persona prompting sui compiti di accuratezza. Le conclusioni non concordano fra loro. Già questo dice qualcosa.

Role-Play Prompting (2024)

Dichiarava un +10% di accuratezza su task di ragionamento, usando un'immersione in due step ("ti chiamerai X, sei un esperto di Y..." prima del task). I limiti pesano: prompt scritti a mano, architettura a più chiamate, test solo su GPT-3.5. Sui modelli più recenti il +10% non è stato replicato.

"A Helpful Assistant Is Not Really Helpful" (2023 → aggiornato 2024)

Lo studio più sistematico finora: 162 personas combinate con 2.410 domande fattuali su 4 famiglie di modelli. La prima versione (2023) trovava un effetto positivo. La revisione di ottobre 2024, con più dati e controlli statistici più seri, ribalta la conclusione: dichiarare una persona non migliora le performance, e a volte le peggiora.

Persona Is a Double-Edged Sword (2024)

Framework "Jekyll & Hyde": stesso prompt eseguito con e senza persona, stesso giudice, stesso task. Risultato: la stessa persona migliora le risposte su un modello e le peggiora su un altro. L'effetto esiste ma è imprevedibile, e cambia col modello e col dominio. Niente di utile da portarsi a casa, se non "fai dei test prima di credergli".

ExpertPrompting (2023)

L'eccezione che salva il quadro. Una persona generata dall'LLM stesso, dettagliata e cucita addosso al task, batte sia il prompt senza persona sia il classico "sei un esperto di...". Il vantaggio vero è la specificità: la persona è solo il contenitore.

In una riga: "Sei un esperto di X" generico, su un task di accuratezza, è quasi placebo. Sembra funzionare perché la risposta esce più strutturata, ma il contenuto vero non cambia. Se la persona invece è dettagliata, cucita sul task, e generata dall'LLM stesso, lì un effetto reale c'è.

Dove il persona prompting funziona davvero

"Non funziona" non vale per tutto. Ci sono tre famiglie di compiti dove dichiarare una persona ha senso eccome:

Scrittura creativa e contenuti

Qui la persona decide come suona il testo, e non c'è un giusto o uno sbagliato. Un copywriter senior B2B scrive diversamente da un divulgatore YouTube. Dichiararlo cambia l'output, ed è esattamente quello che ti serve.

Guardrail e comportamenti di sistema

"Sei un assistente che non risponde a domande mediche e reindirizza al medico." Qui la persona è una regola di comportamento, non un cosmetico. Tutti i system prompt di chatbot che girano in produzione partono da qui.

Interazioni conversazionali con un "carattere"

Customer care, NPC di videogiochi, agenti vocali con un carattere preciso. Non vuoi la risposta giusta a un problema di matematica, vuoi che l'assistente suoni sempre come se stesso. La persona serve a quello.

Dove invece non sposta niente

All'opposto, ci sono compiti dove aggiungere "Sei un esperto di..." è puro rumore. A volte peggiora pure il risultato:

  • Domande con una risposta verificabile. Matematica, conversioni, ragionamento logico, lookup di fatti. Qui conta solo che il modello arrivi al numero giusto.
  • Task di estrazione strutturata. "Da questo PDF tirami fuori importo, IVA, scadenza in JSON". La persona non aggiunge nulla. Quello che serve è uno schema chiaro di output.
  • Coding di basso livello. Scrivi una funzione che fa X. Il modello sa già scrivere codice; dichiarare "Sei un senior dev" non lo rende più senior. Aggiungono valore l'esempio di stile, i vincoli espliciti, il contesto del codice esistente.
  • Riassunti fedeli di un testo. Vuoi un riassunto accurato. La persona può spostare lo stile, ma anche introdurre interpretazioni che il modello altrimenti non farebbe.

Cosa scrivere al posto del "Sei un esperto di..."

Tre sostituzioni pratiche, in ordine di impatto crescente. Le ho ordinate così perché la prima la puoi applicare oggi, l'ultima richiede un piccolo cambio di workflow.

1. Sostituisci la persona con il vincolo

Quando scrivi "Sei un avvocato" non vuoi un avvocato. Vuoi una risposta che stia attenta a certe cose specifiche. Scrivile direttamente:

Prima
Sei un avvocato esperto di diritto commerciale. Analizza questo contratto.
Dopo
Analizza questo contratto e segnala: clausole di recesso asimmetriche, tacito rinnovo, foro competente, penali sproporzionate, obblighi di riservatezza vincolanti oltre la durata.

La seconda versione non sembra più "esperta", ma produce risultati più utili: hai detto al modello cosa cercare invece di sperare che lo deducesse dall'etichetta. La persona faceva da proxy per quei vincoli. Saltala.

2. Sostituisci la persona con un esempio

Un singolo esempio input/output ben fatto vale dieci righe di "Sei un...". Letteralmente: la ricerca su few-shot prompting trova effetti più forti e più replicabili del persona prompting.

Riassumi questi articoli come faccio io. Esempio di articolo in input: [...incolla un articolo...] Esempio del riassunto che voglio: [...incolla il riassunto che hai scritto tu...] Ora fai lo stesso con questo: [nuovo articolo]

Funziona perché stai mostrando il risultato invece di descriverlo. Il modello capisce in un colpo solo tono, lunghezza, livello di dettaglio.

3. Falla generare al modello (ExpertPrompting)

L'unica forma di persona prompting che la ricerca trova davvero efficace. Due step:

  1. Chiedi al modello di costruirsi la persona: "Descrivimi il profilo ideale di un esperto che risponderebbe nel modo migliore a questa richiesta: [richiesta]. Dimmi formazione, esperienza, mentalità, tipo di domande che farebbe per primo."
  2. Usa quella descrizione come system prompt della richiesta vera. Niente "sei un esperto di..." generico, ma 4-5 righe di profilo specifico e mentalità.

È più lento (due chiamate invece di una), ma ti ritrovi una persona cucita sul task invece di un'etichetta generica. È la differenza tra "Sei un Python developer" e "Sei un senior backend dev focalizzato su pitfall di async/await e gestione di connection pool sotto carico". La specificità è il fattore che fa la differenza nei test.

La regola pratica

Prima di scrivere "Sei un esperto di...", fermati e chiediti:

"Sto cercando una risposta giusta, o un determinato tono e stile?"

Se la risposta è "tono e stile" (copy, email, voce di un chatbot), la persona è lo strumento giusto. Più è specifica, meglio è.

Se la risposta è "una risposta giusta" (fatti, calcoli, estrazione, codice, riassunti fedeli), salta la persona e usa quelle righe per vincoli espliciti, esempi, schemi di output. Spostano l'ago dove la persona fa solo scenografia.

TL;DR

  • "Sei un esperto di X" generico: cosmetico. Sui task di accuratezza non sposta niente.
  • Funziona davvero per: scrittura creativa, guardrail di sistema, voce di un chatbot.
  • Non funziona per: fatti, matematica, estrazione strutturata, coding, riassunti fedeli.
  • Sostituiscilo con: vincoli espliciti, esempi, oppure una persona generata dall'LLM stesso (ExpertPrompting).
  • Specificità > etichetta. "Senior backend dev focalizzato su X" batte "developer".

Detto questo, scrivere prompt bene è il mezzo. Il fine è mettere in piedi qualcosa che lavora per te: un agente vocale che risponde al telefono fuori orario (è Voicenet, l'assistente vocale h24 che sto portando alle PMI italiane), un agente che gestisce email e ordini WhatsApp, un processo che gira da solo. Quello faccio. Se hai un'idea da portare in produzione, scrivimi.

Fonti: Dan Cleary, "Act like a... or maybe not? The truth about persona prompting" (PromptHub, nov. 2024). Studi: Better Zero-Shot Reasoning with Role-Play Prompting, When "A Helpful Assistant" Is Not Really Helpful, Persona Is a Double-Edged Sword, ExpertPrompting.

Parliamone!

Raccontaci il tuo progetto e ti risponderemo al più presto.