RAG falha no encanamento, não no modelo
Quando o assistente erra, o problema costuma estar no caminho que os dados fazem até ele. Dois casos reais de um projeto meu.
Como um chat consegue responder com precisão sobre um documento que o modelo nunca viu no treinamento?
Foi essa pergunta que resolvi na prática construindo o assistente do meu currículo online: um chat que responde, em tempo real, perguntas sobre a minha trajetória.
A técnica por trás tem nome: RAG, geração aumentada por recuperação. Em vez de depender só do que aprendeu no treinamento, o modelo busca a informação certa antes de responder.
Simples de explicar. Sofisticado de fazer.
Como o fluxo funciona
- A sua pergunta vira um vetor numérico, o embedding: um ponto num mapa de significado.
- Esse ponto é comparado com milhares de outros num banco vetorial, em busca dos trechos mais próximos em significado.
- Só depois dessa busca o modelo recebe a pergunta junto com esses trechos e escreve uma resposta presa ao que está nos documentos, não à imaginação.
Três passos na teoria. Na prática, é onde a coisa fica interessante.
Problema 1: o roteamento quebrado
Perguntas sobre a experiência mais recente quebravam o roteamento por seção do currículo. O motivo: a comparação de palavras-chave era feita por pedaço de texto, não por palavra inteira. Sem achar a seção certa, o sistema caía na busca por semelhança pura e podia responder com uma experiência antiga no lugar da atual.
A causa raiz nem era o modelo. Era a lógica de roteamento e um cache do índice de embeddings que nunca se renovava quando o currículo mudava.
Problema 2: a memória da conversa
Alguém fazia uma pergunta e emendava outra que dependia da primeira ("e onde fica a matriz dessa empresa?"). O sistema não entendia que "essa empresa" se referia ao que tinha sido dito antes.
A solução foi reescrever a pergunta com o próprio modelo antes da busca, trazendo a referência da mensagem anterior, sem mudar a resposta final.
O que fica
Essa é a parte que mais me chama atenção em AI Engineering: RAG raramente falha no modelo. Falha no encanamento em volta dele.
RAG não é mágica. É arquitetura bem pensada.
Publicado originalmente no LinkedIn, onde a conversa continua nos comentários.
