Aller au contenu principal

Structurer les prompts avec des balises XML

Intermédiaire

Quand un prompt mêle des instructions, un document, des exemples et une question, le modèle peut les confondre. Les balises façon XML sont un moyen propre d'étiqueter chaque partie — et Claude y répond particulièrement bien.

L'idée

Enveloppez chaque section dans une balise nommée pour qu'il soit sans ambiguïté de savoir ce qui est quoi :

<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>

Les balises ne sont que du texte que vous inventez — <document>, <example>, <context>, <rules> — mais elles offrent au modèle des frontières nettes.

Pourquoi cela aide

  • Sépare les données des instructions — le modèle est moins susceptible d'obéir à un texte parasite à l'intérieur d'un document collé (une légère défense contre l'injection de prompt).
  • Réduit le « il a ignoré une partie de mon prompt ». Chaque partie est clairement délimitée.
  • Facilite l'analyse des sorties — vous pouvez demander à Claude de placer sa réponse dans des balises <answer> et l'extraire de manière fiable.
  • Se compose avec le few-shot — enveloppez chaque exemple dans <example>.

Demander une sortie balisée

Put your reasoning in <thinking> tags and your final answer in <answer> tags.

Votre code peut alors récupérer uniquement le contenu de <answer>. S'accorde bien avec la sortie structurée lorsque vous avez besoin de résultats lisibles par machine.

Conseils

  • Soyez cohérent — ouvrez et fermez chaque balise ; réutilisez les mêmes noms.
  • Nommez les balises de façon parlante (<contract>, pas <x>).
  • Ne sur-balisez pas les prompts triviaux — réservez ceci aux cas où il y a réellement plusieurs parties distinctes.

Et ensuite