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