Etiquetas XML: cómo ayudar a Claude a entender qué es una instrucción y qué es contenido
Seguimos avanzando en el tutorial interactivo de ingeniería de prompts de Anthropic, y en esta sesión de vídeo nos hemos centrado en un capítulo especialmente útil para el día a día: el uso de etiquetas XML dentro de los prompts. Hemos resuelto tres ejercicios seguidos (4.1, 4.2 y 4.3) que, juntos, ilustran muy bien un mismo problema visto desde varios ángulos.
El primer ejercicio (4.1) es sencillo pero fundamental: construir una plantilla de prompt (petición) que recibe una variable mediante f-strings de Python, en este caso para generar un haiku sobre un tema dado. No hay ningún truco de etiquetas todavía, pero sienta la base de lo que viene después: en un prompt real, casi nunca escribimos texto fijo, sino que combinamos instrucciones estables con contenido variable que cambia en cada llamada (una pregunta del usuario, un dato de un informe, un fragmento de código, etc.).
El segundo ejercicio (4.2) es donde el problema se vuelve interesante. Partimos de un prompt escrito deliberadamente mal: lleno de erratas, abreviaturas y palabras sin sentido colocadas alrededor de la pregunta real ("ar cn brown?"), que en realidad significa "are canines brown?" (¿son los perros de color marrón?). Cuando ese prompt se envía tal cual, Claude tiene dificultades para distinguir qué parte es la pregunta que debe responder y qué parte es simplemente ruido. La solución no es limpiar todo el texto, sino envolver únicamente el contenido variable —la pregunta— entre etiquetas XML, por ejemplo <question> y </question> (usando aquí corchetes en lugar del símbolo de menor/mayor para evitar problemas de formato). Claude ha sido entrenado específicamente para reconocer este tipo de marcado como una señal estructural: todo lo que está dentro de la etiqueta es el contenido que importa, y el resto es contexto alrededor. En cuanto añadimos esa etiqueta, sin cambiar ni una palabra más del prompt, Claude identifica correctamente la pregunta y responde mencionando la palabra "brown".
El tercer ejercicio (4.3) nos plantea el mismo reto pero con una restricción distinta: resolverlo sin usar etiquetas XML, eliminando como máximo una o dos palabras del prompt original. Aquí el ejercicio nos obliga a fijarnos en el detalle: de todo el ruido que rodea a la pregunta, hay dos palabras concretas —"jkaerjv" y "jklmvca"— que están pegadas directamente a la pregunta, sin ningún espacio de separación semántica claro. Son precisamente esas dos palabras las que le impiden a Claude reconocer con precisión dónde empieza y termina la pregunta real. Al eliminarlas, y dejar todo lo demás intacto (el "Hia its me i have a q about dogs", el "tx it help me muhch much atx fst fst answer short short tx"), Claude vuelve a responder correctamente, sin necesidad de ninguna etiqueta.
La lección de fondo, común a los tres ejercicios, es doble. Por un lado, las etiquetas XML son la forma más fiable de indicarle a Claude dónde empieza y termina el contenido variable de un prompt, especialmente cuando ese contenido puede confundirse con las instrucciones que lo rodean. Por otro lado, el ejercicio 4.3 nos recuerda que Claude tiene bastante tolerancia al texto informal, las erratas comunes y el desorden general de un mensaje escrito con prisa; lo que realmente le desorienta es el ruido que queda pegado, sin separación clara, justo al lado de la información clave.
Aplicado a un contexto de ingeniería civil, esto tiene una utilidad muy directa: cuando integramos Claude en un flujo de trabajo donde el contenido variable proviene de fuentes poco controladas —el texto pegado de un correo, un fragmento extraído de un PDF escaneado con errores de reconocimiento óptico, una instrucción transcrita rápidamente en una reunión de obra—, envolver siempre esa parte variable en etiquetas XML dentro de nuestra plantilla de prompt es una práctica sencilla que reduce mucho el riesgo de que Claude interprete mal dónde acaba el ruido y empieza el dato que realmente necesitamos que procese.
Para practicar hoy: tome cualquier prompt que use habitualmente con datos variables (un informe, una consulta de un cliente, un fragmento de normativa) y revise si el contenido variable está claramente delimitado. Si no lo está, añada etiquetas XML alrededor de esa parte y compare la respuesta antes y después.




