Skip to main content
Conteúdo do guia
Intermediário15 min

Formato Markdown: guia completo para trabalhar com IA e automação

Guia prático abrangente sobre a sintaxe do Markdown para desenvolvimento de IA: CommonMark, hierarquia de cabeçalhos, tabelas GFM, escape, prompts de sistema e arquivos CLAUDE.md.

Publicado:
PARA AGENTE DE IAChatGPTClaude

1. O que é Markdown: filosofia, CommonMark e por que é a língua nativa da IA

Markdown é uma linguagem de marcação de texto simplificada, criada por John Gruber em 2004 com um objetivo claro: escrever texto estruturado que permaneça altamente legível em sua forma bruta e seja facilmente convertido em HTML válido. O padrão moderno foi formalizado na especificação CommonMark e estendido pelo padrão GitHub Flavored Markdown (GFM).

Na interação com Inteligência Artificial (ChatGPT, Claude Code, Gemini, modelos locais via Ollama), o Markdown é a principal linguagem de comunicação.

mermaid
flowchart LR A["Сирий текст Markdown<br><i>(Мінімальна вага, чистий UTF-8)</i>"] --> B["LLM / AI-агент<br><i>(Точне розуміння семантики)</i>"] B --> C{"Парсинг та рендеринг"} C --> D["HTML / Вебсайти<br><i>(Заголовки, списки, таблиці)</i>"] C --> E["DOCX / PDF звіти<br><i>(Конвертація через Pandoc)</i>"] C --> F["Системний контекст<br><i>(CLAUDE.md, .cursorrules)</i>"]

Por que os Grandes Modelos de Linguagem "pensam" em Markdown

  1. Economia ideal de tokens: Diferente do XML ou HTML, onde cada tag exige abertura e fechamento (<p>Texto</p>), o Markdown utiliza apenas marcadores mínimos ou quebras de linha simples.
  2. Univocidade semântica: Os símbolos #, -, > e backticks não sobrecarregam a janela de contexto, fornecendo ao modelo um mapa claro da hierarquia das ideias.
  3. Naturalidade para saída em streaming: A geração de texto palavra por palavra, sem tags complexas não fechadas, permite renderizar a formatação instantaneamente na interface do chat.
  4. Controle de versão no Git: Arquivos .md são arquivos de texto simples, portanto, qualquer alteração na base de conhecimento ou documentação é facilmente rastreada via git diff.
Nota

A formatação em Markdown divide-se em dois níveis: elementos de bloco (títulos, listas, citações, tabelas, blocos de código) e elementos inline (negrito, itálico, links, código inline). Elementos de bloco devem ser obrigatoriamente separados por uma linha em branco.


2. Hierarquia de títulos e estrutura de navegação de documentos

Os títulos definem a espinha dorsal do documento e compõem o índice (Table of Contents). No Markdown, os níveis de título são indicados pelo símbolo de cerquilha (#) no início da linha — de um a seis.

Hierarquia de níveis de título no Markdown e as correspondentes tags HTML ЗбільшитиHierarquia de níveis de título no Markdown e as correspondentes tags HTMLHierarquia de níveis de título no Markdown e as correspondentes tags HTML
Nível do TítuloSintaxe MarkdownEquivalente HTMLUso Típico
Nível 1# Título<h1>Nome do artigo ou documento inteiro (apenas 1 por página)
Nível 2## Título<h2>Seções principais e módulos-chave do tema
Nível 3### Título<h3>Subseções, passos de instruções, ferramentas individuais
Nível 4#### Título<h4>Detalhamento de subitens, parâmetros, notas
Nível 5##### Título<h5>Notas de rodapé menores e técnicas
Nível 6###### Título<h6>Microtítulos de especificações

Regra crítica do espaço após a cerquilha

De acordo com o padrão CommonMark, deve haver obrigatoriamente um único espaço entre o símbolo de cerquilha e o texto do título. Sem esse espaço, a maioria dos parsers modernos interpretará a entrada como uma hashtag comum ou texto bruto.

Comparação entre a escrita correta e incorreta de títulos ЗбільшитиComparação entre a escrita correta e incorreta de títulosComparação entre a escrita correta e incorreta de títulos
Aviso

Nunca use o símbolo # para um título de primeiro nível dentro do corpo do artigo se o título já estiver definido nos metadados (frontmatter). A página deve conter exatamente uma tag semântica <h1>.


3. Formatação de texto: negrito, itálico, riscado e caracteres especiais

A ênfase inline ajuda a destacar termos e conceitos chave.

Sintaxe de destaque de texto em itálico no Markdown ЗбільшитиSintaxe de destaque de texto em itálico no MarkdownSintaxe de destaque de texto em itálico no Markdown
Estilo de DestaqueSintaxe MarkdownResultado Visual
Negrito (Bold)**termo importante** ou __termo__termo importante
Itálico (Italic)*ênfase* ou _ênfase_ênfase
Negrito Itálico***ação crítica***ação crítica
Riscado (Strikethrough)~~versão obsoleta~~versão obsoleta
Código Inline`apiKey`apiKey

Nuances práticas de tipografia

  • Destaque dentro de palavras: Para destacar parte de uma palavra, use sempre asteriscos (A*cat*meow), pois alguns processadores ignoram underscores dentro de palavras, interpretando-os como parte de identificadores de variáveis (user_profile_id).
  • Quebra de linha sem novo parágrafo: Para adicionar uma quebra de linha (<br>) dentro de um mesmo parágrafo, coloque dois espaços no final da linha ou utilize a tag <br>.
  • Comentários: Para notas que não devem ser renderizadas na página final, use a sintaxe de comentários HTML: <!-- Este é um comentário interno -->.

4. Listas e estruturas aninhadas: numeradas, com marcadores e checkboxes

As listas organizam algoritmos passo a passo e conjuntos de parâmetros.

Listas com marcadores e numeradas

Blocos adicionais dentro de listas

Para inserir um parágrafo, citação ou bloco de código dentro de um item de lista sem quebrar a numeração geral, faça um recuo de 4 espaços antes de cada linha filha:

markdown
1. Inicie o processo de build do projeto: ```bash ```bash npm run build
terminal
```
Nota

Certifique-se de que as variáveis de ambiente no arquivo .env estão configuradas corretamente antes da execução.

  1. Verifique o diretório de saída dist/.
terminal
--- ## 5. Links, imagens e codificação correta de URLs A sintaxe de links e mídia baseia-se na combinação de colchetes e parênteses. **Construções básicas de links:** - **Link inline comum:** `[Documentação Anthropic](https://docs.anthropic.com)` - **Link com tooltip (title):** `[Claude Code](https://claude.ai "Site Oficial")` - **Autolink:** `<https://github.com>` ou `<support@example.com>` - **Imagem:** `![Descrição da imagem para acessibilidade](/images/diagram.webp "Tooltip")` - **Imagem clicável como link:** `[![Alt-text](/images/btn.webp)](https://example.com)` ### Codificação correta de caracteres especiais em URLs Se a URL contiver espaços, parênteses ou caracteres cirílicos, a inserção direta quebrará a sintaxe do link Markdown. Esses caracteres devem ser substituídos por códigos percentuais (URL percent-encoding): ![Codificação correta de espaços e parênteses em URLs de links](/api/guides-media/automation/markdown-format-guide-for-ai/images/markdown-format-guide-for-ai-extra-03.webp) ```markdown <!-- Correto: o espaço foi substituído por %20, os parênteses por %28 e %29 --> [Artigo da Wikipédia](https://uk.wikipedia.org/wiki/Комп%27ютер_%28значення%29) <!-- Incorreto: quebra a sintaxe dos parênteses do Markdown --> [Artigo da Wikipédia](https://uk.wikipedia.org/wiki/Комп'ютер_(значення))

6. Código inline, blocos de código e realce de sintaxe

Código e configurações exigem fonte monoespaçada e proteção contra interpretação de caracteres internos.

Código inline vs. Fenced code blocks

  • Código inline: Backticks simples: git status.
  • Escape de backtick dentro de código inline: Envolva com backticks duplos: `npm test`.
  • Fenced code blocks: Três backticks com indicação obrigatória do identificador da linguagem.
typescript
interface UserProfile { id: string; username: string; isActive: boolean; } export function formatUser(user: UserProfile): string { return `@${user.username} (ID: ${user.id})`; }
Importante

Regra estrita de isolamento de prompts: Quaisquer system prompts ou regras de assistentes (.cursorrules, CLAUDE.md) que contenham seus próprios símbolos de título (#, ##) devem ser obrigatoriamente envolvidos em um bloco de código separado com indicação da linguagem (por exemplo, markdown ou text). Se deixados sem bloco de código no corpo do texto, os títulos internos do prompt entrarão no índice (TOC) do artigo e destruirão a navegação da página.


7. Citações, callouts e divisores horizontais

As citações são criadas com o símbolo > no início da linha e são usadas para destacar pensamentos, avisos importantes ou citar textos.

Citações padrão e aninhamento multinível

markdown
> Esta é uma citação de primeiro nível. > > > Esta é uma citação aninhada de segundo nível dentro da anterior.

GitHub Alerts modernos (Callout-blocks)

Plataformas modernas de documentação suportam blocos destacados padronizados com ícones coloridos:

markdown
> [!NOTE] > Informações úteis de referência ou contexto para compreensão. > [!TIP] > Dica sobre otimização, aumento de eficiência ou melhores práticas. > [!IMPORTANT] > Informação crítica e essencial, obrigatória a ser seguida. > [!WARNING] > Alerta sobre possíveis erros, falhas ou perda de dados.

Divisores horizontais

Três ou mais hífens (---), asteriscos (***) ou underscores (___) em uma linha separada criam uma linha horizontal:

markdown
Texto da seção anterior. --- Texto da próxima seção após o separador.

8. Escaping de caracteres especiais e HTML embutido

Quando você precisa exibir um caractere de sintaxe Markdown como um sinal de pontuação comum, coloca-se uma barra invertida (\) antes dele.

Caracteres especiais da sintaxe Markdown que podem ser escapados com barra invertida ЗбільшитиCaracteres especiais da sintaxe Markdown que podem ser escapados com barra invertidaCaracteres especiais da sintaxe Markdown que podem ser escapados com barra invertida

Lista de caracteres para escape

CaractereNome do SinalExemplo de EscapeResultado Renderizado
\Barra Invertida (Backslash)\\\
`Backtick\``
*Asterisco\*não itálico\**não itálico*
_Underscore\_não negrito\__não negrito_
#Cerquilha (Hash)\# Não é título# Não é título
[ ]Colchetes\[Não é link\][Não é link]
!Ponto de exclamação\!Não é imagem!Não é imagem

Uso seguro de HTML

Se o Markdown padrão for insuficiente, você pode usar tags HTML, mas lembre-se das limitações:

  • Tag <br> para quebras de linha forçadas em tabelas.
  • Tag <u> para texto sublinhado.
  • Tags de bloco (<div>, <table>) devem ser separadas do código Markdown por linhas em branco, e a marcação Markdown não funciona dentro delas.

9. Tabelas GitHub Flavored Markdown (GFM) e diagramas Mermaid

As tabelas permitem comparar características, parâmetros e configurações.

Sintaxe de tabelas GFM com alinhamento

markdown
| Parâmetro | Descrição da funcionalidade | Valor padrão | Status | | :--- | :--- | :---: | ---: | | `apiKey` | Chave secreta de autorização | `null` | Obrigatório | | `timeout` | Tempo máximo de espera | `5000` | Opcional | | `retries` | Número de tentativas de repetição | `3` | Recomendado |
  • :--- — Alinhamento da coluna à esquerda.
  • :---: — Alinhamento centralizado.
  • ---: — Alinhamento à direita (ideal para preços e números).

Visualização de arquitetura via Mermaid

Em vez de screenshots raster pesados, desenvolvedores modernos usam diagramas de texto integrados Mermaid:

mermaid
sequenceDiagram autonumber actor User as Розробник participant AI as Claude Code / GPT-4o participant FS as Файлова система User->>AI: Запит на генерацію документації AI->>AI: Побудова структури в пам'яті (CommonMark) AI->>FS: Запис файлу README.md FS-->>User: Готовий структурований артефакт

10. Markdown em agentes de IA: CLAUDE.md, System Prompts e checklist de validação

Na era dos agentes autônomos de IA (Claude Code, Cursor, Windsurf, Devin), o Markdown tornou-se a principal linguagem para transmitir contexto de engenharia.

Arquivos de instrução do projeto (CLAUDE.md / .cursorrules)

Os agentes leem o arquivo raiz CLAUDE.md antes de cada requisição. Se ele estiver bem formatado, o modelo seguirá a arquitetura do projeto sem erros:

markdown
Padrões de engenharia do projeto =========================== 1. Comandos de build e teste: - Build: npm run build - Executar testes unitários: npm test - Linter: npm run lint 2. Regras de arquitetura: - Usar apenas Server Components por padrão. - Armazenar todos os tipos no diretório src/types/. - Não usar any no código TypeScript.

Master-prompt para gerar Markdown impecável

markdown
Atue como editor técnico sênior e especialista em documentação. Crie uma documentação técnica seguindo a especificação CommonMark / GFM. Tópico: [Indique o tópico, por exemplo: Arquitetura de microsserviço de autenticação] Requisitos de marcação: 1. Os títulos devem começar estritamente de ## 1. até ## N. (Nenhum # no corpo do documento). 2. Sempre insira um espaço simples após os símbolos de cerquilha (por exemplo, "## 1. Introdução", e não "##1. Introdução"). 3. Todos os trechos de código devem ser formatados com três backticks, indicando a linguagem (typescript, bash, json, mermaid). 4. Apresente matrizes comparativas em tabelas GFM válidas, com alinhamento de colunas. 5. Para avisos importantes, utilize blocos de callout (> [!NOTE], > [!WARNING]). 6. Links que contenham espaços ou parênteses devem utilizar URLs codificadas em percentual (%20, %28, %29). Gere um documento Markdown limpo e pronto para publicação.

Checklist de qualidade do documento Markdown

  • Não há tag # (H1) no corpo do artigo (o H1 é gerado exclusivamente a partir do título da página).
  • Todas as seções de nível superior estão numeradas sequencialmente (## 1., ## 2.).
  • Há sempre um espaço após os símbolos de cerquilha #.
  • Todos os prompts, configurações e exemplos de código estão envolvidos nos blocos ``` apropriados.
  • Caracteres especiais em links estão codificados no formato percent-encoding.
  • Tabelas estão formatadas conforme o padrão GFM sem separadores danificados.
  • Imagens possuem alt-text descritivo adequado.
Este guia é totalmente gratuito. Se ele te poupou uma noite, você pode apoiar o crescimento do projeto.
Apoiar o autor