Qual a diferença entre RAG e Busca Agêntica no código?
A principal diferença entre RAG (Geração Aumentada de Recuperação) e a Busca Agêntica (Agentic Search) está na forma como o sistema armazena e acessa os arquivos do projeto, refletindo uma escolha direta entre eficiência de tokens e atualização em tempo real.
1. RAG (Geração Aumentada de Recuperação): A Abordagem Baseada em Índice
- Mecanismo: O RAG exige a criação de um índice pré-computado do seu repositório. O código-fonte é fragmentado, convertido em vetores matemáticos (embeddings) e armazenado em um banco de dados vetorial. Durante a consulta, ele busca apenas os blocos mais relevantes por similaridade e os injeta no prompt do modelo.
- Vantagens: É altamente eficiente no consumo de contexto, pois envia apenas os trechos de código estritamente necessários para o modelo, o que mantém o custo da sessão (em termos de tokens) quase insignificante.
- O Grande Problema (Obsolescência Silenciosa): Em equipes médias a grandes, a base de código muda o tempo todo, fazendo com que o índice do RAG fique desatualizado (stale) em minutos ou horas. Se um desenvolvedor alterar uma função e o índice ainda não tiver sido reprocessado, a IA consultará uma versão defasada do código, gerando o que é chamado de falha de "obsolescência silenciosa".
2. Busca Agêntica (Ex: Claude Code): A Abordagem de Varredura ao Vivo
- Mecanismo: A Busca Agêntica dispensa totalmente a indexação prévia, embeddings e bancos vetoriais. Ela simula o fluxo de trabalho de um engenheiro humano caindo em um código desconhecido: ela navega na árvore de diretórios, abre arquivos ativamente, usa utilitários como o grep para pesquisar strings e segue referências de símbolos em tempo real sob demanda.
- Vantagens: O seu código salvo no disco é o índice. O agente sempre acessará a versão mais recente e verdadeira da aplicação, garantindo que as modificações de código tenham custo zero de atualização, pois não há índices para reconstruir.
- O Grande Problema (Estouro de Contexto): Como a IA trabalha de forma síncrona abrindo arquivos e lendo-os em sua totalidade para entender as lógicas, ela consome muito rapidamente os limites da janela de contexto.
Resumo das Estruturas e Falhas (Trade-offs):
- Falhas Comuns: O RAG tende a falhar de forma invisível ao usar informações defasadas, enquanto a Busca Agêntica falha de maneira explícita, provocando lentidão excessiva e alertas de que o limite de contexto do modelo estourou (context overruns).
- O que cada uma exige: O RAG demanda infraestrutura adicional, como servidores vetoriais paralelos e pipelines constantes de atualização de dados. A Busca Agêntica exige que você dê a ela "mapas" eficientes para não se perder, como manter arquivos
CLAUDE.mdorganizados indicando as regras do projeto e integrar servidores LSP (Language Server Protocol) nativos para ajudar nas buscas de símbolos.