RAG vs. Context Stuffing: Por que a recuperação seletiva é mais eficiente e confiável do que despej…

Janelas de contexto grandes aumentaram drasticamente a quantidade de informações que os modelos de linguagem modernos podem processar em um único prompt. Com modelos capazes de lidar com centenas de milhares — ou até milhões — de tokens, é fácil supor que o Retrieval-Augmented Generation (RAG) não é mais necessário. Se você pode encaixar uma base de código inteira ou biblioteca de documentação na janela de contexto, por que construir um pipeline de recuperação (retrieval) afinal? A distinção chave é que uma janela de contexto define o quanto o modelo pode ver, enquanto o RAG determina o que o modelo deve ver. Uma janela grande aumenta a capacidade, mas não melhora a relevância. O RAG filtra e seleciona as informações mais importantes antes que cheguem ao modelo, melhorando a relação sinal-ruído, a eficiência e a confiabilidade. As duas abordagens resolvem problemas diferentes e não são substitutas uma da outra. Neste artigo, comparamos ambas as estratégias diretamente. Usando a API da OpenAI, avaliamos o Retrieval-Augmented Generation contra o 'context stuffing' por força bruta no mesmo corpus de documentação. Medimos o uso de tokens, latência e custo — e demonstramos como enterrar informações críticas dentro de prompts grandes pode afetar o desempenho do modelo. Os resultados destacam por que grandes janelas de contexto complementam o RAG em vez de substituí-lo. Instalando as dependências Copiar Código Copiado Usar um navegador diferente import os import time import textwrap import numpy as np import tiktoken from openai import OpenAI from getpass import getpass os.environ["OPENAI_API_KEY"] = getpass('Inserir Chave da API OpenAI: ') client = OpenAI() Usamos text-embedding-3-small como modelo de embedding para converter documentos e consultas em representações vetoriais para uma recuperação semântica eficiente. Para geração e raciocínio, usamos gpt-4o, com a contabilidade de tokens tratada por sua codificação tiktoken correspondente para medir com precisão o tamanho do contexto e o custo. Copiar Código Copiado Usar um navegador diferente EMBED_MODEL = "text-embedding-3-small" CHAT_MODEL = "gpt-4o" ENC = tiktoken.encoding_for_model("gpt-4o") Criando o corpus do documento Este corpus serve como fonte de recuperação para o nosso benchmark. Na configuração RAG, embeddings são gerados para cada documento e chunks relevantes são recuperados com base na similaridade semântica. Na configuração de 'context-stuffing', o corpus inteiro é injetado no prompt. Como os documentos contêm cláusulas numéricas específicas (por exemplo, limites de tempo, tetos de taxas, janelas de reembolso), eles são adequados para testar a precisão da recuperação, a densidade do sinal e o problema do “Lost in the Middle"

Fonte: MarkTechPost

Publicado em 2026-02-24

Notícias relacionadas

Continue explorando