MÓDULO 4.3

📝 Arquivos — Markdown > PDF/HTML/DOCX

PDF custa 1.500–3.000 tokens por página. Markdown custa ~500. Diferença de 5× no mesmo conteúdo. Higiene de anexos é a economia mais subestimada.

6
Tópicos
25
Minutos
Intermediário
Nível
Prática
Tipo
1

📄 PDF: 1.500–3.000 tokens/página

A Anthropic documenta explicitamente: cada página de PDF anexada consome entre 1.500 e 3.000 tokens. Motivo: o processamento converte cada página em imagem + extrai o texto, e você paga pelos dois.

📚 Fonte oficial (Anthropic docs)

"PDFs are converted to images, and each page consumes approximately 1,500–3,000 tokens depending on content density."

Fonte: docs.claude.com · PDF support

Quanto custa um PDF real

Tamanho do PDF Estimativa baixa Estimativa alta % janela 200k
5 páginas7.50015.0004–8%
30 páginas45.00090.00023–45%
100 páginas150.000300.00075–150%

Um PDF de 100 páginas sozinho pode estourar a janela de 200k. Sem espaço para conversa.

🏗️Por que PDF é tão caro

1.
Imagem por página — cada página é tratada como figura, consumindo tokens visuais
2.
Extração de texto — além da imagem, o texto é extraído e anexado, contando de novo
3.
Layout, tabelas, figuras — elementos visuais exigem mais tokens para ser "compreendidos"
4.
Sem deduplicação — headers e footers repetidos em toda página pagam de novo em cada uma
2

📊 Comparação de formatos

Vamos colocar o mesmo conteúdo (~500 palavras sobre um tópico técnico) em quatro formatos e ver quanto cada um custa. A diferença é dramática.

Mesmo conteúdo, 4 formatos

📝 Markdown (.md) ~500 tokens • 1×
📄 Texto puro (.txt) ~480 tokens • 0,96×
🌐 HTML com Tailwind ~1.200 tokens • 2,4×
📕 PDF ~1.500–3.000 tokens • 3–6×

Baseline: 500 palavras técnicas. PDF assume 1 página densa.

Resumo — custo relativo por formato

Formato Tokens/500 palavras Fator vs MD Recomendação
📝 Markdown~5001,0×Prefira sempre
📄 TXT~4800,96×OK, sem formatação
🐍 Python/JS~7001,4×Natural para código
🌐 HTML+Tailwind~1.2002,4×Evite se possível
📊 JSON formatado~1.4002,8×Minifique ou resuma
📕 PDF1.500–3.0003,0–6,0×Converta para MD
📘 DOCX~1.8003,6×Converta para MD
Markdown vs PDF — mesmo conteúdo
3–6×

menos tokens. Sem perder nada do texto útil.

3

🛠️ Como converter PDF/DOCX → Markdown

A ferramenta padrão é o pandoc: uma linha de comando converte praticamente qualquer formato em markdown. Três abordagens, da mais direta à mais flexível.

Opção 1 — pandoc via CLI

# Instalar (uma vez)
brew install pandoc          # macOS
sudo apt install pandoc      # Ubuntu/Debian
choco install pandoc         # Windows

# Converter
pandoc input.pdf  -o output.md
pandoc relatorio.docx -o relatorio.md
pandoc apresentacao.odt -o apresentacao.md

# Converter em lote
for f in *.pdf; do pandoc "$f" -o "${f%.pdf}.md"; done

Funciona para: PDF, DOCX, ODT, EPUB, HTML, RTF, LaTeX, e muitos outros. Código-fonte e mais docs: pandoc.org

Opção 2 — Ferramentas online

  • pandoc-online — versão web do próprio pandoc
  • markitdown (Microsoft) — especializado em Office → MD
  • cloudconvert.com — GUI simples, suporta muitos formatos

Útil quando você não quer instalar nada ou está em máquina sem admin.

Opção 3 — Subagente de conversão

# .claude/agents/pdf-to-md.md
---
name: pdf-to-md
description: Converte um PDF local em markdown limpo e estruturado. Acione quando o usuário tiver um PDF e precisar do conteúdo em formato eficiente para contexto.
tools:
  - Read
  - Bash
  - Write
---

Converta o PDF indicado para markdown seguindo estas regras:
1. Use pandoc como ferramenta primária
2. Remova headers/footers repetidos
3. Preserve hierarquia de títulos (# ## ###)
4. Transforme tabelas em formato markdown
5. Salve como docs/converted/nome-do-arquivo.md
6. Retorne: caminho do arquivo + contagem estimada de tokens

Útil quando o PDF tem estrutura complexa que precisa de curadoria.

💡ROI da conversão

Converter um PDF de 50 páginas leva 10 segundos com pandoc. Economiza 50k+ tokens em toda sessão que usa o documento. Paga-se na primeira vez que você anexa.

4

📂 O que NÃO anexar

Lista negra de arquivos que quase nunca deveriam entrar no contexto. Eles queimam tokens sem agregar valor.

📜

Logs gigantes

Um log de produção de 50MB são milhões de tokens. Quase tudo é ruído.

→ Use grep antes. Anexe só as linhas relevantes.

🧱

Arquivos minified

bundle.min.js de 2MB é token impossível de interpretar.

→ Use o fonte, não o minificado.

📦

node_modules / vendor

NEVER. São gigabytes de código de terceiros.

→ Sempre no .gitignore e fora de qualquer anexo.

💾

Snapshots de banco

Dump SQL de 100MB, CSV de 500k linhas, XML gigante.

→ Anexe só a estrutura (schema) + 5 linhas de exemplo.

🖼️

Binários

Executáveis, .zip, .tar.gz, imagens grandes sem motivo.

→ Só anexe imagens quando o conteúdo visual for a questão.

📄

PDFs inteiros sem filtro

Documento de 200 páginas para tirar 1 dúvida específica.

→ Converta para MD e recorte o capítulo relevante.

❌ Anexo típico problemático

$ ls anexos/
app.log               (80MB)
bundle.min.js         (2.1MB)
relatorio-final.pdf   (45 pág)
node_modules/         (pasta)
dump-producao.sql     (120MB)

Total: janela estourada, qualidade péssima.

✅ Anexo curado

$ ls anexos/
erros-ultimos-3-dias.txt  (grep do log)
app.source.js             (fonte, não bundle)
relatorio-cap-4.md        (só o capítulo)
schema.sql                (estrutura, não dump)
sample-data.csv           (10 linhas)

Total: ~5k tokens, qualidade alta.

5

✂️ Recortar antes de colar

Hábito nº 1 de quem domina contexto: antes de colar 2.000 linhas, perguntar "quais 50 importam?". Curadoria humana custa 10 segundos; economia em tokens vale muito mais.

Checklist antes de colar qualquer coisa

  • 1 Qual é a pergunta específica? — sem pergunta clara, todo anexo é chute
  • 2 Qual é a menor fatia que responde? — função, classe, bloco
  • 3 Eu sei onde está? — se sim, cole direto; se não, delegue busca
  • 4 Pode ser só um resumo? — às vezes 5 linhas de descrição bastam

Fluxo de decisão

Sei qual trecho é relevante?
SIM
Recorte + cole só isso
NÃO
Delegue busca para Explore agent

🔍Quando não sabe o que recortar

"Mas eu não sei qual função importa!" — ótimo caso para delegar. Em vez de colar o arquivo inteiro "pro Claude procurar", invoque um Explore agent:

"Use o Explore agent: no arquivo src/auth.ts, encontre onde
o token JWT é validado e retorne só o trecho relevante (10–20 linhas)."

O subagente procura; você recebe só as 20 linhas.

💡Princípio geral

Curadoria humana supera força bruta. Menos texto bem escolhido gera respostas melhores que mais texto genérico. Qualidade do anexo > quantidade.

6

🎯 Skills on-demand vs anexo sempre

A diferença estrutural mais importante de higiene de arquivo: skills são carregadas sob demanda (só quando acionadas); anexos ficam no contexto em todos os turnos seguintes até o fim da sessão.

📚Skills

  • Até 5k tokens cada
  • Carregadas sob demanda
  • Budget combinado de ~25k
  • Só aparecem quando acionadas
  • Ideais para instruções recorrentes

📎Anexos

  • Tamanho livre
  • Sempre carregados
  • Sem budget — ocupam o que forem
  • Ficam até o fim da sessão
  • Custo relido em todo turno

Exemplo: instruções de 5k tokens (convenções de código da empresa)

Abordagem Tokens (turno 1) Tokens (20 turnos) Vantagem
Colar no prompt +5.000 +100.000 (re-lido) Nenhuma
Como skill 0 (sob demanda) ~5.000 (só quando precisa) 20× mais barato
No CLAUDE.md +5.000 +5.000 (cache) OK se sempre relevante

🎯Regra dos 3 tipos de conteúdo

📚 Skill
Regras que aplicam às vezes (ex: "como converter PDF", "como fazer code review"). Carrega quando aciona.
📘 CLAUDE.md
Regras que aplicam sempre neste projeto (ex: estilo de commit, convenções). Fica no contexto toda sessão.
📎 Anexo
Dados desta tarefa específica (ex: o arquivo a refatorar, a spec a implementar). Descartado ao fim.

💡Pergunta-chave antes de anexar

"Isso é desta tarefa, é deste projeto, ou é instrução que reutilizo?" Respostas diferentes → lugares diferentes. Nunca anexe "por garantia" algo que é skill ou CLAUDE.md.

📋Resumo do Módulo

PDF custa 1.500–3.000 tokens/página — fonte oficial Anthropic
Markdown é 3–6× mais barato que PDF — sem perder conteúdo
pandoc converte em 1 comando — pandoc input.pdf -o output.md
Logs, minified, node_modules, dumps — lista negra de anexos
Recorte antes de colar — ou delegue busca a um Explore agent
Skill > CLAUDE.md > Anexo — escolha a camada certa

Você terminou a Trilha 4! 🎉

Próxima trilha: 5 — 🧪 Exemplos Reais

Casos de uso completos aplicando tudo que você aprendeu até aqui.