Strutturare i Prompt con i Tag XML
- Perché i tag in stile XML danno a Claude confini netti tra le parti del prompt
- Come avvolgere istruzioni, documenti, esempi e regole di formato in tag nominati
- Come chiedere a Claude un output con tag che puoi analizzare in modo affidabile
- Quando usare i tag — e quando non esagerare
Quando un prompt mescola istruzioni, un documento, esempi e una domanda, il modello può confonderli tra loro. I tag in stile XML sono un modo pulito per etichettare ogni parte — e Claude vi risponde particolarmente bene.
L'idea
Avvolgi ogni sezione in un tag nominato così è inequivocabile cosa sia cosa:
Struttura del prompt con tag
<instructions>
Summarize the document for a busy executive. Use only the document; if a fact
isn't there, say so.
</instructions>
<document>
{paste the long document here}
</document>
<format>
3 bullet points, then a one-line "decision needed".
</format>I tag sono semplice testo che inventi tu — <document>, <example>, <context>, <rules> — ma danno al modello confini netti.
Perché aiuta
- Separa i dati dalle istruzioni — il modello è meno propenso a obbedire a testo spurio all'interno di un documento incollato (una blanda difesa contro la prompt injection — vedi /docs/security/prompt-injection).
- Riduce il "ha ignorato parte del mio prompt". Ogni parte è chiaramente delimitata.
- Rende gli output più facili da analizzare — puoi chiedere a Claude di mettere la sua risposta in tag <answer> ed estrarla in modo affidabile.
- Si combina con il few-shot (/docs/prompting/few-shot) — avvolgi ogni esempio in <example>.
I quattro vantaggi nel dettaglio:
- Separa i dati dalle istruzioni — il modello è meno propenso a obbedire a testo spurio all'interno di un documento incollato (una blanda difesa contro la prompt injection).
- Riduce il "ha ignorato parte del mio prompt". Ogni parte è chiaramente delimitata.
- Rende gli output più facili da analizzare — puoi chiedere a Claude di mettere la sua risposta in tag
<answer>ed estrarla in modo affidabile. - Si combina con il few-shot — avvolgi ogni esempio in
<example>.
Chiedere un output con tag
Guided walkthrough1 of 3
- Indica al modello esattamente quali tag usare per il ragionamento rispetto alla risposta finale.
- Il tuo codice può prendere solo il contenuto di <answer>, ignorando il ragionamento.
- Si abbina bene all'output strutturato (/docs/api/structured-output) quando ti servono risultati leggibili dalla macchina.
Richiedere un output con tag
Put your reasoning in <thinking> tags and your final answer in <answer> tags.
Poi il tuo codice può prendere solo il contenuto di <answer>. Si abbina bene all'output strutturato quando ti servono risultati leggibili dalla macchina.
Consigli
- Sii coerente — apri e chiudi ogni tag; riusa gli stessi nomi.
- Dai nomi significativi ai tag (<contract>, non <x>).
- Non esagerare con i tag nei prompt banali — usali quando ci sono davvero più parti distinte.
- Sii coerente — apri e chiudi ogni tag; riusa gli stessi nomi.
- Dai nomi significativi ai tag (
<contract>, non<x>). - Non esagerare con i tag nei prompt banali — usali quando ci sono davvero più parti distinte.