Estructurar prompts con etiquetas XML
- Por qué las etiquetas de estilo XML dan a Claude límites nítidos entre las partes del prompt
- Cómo envolver instrucciones, documentos, ejemplos y reglas de formato en etiquetas con nombre
- Cómo pedir a Claude una salida etiquetada que puedas analizar de forma fiable
- Cuándo etiquetar — y cuándo no abusar de las etiquetas
Cuando un prompt mezcla instrucciones, un documento, ejemplos y una pregunta, el modelo puede confundirlos entre sí. Las etiquetas de estilo XML son una forma limpia de etiquetar cada parte — y Claude responde especialmente bien a ellas.
La idea
Envuelve cada sección en una etiqueta con nombre para que quede claro qué es cada cosa:
Estructura de prompt etiquetada
<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>Las etiquetas son simplemente texto que tú inventas — <document>, <example>, <context>, <rules> — pero le dan al modelo límites nítidos.
Por qué ayuda
- Separa los datos de las instrucciones — el modelo es menos propenso a obedecer texto extraviado dentro de un documento pegado (una defensa leve contra la inyección de prompts — ver /docs/security/prompt-injection).
- Reduce el "ignoró parte de mi prompt". Cada parte está claramente delimitada.
- Facilita el análisis de las salidas — puedes pedir a Claude que ponga su respuesta en etiquetas <answer> y extraerla de forma fiable.
- Se combina con few-shot (/docs/prompting/few-shot) — envuelve cada ejemplo en <example>.
Las cuatro ventajas en detalle:
- Separa los datos de las instrucciones — el modelo es menos propenso a obedecer texto extraviado dentro de un documento pegado (una defensa leve contra la inyección de prompts).
- Reduce el "ignoró parte de mi prompt". Cada parte está claramente delimitada.
- Facilita el análisis de las salidas — puedes pedir a Claude que ponga su respuesta en etiquetas
<answer>y extraerla de forma fiable. - Se combina con few-shot — envuelve cada ejemplo en
<example>.
Pedir salida etiquetada
Guided walkthrough1 of 3
- Dile al modelo exactamente qué etiquetas usar para el razonamiento frente a la respuesta final.
- Tu código puede tomar únicamente el contenido de <answer>, ignorando el razonamiento.
- Funciona bien junto a la salida estructurada (/docs/api/structured-output) cuando necesitas resultados legibles por máquina.
Solicitar salida etiquetada
Put your reasoning in <thinking> tags and your final answer in <answer> tags.
Luego tu código puede tomar solo el contenido de <answer>. Combina bien con la salida estructurada cuando necesitas resultados legibles por máquina.
Consejos
- Sé consistente — abre y cierra cada etiqueta; reutiliza los mismos nombres.
- Nombra las etiquetas con sentido (<contract>, no <x>).
- No abuses de las etiquetas en prompts triviales — usa esto cuando realmente haya varias partes distintas.
- Sé consistente — abre y cierra cada etiqueta; reutiliza los mismos nombres.
- Nombra las etiquetas con sentido (
<contract>, no<x>). - No abuses de las etiquetas en prompts triviales — usa esto cuando realmente haya varias partes distintas.