top of page
bg_treinamento_Prancheta 1.png

Desvendando o Impacto da Organização de Chunks nos Sistemas RAG

  • 2 de jan. de 2025
  • 7 min de leitura

Os Desafios e Soluções na Organização de Chunks em Sistemas RAG

Nos sistemas RAG, a qualidade da resposta depende diretamente de como os dados são preparados antes de chegar ao modelo. Como mostra a imagem, o fluxo passa por cinco etapas principais: fonte de dados, chunking, embedding, recuperação e geração da resposta pelo LLM.


Na prática, o desafio começa no chunking. Documentos, PDFs, bases de conhecimento, manuais, relatórios e e-mails precisam ser divididos em blocos menores, mas essa divisão não pode ser aleatória. Chunks muito grandes dificultam a recuperação precisa. Chunks muito pequenos podem quebrar o contexto e deixar informações importantes separadas demais.


Depois, esses chunks são convertidos em embeddings, ou seja, representações numéricas que permitem a busca semântica. Quando a organização é bem feita, o sistema recupera os trechos mais relevantes e entrega ao modelo um contexto claro para gerar respostas mais completas, precisas e fundamentadas.



Infográfico sobre chunking em IA: fonte de dados, embeddings, recuperação e geração, com boas práticas e benefícios.

Quando a organização é ruim, o efeito aparece rapidamente: respostas incompletas, redundantes, inconsistentes, com mais ruído e maior custo operacional.


Por isso, boas práticas como definir o tamanho ideal dos chunks nos sistemas RAG, usar sobreposição entre trechos, respeitar a estrutura do documento, enriquecer os dados com metadados e monitorar continuamente os resultados são essenciais para sistemas RAG mais confiáveis, escaláveis e eficientes.


Os 3 principais desafios na organização de chunks nos sistemas RAG


1. Falta de correlação entre chunks

Grande parte dos sistemas RAG trata cada chunk como uma unidade independente. O problema é que, em muitos casos, a informação relevante não está concentrada em um único trecho.

Um chunk pode apresentar o conceito principal, outro pode trazer uma evidência complementar, e um terceiro pode conter uma exceção importante. Quando esses blocos são analisados isoladamente, o sistema pode perder relações essenciais entre eles.

Como resultado, a recuperação tende a selecionar trechos aparentemente relevantes de forma individual, mas nem sempre escolhe a melhor combinação de informações para responder à consulta.


Em aplicações corporativas, esse problema se torna ainda mais crítico. Documentos técnicos, contratos, políticas internas, históricos de atendimento e bases de conhecimento geralmente dependem de contexto distribuído. A resposta correta pode exigir a combinação de múltiplos fragmentos, e não apenas a escolha dos trechos com maior similaridade semântica.


2. Utilidade não monotônica dos chunks

Outro desafio importante é a falsa ideia de que adicionar mais chunks sempre melhora a resposta.


Em sistemas RAG, mais contexto nem sempre significa mais qualidade. A inclusão excessiva de blocos pode introduzir ruído, informações redundantes ou trechos pouco relacionados à pergunta. Isso pode confundir o modelo, aumentar o custo de processamento e reduzir a precisão da geração final.


Esse comportamento é chamado de utilidade não monotônica: a contribuição de cada chunk não cresce de forma linear. Um bloco adicional pode melhorar a resposta, mas também pode prejudicá-la se trouxer informações irrelevantes ou conflitantes.


Por isso, a seleção de chunks precisa considerar não apenas a relevância individual de cada trecho, mas também o impacto da combinação entre eles.


3. Falta de adaptação ao tipo de consulta

Nem toda pergunta exige o mesmo tipo de recuperação.


Uma consulta factual pode precisar de poucos chunks objetivos. Já uma pergunta analítica pode exigir múltiplos trechos complementares, comparação entre documentos e maior profundidade contextual.


Muitos sistemas RAG ainda aplicam a mesma estratégia para todos os tipos de consulta: recuperam um número fixo de chunks e os enviam ao modelo. Essa abordagem simplifica a arquitetura, mas limita a qualidade das respostas.


Consultas diferentes exigem configurações diferentes. O sistema precisa adaptar critérios como quantidade de chunks, profundidade da busca, diversidade das fontes, nível de reranking e orçamento disponível para processamento.


Sem essa adaptação, o desempenho tende a ser inconsistente.


CORAG: uma abordagem para otimizar o uso de chunks

Para enfrentar esses desafios, pesquisadores propuseram o CORAG, um sistema de otimização voltado para melhorar a seleção e organização de chunks em pipelines RAG.


A proposta central do CORAG é tratar a escolha de chunks como um problema de otimização, considerando correlações entre trechos, restrições de custo e características específicas de cada consulta.


Em vez de simplesmente recuperar os blocos mais similares à pergunta, o sistema busca identificar quais combinações de chunks oferecem maior utilidade para a geração da resposta.


Como o CORAG funciona


Busca sequencial com Monte Carlo Tree Search

Um dos principais componentes do CORAG é o uso de Monte Carlo Tree Search (MCTS), uma técnica de busca sequencial utilizada para explorar diferentes caminhos de decisão.


No contexto de RAG, o MCTS permite avaliar diferentes combinações de chunks e estimar quais delas tendem a gerar melhores respostas. Isso ajuda o sistema a considerar relações entre trechos, em vez de avaliar cada chunk de maneira isolada.


Essa abordagem é especialmente útil quando a resposta depende de informações distribuídas em vários documentos ou quando há múltiplas combinações possíveis de contexto.


Restrições de orçamento integradas à otimização

Outro diferencial do CORAG está na forma como ele lida com restrições de custo.


Em muitos sistemas tradicionais, o orçamento funciona apenas como um limite final: o sistema recupera chunks até atingir o máximo permitido de tokens, chamadas ou custo computacional.


O CORAG adota uma lógica diferente. As restrições de orçamento fazem parte do próprio processo de otimização. Isso significa que o sistema busca maximizar a qualidade da resposta dentro dos limites disponíveis, priorizando os chunks com maior contribuição potencial.


Na prática, a solução deixa de operar com a ideia de “usar o máximo de contexto possível” e passa a trabalhar com uma lógica mais eficiente: usar o contexto certo.


Configuração personalizada para cada consulta

O CORAG também inclui um agente de configuração capaz de prever a melhor estratégia de recuperação com base nas características da consulta.


Isso permite ajustar dinamicamente a seleção de chunks conforme o tipo de pergunta, o nível de complexidade, o orçamento disponível e a necessidade de combinar múltiplas fontes.


Com essa adaptação, o sistema se torna mais flexível e tende a responder melhor tanto a perguntas simples quanto a consultas complexas.


Resultados observados

O CORAG pode melhorar o desempenho em até 30% em comparação com modelos base, especialmente em cenários que envolvem contextos longos e consultas mais complexas.


Esse ganho reforça uma ideia importante: em sistemas RAG, a qualidade da resposta não depende apenas do modelo de linguagem utilizado. A arquitetura de recuperação, a organização dos chunks e a estratégia de composição do contexto têm papel decisivo no resultado final.


Por que isso importa para aplicações corporativas

Em ambientes empresariais, sistemas RAG costumam lidar com documentos extensos, bases heterogêneas e informações distribuídas entre diferentes fontes.


Contratos, normas internas, tickets, manuais, bases técnicas e registros operacionais raramente apresentam a resposta completa em um único trecho. Por isso, a organização inteligente dos chunks se torna um fator crítico para confiabilidade, eficiência e escalabilidade.


Abordagens como o CORAG apontam para uma evolução importante dos sistemas RAG: sair da recuperação baseada apenas em similaridade e avançar para mecanismos capazes de otimizar contexto, custo e qualidade de resposta de forma integrada.


Diagrama de fluxo com três seções coloridas. Descreve recuperação de dados, inferência de configuração online e busca otimizada de chunks.
A imagem ilustra uma arquitetura de otimização para sistemas RAG baseada em três etapas. Primeiro, a base de dados é fragmentada em chunks, convertida em embeddings e consultada em um índice vetorial para recuperar trechos candidatos. Em seguida, um agente de configuração analisa a consulta, os chunks disponíveis e as restrições de orçamento, como tokens, custo e latência, para definir os melhores parâmetros de busca. Por fim, o sistema utiliza Monte Carlo Tree Search para explorar combinações possíveis de chunks e selecionar o conjunto mais útil para compor o contexto final enviado ao modelo de linguagem.

Dicas adicionais para projetos RAG

Ao projetar ou evoluir um sistema RAG, alguns cuidados podem aumentar significativamente a qualidade dos resultados:


  1. Não dependa apenas de similaridade vetorial

    Embeddings são importantes, mas nem sempre recuperam o melhor conjunto de informações. Combine busca vetorial com reranking, filtros por metadados e, quando fizer sentido, busca híbrida com palavras-chave.


  2. Avalie diferentes tamanhos de chunks

    Chunks muito pequenos podem perder contexto. Chunks muito grandes podem introduzir ruído. O ideal é testar tamanhos diferentes conforme o tipo de documento e o tipo de consulta.


  3. Considere a relação entre chunks

    Em muitos casos, a resposta correta depende da combinação de trechos complementares. Estratégias que analisam chunks isoladamente podem perder conexões importantes.


  4. Monitore custo, latência e uso de tokens

    Um bom sistema RAG não deve apenas responder bem. Ele precisa responder bem dentro de limites aceitáveis de custo e desempenho. Para tal uma dica é ter uma estratégia de FinOps. Vc pode usar o OpenLit.


  5. Crie avaliações contínuas

    Monte um conjunto de perguntas reais, respostas esperadas e critérios de qualidade. Isso permite medir se mudanças no chunking, no retriever ou no reranker realmente melhoram o sistema. Para tal uma dica é usar o RAGAS.


  6. Adapte a recuperação ao tipo de consulta

    Perguntas simples podem exigir poucos chunks. Consultas analíticas, comparativas ou regulatórias podem precisar de mais contexto, múltiplas fontes e maior profundidade.


  7. Inclua observabilidade no pipeline

    Registre quais chunks foram recuperados, quais foram descartados, quais entraram no contexto final e como isso afetou a resposta. Essa rastreabilidade é essencial para depuração e governança.


Para mais detalhes técnicos sobre o sistema, você pode consultar os seguintes artigos:



O Futuro dos Sistemas RAG

O CORAG representa um avanço relevante na evolução dos sistemas RAG, principalmente porque muda a forma como o contexto é tratado dentro do pipeline de recuperação.


Em vez de considerar os chunks apenas como trechos independentes ordenados por similaridade, a abordagem passa a avaliar combinações de chunks, restrições de orçamento e características específicas da consulta. Esse movimento torna a recuperação mais estratégica e aproxima os sistemas RAG de uma lógica mais robusta de otimização.


Na prática, isso aponta para um futuro em que sistemas RAG serão cada vez mais:

  • adaptativos, ajustando a estratégia de recuperação conforme o tipo de pergunta;

  • econômicos, usando melhor o orçamento de tokens, custo e latência;

  • contextuais, considerando relações entre diferentes trechos;

  • mais confiáveis, reduzindo ruído, redundância e perda de informação relevante;

  • mais preparados para ambientes corporativos, onde documentos extensos, dados distribuídos e requisitos de governança fazem parte da realidade.


Para empresas que dependem de bases de conhecimento, documentos técnicos, contratos, normas internas ou registros operacionais, a organização inteligente dos chunks deixa de ser apenas uma decisão técnica. Ela passa a impactar diretamente a qualidade das respostas, o custo de operação e a confiança no uso de IA generativa.


Para mais insights sobre soluções e inovações no campo da inteligência artificial, também recomendo o artigo:



Conclusão

A organização de chunks é uma das etapas mais importantes e muitas vezes subestimadas em sistemas RAG.


Tratar chunks como blocos independentes, assumir que mais contexto sempre melhora a resposta e aplicar a mesma estratégia para qualquer consulta são limitações que comprometem a eficiência desses sistemas.


O CORAG propõe uma alternativa mais sofisticada, baseada em otimização, correlação entre chunks, restrições de orçamento e adaptação ao tipo de consulta.


À medida que sistemas RAG passam a ser usados em cenários corporativos mais complexos, esse tipo de abordagem se torna essencial para entregar respostas mais precisas, econômicas e confiáveis.




Comentários


bottom of page