Infraestrutura de Recuperação · Série Técnica GEO · Negócio no Mapa
Estratégias de chunking: como o texto é fatiado antes de virar citação
Chunking é a etapa que decide, antes de qualquer relevância ou autoridade, se um trecho do seu conteúdo chega inteiro — ou mutilado — ao modelo. Aqui está como as principais estratégias funcionam e por que “mandar o documento inteiro” não resolve o problema.
Quatro formas de fatiar um documento
Não existe tamanho de chunk universal — a escolha depende da estrutura do documento de origem. As quatro abordagens mais usadas em pipelines de RAG:
Tamanho fixo
Corta a cada N caracteres ou tokens, com uma sobreposição para preservar frases cortadas ao meio. É cega à estrutura — pode partir uma frase, uma tabela ou uma ideia exatamente no meio.
mais simples, menos precisoRecursiva
O padrão mais adotado em frameworks como LangChain. Tenta dividir respeitando uma hierarquia — parágrafos primeiro, depois quebras de linha, depois espaços — até atingir o limite de tamanho.
padrão de mercadoSemântica
Mede a distância vetorial entre frases consecutivas. Quando o significado muda o suficiente, o algoritmo corta ali — cada bloco tende a conter só um tópico coerente.
mais caro computacionalmenteEstrutural
Respeita a arquitetura do próprio documento — tags H1/H2/H3, HTML, JSON. Para sites, é a abordagem mais direta: se o corte segue as seções da página, o conteúdo comercial não se mistura com menu ou rodapé.
ideal para páginas webOverlap: a cola semântica entre blocos
Overlap é a porção de texto repetida entre o fim de um chunk e o início do próximo. Sem ele, uma frase partida na fronteira entre dois blocos perde força de recuperação nos dois lados. Se alguém buscar por uma entidade cujo nome ficou dividido entre o final do Bloco 1 e o início do Bloco 2, nenhum dos dois chunks isoladamente representa bem essa entidade.
A convenção prática mais comum na engenharia de RAG é um overlap de 10% a 20% do tamanho do chunk — para um bloco de 500 tokens, algo entre 50 e 100 tokens de sobreposição. Vale tratar isso como heurística de engenharia consolidada pela prática, não como resultado de um estudo controlado específico — funciona bem, mas o número certo depende do seu conteúdo e do seu banco vetorial.
Por que “mandar o documento inteiro” não substitui o chunking
Com janelas de contexto de centenas de milhares a milhões de tokens, é tentador achar que fatiar texto virou desnecessário. Um estudo de Stanford e UC Berkeley — hoje publicado na Transactions of the Association for Computational Linguistics — mostrou o motivo pelo qual isso é um erro de arquitetura: o efeito conhecido como “Lost in the Middle”.
O experimento reposicionou o documento com a resposta certa em diferentes pontos de um contexto longo, cercado de documentos-distração. O resultado forma uma curva em U: a precisão é mais alta quando a informação relevante está no início ou no fim do contexto, e cai de forma consistente quando ela está no meio — mesmo em modelos explicitamente projetados para contexto longo.
Vale uma ressalva honesta: pesquisas mais recentes, testando modelos de contexto longo de última geração, encontraram esse efeito atenuado ou ausente em algumas tarefas simples de busca factual — sinal de que os labs vêm mitigando o problema, não de que ele deixou de existir estruturalmente. Para conteúdo que compete em pipelines de RAG com chunking explícito (o cenário real da maioria das buscas por IA hoje), a lição prática se mantém: não conte com o modelo para “encontrar” a informação em qualquer lugar do texto.
As outras duas razões para fatiar mesmo com contexto gigante
Além do Lost in the Middle, dois fatores de engenharia pura sustentam o chunking mesmo quando a janela de contexto permite enviar tudo:
Latência. Processar um documento inteiro exige atenção computacional proporcionalmente maior. Para sistemas que precisam responder rápido — busca dinâmica, chat de atendimento — blocos menores e mais precisos reduzem o tempo até o primeiro token de resposta.
Custo. Enviar milhares de tokens redundantes a cada consulta encarece a operação. O chunking cirúrgico garante que só os três ou cinco blocos que de fato respondem à pergunta sejam enviados ao modelo — o resto do documento nunca precisa entrar na requisição.
Como escrever para sobreviver ao corte
- 01 Estruture por H2/H3 como se cada seção fosse lida isolada. É provável que seja — o corte estrutural trata cada seção como unidade própria.
- 02 Repita a entidade em vez de usar pronome. Se “esse sistema” foi citado três parágrafos acima, mas os parágrafos caem em chunks diferentes, o segundo bloco perde o sujeito da frase. Prefira nomear de novo: “[Nome do produto] executa esta automação”.
- 03 Não deixe a resposta principal depender do parágrafo anterior. Cada bloco autônomo deve fazer sentido sozinho, sem precisar do que veio antes para ser entendido.
- 04 Evite misturar dois tópicos no mesmo bloco. Se dois assuntos cabem sob o mesmo H2, considere dividir em H3 separados — reduz o risco de diluição semântica dentro de um único chunk.
Fontes: Liu et al., “Lost in the Middle: How Language Models Use Long Contexts”, Transactions of the Association for Computational Linguistics, 2024 (arXiv:2307.03172); estratégias de chunking conforme documentação de frameworks de RAG de uso corrente (LangChain e equivalentes). O intervalo de overlap de 10–20% é convenção de prática de engenharia, não achado de estudo controlado específico.
Estratégias de chunking para RAG: como estruturar conteúdo para sobreviver ao pipeline de recuperação