OpenAI raccomanda di strutturare i prompt con il Markdown (intestazioni e liste) per separare le sezioni e con i tag XML per segnare dove un contenuto inizia e finisce. Nella guida ufficiale al prompt engineering non esiste alcun elenco di simboli speciali o di comandi nascosti. Intestazioni, liste e tag, gli strumenti che la documentazione OpenAI cita davvero.

Come provare gli esempi

Per provare gli esempi di questo articolo basta aprire ChatGPT con un account OpenAI. La guida di riferimento (in inglese) è pubblica e non richiede registrazione.

Apri ChatGPT

Il contesto della confusione

Il tema è tornato a circolare il 9 ottobre 2026, quando un carosello di @alphamoney.it su Instagram ha promesso di spiegare «7 simboli» per scrivere prompt più chiari a ChatGPT. La didascalia parla di richieste organizzate meglio e di istruzioni separate dalle informazioni, ma le slide con l’elenco non si leggono senza accedere a Instagram. Per questo qui non commento quei sette simboli. Controllo invece cosa scrive la fonte primaria (OpenAI) e lo distinguo da ciò che gira in rete.

Cosa dice la documentazione OpenAI sui simboli

La pagina ufficiale parte dai ruoli dei messaggi, perché è lì che si decide cosa pesa di più. I messaggi developer portano le istruzioni dello sviluppatore dell’applicazione e hanno priorità sui messaggi user, quelli dell’utente finale. OpenAI usa un’analogia da programmatori: il messaggio developer somiglia alla definizione di una funzione, il messaggio user agli argomenti che le si passano.

Solo dopo arriva la parte che interessa a chi cerca «simboli». Nei messaggi developer e user si può usare, scrive OpenAI, una combinazione di formattazione Markdown e tag XML per indicare i confini logici del prompt e dei dati di contesto. Le intestazioni e le liste Markdown marcano le sezioni e comunicano la gerarchia, con il vantaggio collaterale di rendere il prompt più leggibile mentre lo si scrive. I tag XML delimitano dove un pezzo di contenuto comincia e finisce, per esempio un documento di riferimento incollato dentro la richiesta.

La stessa pagina aggiunge un dettaglio che quasi nessun carosello riporta. Gli attributi XML, tipo id="esempio-1", servono a dare metadati a un contenuto; le istruzioni possono poi richiamarlo per nome. Gli esempi ufficiali usano il cancelletto singolo per le intestazioni (# Identity), mai il triplo.

Nota di metodo

Ho letto la pagina sul prompt engineering e quella sulla generazione di testo il 10 ottobre 2026. Le triple virgolette e il ### non compaiono nel testo attuale della prima, quindi nell’articolo li tratto come indicazioni di terzi o di versioni precedenti.

I simboli che contano, uno per uno

Il cancelletto per le sezioni

Un # a inizio riga apre un’intestazione Markdown; per ChatGPT funziona da cartello che dice «da qui cambia argomento». Gli esempi di OpenAI lo usano per quattro blocchi ricorrenti, che ritroviamo più sotto. Nulla vieta un secondo livello con ## se il prompt è lungo, ma la guida non lo richiede.

Il trattino e l’asterisco per le liste

Gli elenchi puntati, con - o *, servono per le regole che il modello deve rispettare tutte e separatamente. Una lista di tre vincoli si segue meglio di una frase che li nasconde dentro tre subordinate; anche chi rilegge il prompt a distanza di settimane ci mette meno a capire cosa aveva chiesto.

I tag XML per i confini

Aprire <documento> e chiudere </documento> attorno a un testo incollato fa una cosa precisa. Dice al modello dove finisce la tua istruzione e dove comincia il materiale da lavorare. Nelle istruzioni poi lo si cita per nome («riassumi solo il contenuto di <documento>»). I nomi dei tag li scegli tu; negli esempi OpenAI compaiono <userquery>, <assistantresponse> e <product_review>.

Gli attributi per ritrovare gli esempi

Con più esempi nello stesso prompt conviene numerarli, come fa la guida nell’esercizio sulle recensioni di prodotti, dove ogni coppia ha un id (esempio 1, 2, 3). Costa pochi caratteri. Poi puoi scrivere «segui il formato dell’esempio 2» senza ambiguità.

Triple virgolette, backtick e tre cancelletti

Qui entra la parte più confusa. Una versione precedente della guida OpenAI elencava tra i delimitatori le triple virgolette, i tag XML e i titoli di sezione, come documentano le copie di terzi di quella tattica. Il ### invece non è nel testo OpenAI che ho trovato; lo raccomandano guide non ufficiali, come una pagina sulle best practice 2026, insieme ai tag e alle triple virgolette. Funzionano? Quasi certamente sì, perché fanno la stessa cosa di un tag, cioè segnare un confine. Ma «funzionano» è diverso da «OpenAI lo prescrive». Un carosello che li presenta come comandi ufficiali sta dicendo una cosa che la documentazione non dice.

Tabella di riepilogo dei simboli

    • # – Intestazione di sezione – Sì, cancelletto singolo negli esempi
    • - o * – Elenco di regole – Sì, liste Markdown
    • <tag></tag> – Confini di un contenuto – Sì, con attributi per i metadati
    • """ – Racchiudere un testo – Non nella pagina attuale, solo in versioni precedenti
    • ### – Separatore di blocchi – No, indicazione di terzi

Come si compone un prompt: Identity, Instructions, Examples, Context

La parte più utile della guida è l’ordine dei blocchi. OpenAI descrive un messaggio developer con quattro blocchi, di solito in questa sequenza (precisando che l’ordine ottimale può cambiare da modello a modello):

    • Identity spiega scopo e stile di comunicazione dell’assistente.
    • Instructions contiene le regole, cosa fare e cosa evitare.
    • Examples mostra input possibili con l’output desiderato.
    • Context porta i dati aggiuntivi, da mettere verso la fine perché cambiano da una richiesta all’altra.

Il consiglio sul contesto ha anche un motivo pratico. La stessa pagina suggerisce di collocare all’inizio il contenuto che si ripete e di lasciare in coda quello variabile, così da sfruttare la cache dei prompt, con un vantaggio su costi e latenza. Per chi usa solo la chat, il guadagno è un altro, cioè avere un modello riutilizzabile in cui sostituire solo l’ultimo blocco.

Esempio pratico: riassunto di verbali per un ufficio tecnico

Ecco uno schema mio, costruito su quella struttura (non è un esempio OpenAI), per riassumere verbali di un ufficio tecnico.

Identity

Sei un assistente che prepara riassunti di verbali per un ufficio tecnico comunale.

Instructions

  • Riassumi il testo dentro <verbale> in massimo cinque punti.
  • Usa un italiano semplice e non aggiungere informazioni assenti dal testo.
  • Se manca la data della seduta, scrivi "data non indicata".

Examples

<verbale id="esempio-1">

Seduta del 12 marzo. Approvata la variante al piano del traffico, tre voti contrari.

</verbale>

<riassunto id="esempio-1">

  • Data: 12 marzo
  • Approvata la variante al piano del traffico (tre voti contrari)
</riassunto>

Context

<verbale>

[incolla qui il testo]

</verbale>

Leggilo con occhio critico.

Il blocco Context sta in fondo, i confini del verbale sono espliciti, l’esempio ha un identificatore. Semplice ordine. Se il tuo lavoro non richiede un esempio, togli quella sezione senza perdere nulla.

Markdown o XML, quale scegliere?

OpenAI non impone una scelta e anzi suggerisce di combinarli. Un thread sul forum della community OpenAI riporta la stessa impressione, cioè che l’azienda usi Markdown nei propri prompt di sistema e raccomandi un mix. Sono però commenti di utenti, non documentazione.

Una differenza strutturale esiste ed è riconosciuta anche da chi scrive di prompting. Un’intestazione segna dove una sezione parte ma non dove finisce, mentre un tag XML ha una chiusura esplicita. Su un prompt corto la questione non si pone. Con un documento lungo incollato in mezzo, o con più documenti, i tag evitano al modello di indovinare.

Lo stesso corso di Frontend Masters aggiunge che i modelli GPT più recenti gestiscono bene l’XML, mentre quelli più vecchi rendevano meglio col Markdown. Il mio uso, per quello che vale, resta semplice: titoli per l’architettura del prompt, tag per tutto ciò che incollo dall’esterno.

Conclusioni

In sintesi, la “lista dei 7 simboli” che circola sui social non corrisponde a quanto indicato da OpenAI. I veri strumenti consigliati sono:

    • Intestazioni Markdown con # (e opzionalmente ##, ###).
    • Elenchi puntati con - o * per enunciare regole o vincoli.
    • Tag XML (<tag>…</tag>) per delimitare contenuti variabili o esempi, con possibili attributi id per referenze.

Questi simboli, combinati secondo l’ordine consigliato Identity → Instructions → Examples → Context, permettono di costruire prompt chiari, leggibili e facilmente riutilizzabili, ottimizzando costi e accuratezza dei risultati.