Markdown vs. XML em Prompts para LLMs: Uma Análise Comparativa

A formatação de prompts se tornou um elemento crítico na obtenção de respostas eficazes de Grandes Modelos de Linguagem (LLMs). Esta pesquisa investiga a crença comum de que prompts formatados em Markdown seriam mais eficientes ao interagir com LLMs, comparando-os com prompts estruturados em XML. Os resultados revelam uma realidade mais nuançada, onde a eficácia depende significativamente do modelo específico, da complexidade da tarefa e dos objetivos do usuário.

A Origem da Crença sobre Eficiência do Markdown

A popularidade do Markdown como formato de escolha para prompts de LLMs está fundamentada em características práticas e observações de usuários. Markdown ganhou adoção por sua simplicidade e legibilidade, permitindo criar prompts claros e organizados que aparentemente melhoram a capacidade do LLM de processar e responder com precisão1.

Esta percepção foi reforçada pela observação de que os prompts de sistema da OpenAI tradicionalmente eram escritos em Markdown, e modelos como GPT-3.5 e GPT-4 fornecem saídas nativas em Markdown quando utilizados via API13. Isso criou a impressão de que o Markdown seria o “idioma natural” dos LLMs modernos.

No entanto, pesquisas recentes desafiam essa suposição generalizada. Um estudo citado por Daniel Voyce demonstrou que o desempenho do modelo pode variar drasticamente (até 40%) apenas com base no formato do prompt, com diferentes modelos exibindo preferências distintas – GPT-3.5 tendo melhor desempenho com JSON, enquanto GPT-4 respondeu melhor ao Markdown4.

Posicionamento Oficial dos Desenvolvedores de LLMs

Anthropic (Claude)

A Anthropic tem sido particularmente vocal sobre sua preferência por XML:

“Marque seus prompts com tags XML. Claude foi especificamente ajustado para prestar atenção especial à sua estrutura”17. Esta não é apenas uma recomendação, mas reflete um aspecto do treinamento específico do modelo Claude.

OpenAI (GPT)

A OpenAI reconhece a utilidade de múltiplos formatos em sua documentação para modelos de raciocínio (o1 e o3), recomendando: “Use delimitadores como markdown, tags XML e títulos de seção para indicar claramente partes distintas da entrada”8. Recentemente, nos modelos da série “o”, a OpenAI introduziu uma configuração padrão que evita gerar respostas com formatação Markdown, exigindo explicitamente a instrução “Formatting re-enabled” para reativar esse comportamento8.

Google (Gemini)

O Google também recomenda estruturação, embora seja menos específico quanto ao formato exato. Seu guia para prompts eficazes destaca quatro áreas principais a considerar: Persona, Tarefa, Contexto e Formato7.

Consenso Emergente

Surpreendentemente, conforme notado por Anand S.: “Tags XML são a melhor maneira de estruturar prompts e separar seções para um LLM. É o único formato que todos os modelos da Anthropic, Google e OpenAI incentivam”9. Esta convergência sugere uma direção na evolução das melhores práticas de engenharia de prompts.

Diferenças Técnicas entre Markdown e XML

Estrutura e Legibilidade

Markdown:

  • Alta legibilidade para humanos
  • Estrutura flexível mas menos rígida
  • Sintaxe minimalista e intuitiva
  • Limitações em estruturas hierárquicas complexas110

XML:

  • Estrutura hierárquica explícita e rígida
  • Suporte para atributos e metadados
  • Tags de abertura e fechamento claramente delimitadas
  • Capacidade superior para representar relações complexas
  • Curva de aprendizado mais íngreme para humanos310

Impacto nos Tokens e Processamento

A escolha do formato afeta diretamente a eficiência computacional:

Markdown:

  • Mais econômico em tokens (aproximadamente 15% menos que formatos equivalentes em JSON)
  • Menor overhead de processamento
  • Respostas potencialmente mais rápidas
  • Custos reduzidos em APIs comerciais de LLMs11

XML:

  • Mais verboso devido às tags completas de abertura e fechamento
  • Maior consumo de tokens
  • Potencial aumento no tempo de processamento e custos
  • Compensado pela clareza estrutural para tarefas complexas114

Tokenização e Comportamento do Modelo

Um aspecto frequentemente negligenciado é como a tokenização afeta a interpretação do prompt:

“A tokenização (a maneira como um LLM divide informações) causa todo tipo de problemas quando você depende de espaço em branco, indentação ou comentários Markdown de linha única. Tags XML fornecem certeza de múltiplas linhas com delimitadores que marcam onde os itens começam e terminam”4.

Este aspecto técnico é crucial, pois através da tokenização, “tokens subsequentes podem ser verificados para ver se a tag foi fechada e, portanto, quando esse item particular de contexto deve ser considerado completo”4. Isso reduz ambiguidades e potencialmente aumenta a precisão da resposta.

Casos de Uso Específicos e Desempenho Comparativo

Quando XML Supera

O XML demonstra superioridade em:

  1. Prompts complexos com múltiplas seções interdependentes
    • A estrutura explícita do XML é vantajosa quando há hierarquias complexas de informação12
    • Particularmente útil para prompts longos com diferentes tipos de conteúdo e instruções
  2. Tarefas que exigem processamento programático das respostas
    • As tags XML facilitam a extração de informações específicas da saída
    • Ideal para aplicações onde as respostas precisam ser parseadas e processadas automaticamente11
  3. Modelos específicos com preferência por XML
    • Claude da Anthropic foi explicitamente treinado para responder melhor a tags XML
    • AWS Bedrock recomenda XML especificamente para modelos Claude14

Um teste comparativo utilizando Llama-3.1 405B e outros modelos demonstrou que o formato XML consistentemente superou outros formatos para prompts complexos, mesmo além do Claude, para o qual seria esperado dado o treinamento específico16.

Quando Markdown Pode Ser Preferível

O Markdown mantém vantagens em:

  1. Prompts simples e diretos
    • Para instruções básicas, a economia de tokens e simplicidade do Markdown pode ser benéfica
    • Tarefas onde a estrutura hierárquica não é crucial1
  2. Cenários focados em legibilidade humana
    • Quando os prompts precisam ser frequentemente editados por usuários menos técnicos
    • Colaboração em equipes com membros de diferentes perfis técnicos10
  3. Modelos específicos com melhor desempenho com Markdown
    • Alguns modelos GPT-4 demonstraram preferência por Markdown em certos testes de desempenho4

Impacto na Eficiência de Tokens e Econômica

A escolha entre XML e Markdown tem implicações econômicas diretas para usuários de APIs comerciais de LLMs:

  • XML consome mais tokens devido às tags completas (abertura e fechamento)
  • Markdown pode economizar aproximadamente 15% de tokens em comparação com representações equivalentes
  • Para aplicações de grande escala, esta diferença pode resultar em economias significativas11

No entanto, esta economia precisa ser balanceada contra potenciais ganhos em precisão. Se o XML resultar em respostas que requerem menos refinamento ou iterações, a eficiência geral do processo pode favorecer este formato, apesar do maior consumo inicial de tokens.

Recomendações Práticas Baseadas em Evidências

Com base nos resultados da pesquisa, podemos oferecer recomendações estratégicas:

  1. Considere o modelo específico em uso
    • Para Claude: Priorize XML, pois foi especificamente otimizado para este formato
    • Para GPT-4: Teste tanto Markdown quanto XML para sua aplicação específica
    • Para modelos Llama e outros open-source: Evidências recentes favorecem XML para prompts complexos16
  2. Adapte de acordo com a complexidade do prompt
    • Prompts simples: Markdown pode ser suficiente e mais eficiente
    • Prompts complexos com múltiplas seções: XML oferece estrutura mais clara
    • “Quanto maior e mais complexo o prompt, mais o XML tende a superar outras opções”16
  3. Balanceie economia de tokens vs. clareza estrutural
    • Para aplicações sensíveis a custos com prompts simples: Prefira Markdown
    • Para aplicações onde precisão é crucial: Considere XML apesar do maior consumo de tokens
    • Teste ambos os formatos empiricamente para seu caso de uso específico
  4. Use delimitação clara independente do formato
    • Seja qual for o formato escolhido, assegure que diferentes seções do prompt (contexto, instruções, exemplos) sejam claramente delimitadas
    • Em XML: Use tags descritivas como <context><instructions><examples>
    • Em Markdown: Utilize hierarquia consistente de cabeçalhos e separadores visuais8

Conclusão

A crença de que prompts formatados em Markdown são universalmente mais eficientes para LLMs não se sustenta frente às evidências atuais. Na realidade, estamos observando uma convergência entre os principais desenvolvedores de LLMs em torno do XML como formato preferencial para prompts estruturados, particularmente para instruções complexas.

O XML oferece vantagens significativas em termos de estrutura explícita, delimitação clara e capacidade de representar hierarquias complexas, características cada vez mais valorizadas à medida que os prompts se tornam mais sofisticados. Testes empíricos demonstram sua superioridade não apenas com modelos da Anthropic, mas também com LLaMA e outros modelos open-source.

No entanto, o Markdown mantém seu valor em contextos específicos devido à sua economia de tokens, legibilidade humana e facilidade de edição. A escolha ideal depende de múltiplos fatores, incluindo o modelo específico, a complexidade da tarefa e as prioridades entre economia e precisão.

À medida que a engenharia de prompts evolui de arte para ciência, a estruturação adequada – seja via XML, Markdown ou outros formatos – emerge como um componente fundamental para comunicação eficaz com LLMs. A tendência atual sugere que o XML está se estabelecendo como padrão preferencial para prompts complexos, enquanto o Markdown permanece relevante para casos de uso mais simples e diretos.

Recomendações para Pesquisas Futuras

Para aprofundar este tema, seria valioso conduzir estudos sistemáticos comparando o desempenho de diferentes formatos de prompt em uma diversidade maior de modelos e tarefas, incluindo análises quantitativas de precisão, eficiência de tokens e tempo de processamento. Adicionalmente, investigar como diferentes tokenizadores processam estes formatos poderia fornecer insights valiosos para otimizar ainda mais a engenharia de prompts.

Citations:

  1. https://ithy.com/article/llm-prompting-optimization-nlvhc9mw
  2. https://community.openai.com/t/gpt-4o-markdown-output-issue/988613
  3. https://github.com/Bradybry/chatXML
  4. https://www.linkedin.com/posts/danielvoyce_sharing-this-life-hack-for-better-llm-prompting-activity-7267679745192976385-CgKc
  5. https://community.openai.com/t/a-guide-to-crafting-effective-prompts-for-diverse-applications/493914
  6. https://www.reddit.com/r/ClaudeAI/comments/1gds696/the_only_prompt_you_need/
  7. https://workspace.google.com/resources/ai/writing-effective-prompts/
  8. https://simonwillison.net/2025/Feb/2/openai-reasoning-models-advice-on-prompting/
  9. https://www.linkedin.com/posts/sanand0_use-xml-tags-to-structure-your-prompts-activity-7242746112019722240-f6jL
  10. https://www.linkedin.com/pulse/markdown-vs-xml-system-prompts-custom-ai-assistants-urs7e
  11. https://www.linkedin.com/pulse/understanding-prompt-formats-xml-markdown-yaml-made-simple-paluy-fgtkc
  12. https://www.reddit.com/r/ChatGPT/comments/1gfgvhc/prompts_with_markdown_format_are_better/
  13. https://www.reddit.com/r/PromptEngineering/comments/17aktzb/do_you_write_your_prompts_in_markdown/
  14. https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-templates-and-examples.html
  15. https://scrapingant.com/blog/markdown-efficient-data-extraction
  16. https://www.youtube.com/watch?v=W6Z0U11nnhA
  17. https://news.theaiexchange.com/p/anthropic-pushing-structured-prompts
  18. https://www.robertodiasduarte.com.br/analise-comparativa-entre-xml-e-markdown-na-engenharia-de-prompts-para-modelos-de-linguagem/
  19. https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/prompt-engineering
  20. https://platform.openai.com/docs/guides/prompt-engineering
  21. https://www.robertodiasduarte.com.br/comparacao-entre-xml-e-json-para-engenharia-de-prompts/
  22. https://docs.anthropic.com/en/release-notes/system-prompts
  23. https://www.reddit.com/r/ClaudeAI/comments/1fo120k/use_of_xml_in_prompts_is_recommended_by_anthropic/
  24. https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags
  25. https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/prompt-templates-and-variables
  26. https://gist.github.com/disler/29ff18823670098c26fa370ad802fa96
  27. https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingscohere/
  28. https://cohere.com/llmu/constructing-prompts
  29. https://www.reddit.com/r/LocalLLaMA/comments/1bvniaz/command_r_cohere_for_ai_104b/
  30. https://github.com/cohere-ai/notebooks/blob/main/notebooks/llmu/RAG_with_Quickstart_Connectors.ipynb
  31. https://stackoverflow.com/questions/761824/python-how-to-convert-markdown-formatted-text-to-text
  32. https://community.openai.com/t/formatting-plain-text-to-markdown/595972
  33. https://www.markdownguide.org/basic-syntax/
  34. https://github.com/markedjs/marked/issues/2134

Answer from Perplexity: pplx.ai/share