Prompting specifico per Claude
La maggior parte del prompting è universale. Ma alcune tecniche sono particolarmente efficaci con Claude — e diverse abitudini ereditate dai modelli più vecchi oggi sono controproducenti o vengono rifiutate del tutto dall'API. Questa lezione separa il segnale dal rumore: cosa è realmente specifico di Claude, allo stato attuale.
- Riconoscere le tecniche specifiche di Claude su cui conviene puntare — tag XML, chiarezza, ruoli, ragionamento ed esempi
- Disimparare le vecchie abitudini dei modelli datati (TUTTO-MAIUSCOLO, minacce, impalcature sovra-ingegnerizzate) che ora si ritorcono contro
- Sapere che il precompilamento del turno assistant finale è stato ritirato da Claude 4.6 in poi — e cosa l'ha sostituito
- Capire cosa ricontrollare quando cambi modello
Punta su questo con Claude
Queste sono le mosse che rendono di più con Claude. La prima è la singola abitudine di maggior valore che puoi costruire.
- Tag XML. Claude è ben calibrato per i prompt strutturati con tag nominati per input, istruzioni ed esempi. I modelli attuali leggono bene anche intestazioni pulite e spaziatura, quindi i tag non sono più obbligatori — ma restano il modo più affidabile per evitare che le sezioni di un prompt lungo si confondano tra loro.
- Sii chiaro e diretto. Dichiara l'obiettivo, i vincoli e come si presenta il risultato "completo". Claude segue da vicino le istruzioni esplicite.
- Assegnagli un ruolo nel system prompt — una frase è sufficiente per spostare tono e focus.
- Lascialo ragionare sui problemi difficili — chiedi un ragionamento passo dopo passo, oppure usa l'extended thinking/effort sui modelli di reasoning (dove spesso non serve chiedere esplicitamente la CoT).
- Usa esempi (few-shot) per il formato e i casi limite. Claude legge gli esempi con attenzione, quindi un buon esempio batte cinque esempi sciatti.
- Dagli il permesso di non essere sicuro. Una riga esplicita del tipo "dillo invece di tirare a indovinare" è uno dei guadagni di affidabilità più economici a disposizione.
Fissa il formato dell'output senza precompilamento
Il precompilamento — seminare l'inizio della risposta di Claude perché prosegua nel formato che desideri — è stato per anni la leva di formato specifica di Claude. Ora è ritirato: su Claude 4.6 e sui modelli successivi, una richiesta il cui ultimo messaggio è un turno assistant precompilato restituisce un errore 400. La ragione dichiarata da Anthropic è che l'aderenza alle istruzioni è migliorata abbastanza perché la maggior parte dei casi d'uso del precompilamento non ne abbia più bisogno. I modelli precedenti accettano ancora i precompilamenti, e i messaggi assistant altrove nella conversazione — esempi few-shot, turni precedenti — non sono interessati.
Ecco la migrazione, un vecchio uso alla volta:
- Usa gli structured output (/docs/api/structured-output), che vincolano la risposta a uno schema, oppure descrivi semplicemente la forma — i modelli attuali rispettano in modo affidabile anche schemi complessi, se glielo chiedi. Per la classificazione, un tool con un campo enum è l'opzione più solida.
- Metti un'istruzione diretta nel system prompt: rispondi direttamente, nessun preambolo, non aprire con "Here is" o "Based on". In alternativa fai scrivere il modello dentro un tag nominato e leggi solo quello.
- Oggi un prompting chiaro nel turno user è sufficiente; la calibrazione dei rifiuti è migliorata parecchio. Se continua a rifiutare, probabilmente è la richiesta stessa che va riformulata (/docs/api/refusals-and-safety).
- Sposta la continuazione in un turno user che cita la coda del testo interrotto e chiede a Claude di riprendere da lì — oppure ripeti semplicemente la richiesta, se nessuno sta guardando la latenza.
- Test rapido per capire se dipendi ancora dal precompilamento: cerca nel tuo codice un array `messages` il cui ultimo elemento ha role `assistant`. Su Claude 4.6+ ognuno di questi è un 400 che aspetta solo di succedere.
Abbandona queste vecchie abitudini
I modelli Claude più recenti, che seguono le istruzioni alla lettera, cambiano le regole. Trucchi che aiutavano sui modelli più vecchi ora intralciano.
- Modera il TUTTO-MAIUSCOLO e i prompt in stile minaccia ("DEVI… ALTRIMENTI"). I modelli attuali sono più reattivi al system prompt di quelli per cui quello stile era stato inventato, quindi un linguaggio irrigidito oggi provoca chiamate ai tool troppo aggressive anziché obbedienza.
- Non esagerare con l'ingegnerizzazione ricorrendo a impalcature elaborate in stile "jailbreak" — istruzioni chiare e oneste battono i trucchi.
- Non impilare tutte le tecniche insieme. Ruolo più XML più few-shot più chain-of-thought più uno schema, tutti aggiunti alla cieca, è la forma più comune di sovra-ingegnerizzazione del prompt. Aggiungine una, misura, tieni ciò che ha funzionato.
- Spesso meno è meglio — un prompt conciso batte uno prolisso che seppellisce la richiesta.
Claude vs altri modelli
I principi sono trasferibili (vedi Traduzione di prompt tra AI), ma vale la pena ricordare alcune cose come specifiche di Claude.
- Racchiudi input, istruzioni ed esempi in tag nominati. L'affinità di Claude per i tag rende questa l'abitudine di strutturazione più affidabile nei prompt lunghi.
- Il `system` di Anthropic è un parametro top-level della richiesta, non una voce in `messages` — vedi /docs/prompting/system-prompts. È anche la parte della richiesta che va meglio in cache.
- Quando ti sposti da Claude, ricontrolla l'intensità del tono e i segnali di formattazione; ciò che qui è letterale potrebbe non trasferirsi in modo pulito.
- I tag XML restano l'abitudine di strutturazione di maggior valore con Claude, anche se i modelli attuali non li richiedono più nei prompt brevi.
- Il precompilamento del turno assistant finale è ritirato — un 400 su Claude 4.6+. Migra verso structured output, un contratto di output o i tool.
- I modelli Claude attuali seguono le istruzioni alla lettera e pesano molto il system prompt — sii chiaro e diretto, non rumoroso.
- Meno è meglio: un prompt conciso e onesto batte le impalcature elaborate, e batte l'impilare tutte le tecniche insieme.
- I principi si trasferiscono tra i modelli, ma ricontrolla l'intensità del tono e i segnali di formattazione quando cambi.