Aller au contenu principal

Structurer avec les balises XML

Mis à jour le 30 juillet 2026

Troisième technique d’ingénierie de prompt : la structure. Quand un prompt contient beaucoup de contenu — des instructions, des données, des exemples, du code — Claude peut avoir du mal à distinguer les différentes parties : où finissent vos consignes, où commencent les données à traiter ? Les balises XML apportent structure et clarté, et c’est la convention de délimitation que les modèles Claude comprennent le mieux, leur entraînement les y ayant abondamment exposés.

Pourquoi la structure est importante

Le risque devient concret dès que le contenu grossit. Imaginez un prompt qui analyse 20 pages de données de ventes : sans délimiteurs clairs, Claude peut confondre vos instructions avec les données à analyser — traiter une ligne du rapport comme une consigne, ou réciproquement ignorer une consigne noyée au milieu des chiffres. Le pire est que l’erreur est silencieuse : la réponse semble plausible, elle est simplement construite sur une lecture erronée de votre prompt.

Utiliser les balises XML

Les balises agissent comme des conteneurs qui séparent les différentes portions du prompt :

<donnees_ventes>
...vos donnees ici...
</donnees_ventes>

Aucun schéma à respecter, aucune balise « officielle » : vous inventez les noms qui décrivent votre contenu — <instructions>, <contexte>, <exemple>. La seule règle qui compte : des noms descriptifs, et une fermeture systématique. Ces quelques caractères suffisent pour que le modèle sache, sans ambiguïté possible, où chaque catégorie de contenu commence et finit.

Exemple pratique : débogage

Voyez la différence sur un cas de la vraie vie — demander de l’aide sur un bug en fournissant à la fois le code fautif et un extrait de documentation. Sans structure, Claude doit deviner quelles parties sont le code à déboguer et quelles parties sont la référence :

<mon_code>
from datavortex import Pipeline, DataSource

def process_data(input_file, output_file):
    pipeline = Pipeline()
    source = DataSource.from_csv(input_file)
</mon_code>

<docs>
# Creation d'une source de données
csv_source = DataSource.from_csv("data.csv")
</docs>

Les deux blocs contiennent du code Python d’aspect similaire — c’est précisément le piège. Avec les balises, l’ambiguïté disparaît : <mon_code> doit être corrigé, <docs> sert de référence. Claude ne « corrigera » plus la documentation, ni ne citera votre code buggé comme modèle à suivre.

Application aux prompts

Appliquons la technique à notre prompt de plan alimentaire :

<informations_athlete>
- Taille : {prompt_inputs["height"]}
- Poids : {prompt_inputs["weight"]}
- Objectif : {prompt_inputs["goal"]}
- Restrictions : {prompt_inputs["restrictions"]}
</informations_athlete>

Le gain n’est pas cosmétique : les balises rendent explicite que ces valeurs sont des données externes sur l’athlète, distinctes de vos instructions. C’est d’autant plus important que ces champs sont remplis par l’utilisateur final — l’interpolation de valeurs non maîtrisées dans un prompt est exactement l’endroit où les confusions naissent. Encadrées de balises, elles restent à leur place de données.

Retenez le domaine d’application de la technique : elle brille particulièrement avec de gros volumes de contexte ou de données, où les frontières se brouillent. Les balises servent alors de délimiteurs clairs pour chaque type de contenu — et le bénéfice déborde du modèle vers vous : un prompt balisé se relit, se modifie et se débogue bien plus facilement qu’un mur de texte, chaque section étant identifiable d’un coup d’œil.

Points clés à retenir

  • Sans délimiteurs, Claude peut confondre instructions et données — et l’erreur est silencieuse
  • Les balises XML sont la convention de séparation que Claude comprend le mieux
  • Noms libres et descriptifs, fermeture systématique : <mon_code>, <docs>, <informations_athlete>
  • Balisez en priorité les contenus interpolés (saisies utilisateur, documents) — c’est là que naissent les confusions
  • Bénéfice double : lecture sans ambiguïté pour le modèle, prompt maintenable pour vous