01
Por que o corte por tamanho fixo quebra o contexto
Cortar o documento a cada N caracteres ignora tudo que dá sentido ao texto. O caractere na posição 500 pode estar no meio de uma frase, no meio de uma palavra, entre um número e sua unidade, ou separando o rótulo de uma lista do seu item. O resultado é um chunk que começa e termina no vazio: metade de uma ideia grudada na metade de outra. Na hora do retrieval, esse pedaço tem um embedding confuso, porque representa dois assuntos pela metade, e quando é recuperado chega ao modelo como um trecho que ninguém entenderia lendo isolado. O modelo, que só vê o que foi recuperado, responde a partir de um fragmento truncado.
O caso mais traiçoeiro é a separação entre pergunta e resposta, ou entre afirmação e sua condição. Um manual diz "o reembolso é liberado em 5 dias úteis, exceto quando o pagamento foi por boleto, caso em que o prazo é de 10 dias". Um corte por tamanho no lugar errado guarda a primeira metade num chunk e a exceção em outro. O retrieval traz o primeiro, o modelo responde "5 dias úteis" com toda a certeza, e a exceção que invertia a resposta ficou num pedaço que ninguém recuperou. Não é alucinação do modelo, é amputação na indexação.
| Situação | Corte por tamanho fixo | Corte por estrutura |
|---|---|---|
| Fim do chunk | No meio de frase ou palavra | No fim de parágrafo ou seção |
| Definição e sua exceção | Podem cair em chunks diferentes | Ficam juntas na mesma unidade |
| Tabela e cabeçalho | Cabeçalho separado das linhas | Tabela preservada como bloco |
| Embedding do chunk | Mistura dois assuntos pela metade | Representa um assunto coeso |
A lição é que o tamanho não é a unidade certa de corte; o significado é. Um bom chunk termina onde uma ideia termina, não onde um contador de caracteres estoura. Todo o resto do artigo é sobre como cortar seguindo a estrutura do texto em vez de brigar contra ela.