← Blog

RAG: por que recuperar contexto em vez de encher o prompt

A tentação mais comum, quando um modelo de linguagem erra um fato da sua empresa ou do seu livro, é colar o mundo inteiro no prompt. Política comercial, manual, catálogo, atas, o PDF de trezentas páginas. A esperança é simples: se o texto está na janela, a resposta sai correta.

Isso raramente funciona. A janela de contexto é cara, finita e má em achar o parágrafo certo no meio de um volume. O modelo trata o que você colou como mais um ruído eloquente. RAG — geração aumentada por recuperação — inverte a ordem: primeiro busca o trecho que importa, depois pede ao modelo que escreva a partir daquilo.

Desde 2023 este blog trata de notas, leitura e clareza. A pergunta agora tem outro nome, mas é a mesma: como encontrar o que importa sem fingir que já se sabe tudo.

Por que encher o prompt falha

Um internato editorial ilustra o problema. Você não entrega ao revisor o depósito inteiro e diz “encontre a contradição”. Entrega o original, a versão marcada e a norma. O volume extra não aumenta o juízo; aumenta a chance de ele se perder.

Com um LLM acontece o mesmo, com três agravantes.

A janela não é uma biblioteca. Tokens custam dinheiro e tempo. Um prompt de cem mil tokens parece generoso até a fatura e a latência chegarem juntas. O que “cabe” não é o mesmo que “é lido com atenção”.

O meio se apaga. Há evidência consistente de que instruções e fatos no centro de um contexto longo são pior aproveitados do que os que estão no começo ou no fim. Encher o prompt empurra o trecho decisivo para essa zona morta.

O modelo continua a inventar. Colocar um manual no prompt não obriga o modelo a usá-lo. Ele pode citar uma cláusula que não existe, misturar duas políticas ou responder com o que “lembra” do treinamento, que pode estar desatualizado. Contexto colado não é evidência usada.

Há um quarto problema, mais chato de admitir: o texto que você cola envelhece. A tabela de preços de março continua no prompt de julho. Sem um índice que se atualiza, você não tem um sistema. Tem um recorte.

flowchart TD
  P[Pergunta] --> S{Como dar contexto?}
  S -->|Encher o prompt| N[Janela cheia]
  N --> E[Ruído e custo]
  S -->|Recuperar| R[Trechos úteis]
  R --> G[Gerar resposta]
  G --> F[Resposta fundada]
  classDef ouro fill:#FBF5E4,stroke:#C9A227,color:#0B1F18,stroke-width:1.4px
  classDef verde fill:#F3FAF7,stroke:#1E7A57,color:#0B1F18,stroke-width:1.4px
  classDef fim fill:#14513B,stroke:#0F3328,color:#FBFAF6,stroke-width:1.4px
  class P,S ouro
  class N,R,G verde
  class E,F fim

Recuperar, depois gerar

RAG é um desenho, não um produto. A sequência é curta.

  1. A pergunta vira uma consulta — às vezes reescrita, às vezes não.
  2. Um recuperador busca trechos em um índice: busca léxica, busca vetorial, ou as duas.
  3. Os trechos entram no prompt com uma instrução dura: responda com base nisto; se não houver base, diga que não sabe.
  4. O modelo gera. A resposta pode citar a fonte.

O ganho não é “o modelo ficou mais inteligente”. É que o conhecimento que muda — preço, cláusula, errata, sumário de um livro ainda no prelo — vive fora dos pesos. Atualizar o índice é barato perto de treinar de novo.

Isso também muda o tipo de erro. Sem recuperação, o modelo alucina com confiança. Com recuperação ruim, ele alucina com citação. Os dois são graves. Só o segundo é diagnosticável: você pode abrir o trecho e ver se a busca trouxe a página errada.

Fundamentar não é decorar

Fundamentar (grounding) é amarrar a frase a um trecho recuperado. Não é obrigar o modelo a copiar. É exigir que uma afirmação factual tenha apoio visível.

Na prática editorial isso já existe. Uma nota de rodapé não prova que o autor leu bem, mas torna a leitura verificável. RAG bem feito faz o mesmo: a resposta aponta o parágrafo. O leitor — ou um avaliador automático — pode discordar da interpretação, não precisa adivinhar de onde veio o número.

Três regras simples ajudam mais do que um prompt barroco:

  • se o trecho não contém a resposta, o modelo recusa;
  • cada fato operacional (preço, prazo, nome de capítulo) precisa de trecho;
  • trechos e resposta viajam juntos no log, não só a frase final.

Sem a terceira regra, você não consegue investigar um erro na semana seguinte.

Onde o RAG quebra

O marketing do RAG promete o fim da alucinação. A engenharia encontra outras falhas, às vezes piores porque vêm disfarçadas de citação.

Trecho errado. A pergunta “qual o prazo de reembolso do combo?” recupera o prazo do livro avulso. Os textos são parecidos. A similaridade semântica não distingue política. O modelo, obediente, responde o prazo errado com confiança e fonte.

Índice velho. O PDF foi atualizado no site e não no índice. A busca é perfeita sobre uma versão morta. RAG não adivinha que o mundo mudou; ele recupera o que você indexou. Sem data de ingestão, sem hash do arquivo, sem reindexação, o sistema mente com boa fé.

Corte ruim. O parágrafo decisivo foi partido no meio. A condição ficou no trecho anterior, a exceção no seguinte. O recuperador devolve metade da norma. O modelo completa a outra metade com imaginação.

O modelo ignora o contexto. Às vezes o trecho certo chega e o modelo prefere o que “sabe”. Instruções fracas, perguntas ambíguas e trechos contraditórios aumentam essa deserção. RAG não substitui um prompt que diga, com clareza, qual evidência manda.

Há ainda o caso em que a pergunta não deveria ir ao índice. “Escreva um parágrafo no tom da casa” não se resolve com busca. “Qual a tiragem do mês passado?” talvez se resolva melhor com uma consulta a um banco, não com um embedding. Recuperação é uma ferramenta. Não é a arquitetura inteira.

Recuperação e geração são dois problemas

Quem avalia só a resposta final mistura duas falhas. Se o trecho certo nunca entrou no prompt, treinar o modelo a “ser mais cuidadoso” não ajuda. Se o trecho certo entrou e a resposta ainda erra, o gerador é o suspeito.

Separe as contas:

  • o recuperador acertou o documento?
  • acertou o trecho dentro do documento?
  • o gerador usou o trecho sem inventar?

Um conjunto pequeno de perguntas com resposta conhecida — e com o parágrafo de ouro marcado — vale mais do que uma demo. Meça acerto em k, não só “a frase ficou bonita”. Bonito e fundado não coincidem sempre.

O que RAG não substitui

Não substitui permissão. Um índice com contratos de todos os autores, aberto a qualquer sessão, é um vazamento com busca semântica. Filtre por o que o usuário pode ver antes de recuperar.

Não substitui juízo. Recuperar a resenha certa não decide se o original deve ser publicado. O modelo pode resumir pareceres; o editor ainda pesa voz, público e risco.

Não substitui um sistema de registro. Se a fonte da verdade é uma planilha que muda toda terça, o índice precisa saber disso. RAG sobre um dump esquecido é um arquivo morto com API.

Por onde começar hoje

  1. Escolha um corpus pequeno e estável: um manual, um contrato-tipo, os sumários de uma coleção.
  2. Defina vinte perguntas reais, com a página da resposta.
  3. Indexe, recupere, leia os trechos antes de ligar o gerador.
  4. Só então gere, com a regra de recusar sem evidência.
  5. Anote os erros: busca, corte, índice velho ou modelo surdo.

O primeiro sistema útil quase nunca é o mais sofisticado. É o que torna visível o trecho que o modelo viu. Sem isso, você não tem RAG. Tem um prompt longo com nome novo.

Próximo artigo: LangChain não é mágica: orquestração, LCEL e o custo de esconder o prompt.

#RAG#LLM#Recuperação#Vetores

Thiago Nogueira

Autor de A Caixa Mágica e das séries Programming One e AI One na Editora Pensar Bem.

Capa de AI One

AI One · Volume 1

Do logaritmo ao gradiente, sem fingir que entendeu.