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.
- A pergunta vira uma consulta — às vezes reescrita, às vezes não.
- Um recuperador busca trechos em um índice: busca léxica, busca vetorial, ou as duas.
- Os trechos entram no prompt com uma instrução dura: responda com base nisto; se não houver base, diga que não sabe.
- 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
- Escolha um corpus pequeno e estável: um manual, um contrato-tipo, os sumários de uma coleção.
- Defina vinte perguntas reais, com a página da resposta.
- Indexe, recupere, leia os trechos antes de ligar o gerador.
- Só então gere, com a regra de recusar sem evidência.
- 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.