RAG sobre codebase para agentes de código não é jogar todos os arquivos em embeddings. O trabalho real é decidir qual pista muda a próxima edição: busca exata, símbolo, dependência, histórico, teste ou documento externo. Sem essa escolha, o agente gasta tokens e ainda edita com confiança falsa.
Em 2025, a Cursor mediu 12,5% mais acerto médio quando o agente tinha busca semântica além de grep (Cursor, "Improving agent with semantic search", 2025). O dado é forte, mas a conclusão não é "use vetor para tudo". A conclusão prática é: agentes precisam de uma camada de recuperação que escolha a ferramenta certa para a pergunta certa.
Definição operacional: RAG sobre codebase é o fluxo que recupera trechos, símbolos, histórico e evidências de teste antes de o agente editar. Ele só funciona bem quando cada resultado tem motivo, escopo e validade claros.
Resumo prático
- Busca semântica ajuda, mas grep continua melhor para nomes, flags e erros exatos.
- Símbolos, referências e histórico reduzem chute arquitetural em bases grandes.
- MCP deve expor recuperação com escopo, log e revisão.
- O PR precisa mostrar qual contexto foi usado e que teste fechou a mudança.
Por que RAG sobre codebase virou prioridade para agentes?
Em 2025, a DORA registrou 90% de adoção de IA entre profissionais de software e mediana de duas horas diárias de uso (Google, "How are developers using AI? Inside our 2025 DORA report", 2025). RAG sobre codebase virou prioridade porque o gargalo mudou de acesso à IA para contexto verificável.
O agente que edita backend, fila, API ou pipeline precisa entender invariantes locais. Um modelo pode saber TypeScript, mas não sabe por padrão que seu serviço usa outbox, que um evento é idempotente ou que uma migração exige feature flag. Esse conhecimento mora no código, nos testes, no histórico e nos documentos internos.
O erro é tratar a janela de contexto como depósito. Quanto mais arquivos entram sem motivo, mais difícil fica auditar por que o patch foi feito. Um fluxo melhor recupera evidências pequenas, registra origem e deixa o PR explicar o caminho.
Esse tema continua a linha de context engineering para agentes de código e de orçamento de contexto para Claude Code e Codex. Aqui o foco é a camada de busca que alimenta o agente antes da edição.
Cápsula citável: RAG sobre codebase é uma camada de seleção, não um despejo de arquivos. Com 90% de adoção de IA em software no relatório DORA de 2025, o valor está em recuperar evidência curta, rastreável e suficiente para orientar o próximo patch.
Quando grep é melhor que busca semântica?
Em 2025, a própria Cursor afirmou que seu agente usa bastante grep junto com busca semântica e que a combinação traz os melhores resultados (Cursor, "Improving agent with semantic search", 2025). Grep vence quando a pergunta tem identificador, erro, rota, flag ou nome exato.
Busca lexical é barata para confirmar presença. Se o CI falhou em SessionExpiredError, procure esse nome. Se a issue cita uma variável de ambiente, procure a variável. Se o patch toca autenticação, procure o middleware exato antes de pedir ao agente para inferir arquitetura.
Busca semântica entra quando a pergunta descreve intenção. "Onde renovamos sessão?", "qual camada aplica rate limit?" e "que padrão usamos para retries?" podem não bater com o nome real. Nesse caso, embeddings ajudam a encontrar trechos conceitualmente próximos.
| Pergunta do agente | Primeira busca | Prova mínima |
|---|---|---|
| Erro, função, rota ou flag nomeada | Grep ou busca exata | Arquivo e linha onde aparece. |
| Conceito sem nome local | Busca semântica | Trecho pequeno com função no fluxo. |
| API pública ou tipo exportado | Busca de símbolo | Definição e referências principais. |
| Regressão de comportamento | Teste e histórico | Caso que falha antes do patch. |
Cápsula citável: Grep não ficou obsoleto em agentes de código. A Cursor mediu ganho com busca semântica, mas também declarou que o agente usa grep e semântica juntos; o contrato bom escolhe exatidão para nomes e semântica para intenção.
Onde símbolos, grafo e histórico entram?
Em 2026, o GitHub descreveu que code search permite busca por symbol: baseada em Tree-sitter, sem configuração extra de build (GitHub Docs, "Understanding GitHub Code Search syntax", 2026). Símbolos entram quando o agente precisa saber definição, uso e impacto.
Embeddings podem aproximar significado, mas não substituem navegação precisa. Se o agente vai alterar calculateInvoiceTotal, ele precisa saber quem chama, que testes cobrem, que contrato público existe e se outro pacote depende disso. Para esse tipo de pergunta, símbolos e referências valem mais que similaridade textual.
O protocolo SCIP se define como um protocolo independente de linguagem para indexar código e alimentar navegação como go to definition, find references e find implementations (SCIP, "Code Intelligence Protocol", 2026). Essa família de índice é útil porque aproxima o agente do que um engenheiro faria no IDE.
Histórico fecha a lacuna. Um arquivo pode parecer estranho porque preserva compatibilidade com cliente antigo, incidente anterior ou migração incompleta. Quando o agente não consulta histórico, ele tende a "limpar" justamente o detalhe que mantinha produção estável.
Cápsula citável: Símbolos, grafo e histórico reduzem chute em RAG sobre codebase. GitHub Code Search expõe busca por símbolo, e SCIP padroniza índices para definições e referências; essas pistas mostram impacto real antes de uma edição agentic.
Como expor recuperação por MCP sem virar permissão invisível?
Em 2025, a especificação MCP definiu o protocolo como forma de conectar aplicações LLM a fontes externas e ferramentas (Model Context Protocol, "Specification 2025-11-25", 2025). Para RAG de codebase, MCP é útil quando expõe busca, arquivo, referência e histórico com escopo claro.
O risco é transformar recuperação em permissão ampla. Um servidor MCP que lê qualquer repositório, branch, ticket e segredo cria uma superfície que o revisor não enxerga. A allowlist precisa ficar no mesmo nível de seriedade que shell, rede e credenciais.
Sourcegraph descreve seu MCP como uma camada para busca, navegação, histórico, diffs e inteligência de código entre repositórios (Sourcegraph, "MCP Server", 2026). Esse é o tipo de capacidade que ajuda agentes, desde que cada chamada deixe rastro: ferramenta, consulta, origem, trecho retornado e motivo de uso.
Em loops longos, eu uso o RemoteCode como ferramenta do autor para fazer Claude Code e Codex irem mais longe com menos desperdício de contexto quando a tarefa precisa alternar entre busca, subagentes e verificação sem carregar histórico bruto a cada rodada.
Esse ponto se conecta diretamente a MCP com allowlist para agentes de código. RAG por MCP deve começar read-only, registrar cada consulta e bloquear expansão de ferramenta por padrão.
Cápsula citável: MCP para RAG de codebase deve expor recuperação com escopo e log. A especificação MCP padroniza conexão com ferramentas externas; em código, isso exige allowlist, origem auditável e revisão para qualquer ampliação de permissão.
Como medir se o contexto recuperado ajudou o PR?
Em 2026, o GitHub relatou que Copilot code review passou de 60 milhões de revisões e respondeu por mais de uma em cada cinco revisões no GitHub (GitHub Blog, "60 million Copilot code reviews and counting", 2026). Medir contexto virou parte da revisão.
O PR deve mostrar qual evidência entrou no agente. Não precisa despejar transcript. Precisa listar buscas relevantes, arquivos abertos, símbolo consultado, teste rodado e decisão tomada. Se uma evidência não mudou o patch, ela não pertence ao corpo do PR.
O mesmo texto do GitHub afirma que a arquitetura agentic de review, com recuperação de contexto e exploração do repositório, trouxe aumento inicial de 8,1% em feedback positivo. Isso sugere uma métrica simples para times: contexto bom aumenta achados úteis e reduz comentário ruidoso.
Para PRs gerados por agente, combine três sinais: retenção do patch depois da revisão, quantidade de idas e voltas por falta de contexto e falhas de CI causadas por mudança fora do escopo. Se o RAG não melhora esses sinais, ele pode estar só encarecendo a conversa.
Cápsula citável: RAG sobre codebase precisa ser medido no PR. GitHub relatou mais de 60 milhões de revisões com Copilot e ganho inicial de 8,1% em feedback positivo após arquitetura agentic com recuperação de contexto; o mesmo princípio vale para patches gerados por agentes.
Qual arquitetura mínima implementar nesta semana?
Em 2026, a GitLab relatou que 43% dos respondentes não conseguem distinguir com confiança código gerado por IA de código humano na própria codebase (GitLab, "AI Accountability Report", 2026). A arquitetura mínima precisa registrar origem, intenção e prova.
Comece com quatro camadas. A primeira é instrução versionada em AGENTS.md, CLAUDE.md ou equivalente. A documentação do Codex diz que Codex lê AGENTS.md antes de trabalhar e monta uma cadeia de instruções por escopo (OpenAI, "Custom instructions with AGENTS.md", 2026).
A segunda camada é busca local. Combine grep, busca de símbolo e abertura de trechos pequenos. A terceira é busca semântica ou MCP para perguntas conceituais e contexto externo. A quarta é evidência: teste, lint, typecheck, diff revisado e fonte do contexto.
Experiência prática: quando testei esse padrão em tarefas de backend, o ganho veio de limitar a primeira resposta do agente. Em vez de pedir "leia o repo", o fluxo pedia uma hipótese, duas fontes de contexto e um comando de verificação.
Subagentes entram quando a busca pode ser paralela. A documentação do Codex cita exploração de codebase como caso adequado para subagentes, e a documentação do Claude Code descreve subagentes para fluxos especializados e melhor gerenciamento de contexto (OpenAI, "Subagents", 2026; Anthropic, "Create custom subagents", 2026).
Cápsula citável: A arquitetura mínima de RAG para agentes tem instrução versionada, busca local, recuperação semântica ou MCP e evidência de PR. GitLab mostra que origem de código de IA ainda é difícil de rastrear; por isso, cada contexto usado precisa deixar rastro.
Perguntas frequentes sobre RAG sobre codebase
Busca semântica substitui grep em agentes de código?
Não. Em 2025, a Cursor mediu 12,5% mais acerto médio com busca semântica, mas também afirmou que grep e semântica juntos dão os melhores resultados (Cursor, "Improving agent with semantic search", 2025). Use grep para nomes exatos e semântica para intenção.
Preciso de MCP para fazer RAG sobre codebase?
Não sempre. Em 2025, a especificação MCP definiu integração com ferramentas e fontes externas, mas busca local pode resolver repositórios menores (Model Context Protocol, 2025). Use MCP quando o contexto vive fora do workspace ou exige índice compartilhado.
Como evitar que o agente receba contexto demais?
Meça o que entrou. Em 2025, a DORA registrou mediana de duas horas diárias de uso de IA por profissionais de software (Google, DORA 2025). Quanto mais frequente o uso, mais importante fica limitar arquivo, trecho, motivo e validade do contexto.
O revisor deve confiar no RAG do agente?
Não sem prova. Em 2025, Stack Overflow mostrou que 46% dos desenvolvedores desconfiam da precisão de ferramentas de IA, contra 33% que confiam (Stack Overflow Developer Survey, 2025). O PR deve expor evidência, comando e risco residual.
Fechamento
RAG sobre codebase ajuda quando vira disciplina de engenharia. O agente não precisa "entender tudo". Ele precisa achar a menor evidência que muda a próxima decisão e provar que essa evidência foi suficiente.
Comece pequeno: grep para nomes, símbolo para impacto, semântica para intenção, MCP para contexto externo e teste para fechar a mudança. Quando o PR mostra essas pistas, o revisor deixa de auditar a imaginação do agente e passa a revisar uma cadeia de evidências.
Fontes consultadas
- Cursor, "Improving agent with semantic search", recuperado em 2026-07-17, https://cursor.com/blog/semsearch
- GitHub Blog, "60 million Copilot code reviews and counting", recuperado em 2026-07-17, https://github.blog/ai-and-ml/github-copilot/60-million-copilot-code-reviews-and-counting/
- GitLab, "GitLab Research Reveals Organizations Are Generating AI Code Faster Than They Can Control It", recuperado em 2026-07-17, https://about.gitlab.com/press/releases/2026-06-23-gitlab-research-reveals-organizations-are-generating-ai-code-faster-than-they-can-control-it/
- Stack Overflow, "2025 Developer Survey: AI", recuperado em 2026-07-17, https://survey.stackoverflow.co/2025/ai
- Google, "How are developers using AI? Inside our 2025 DORA report", recuperado em 2026-07-17, https://blog.google/innovation-and-ai/technology/developers-tools/dora-report-2025/
- OpenAI, "Custom instructions with AGENTS.md", recuperado em 2026-07-17, https://developers.openai.com/codex/agent-configuration/agents-md
- OpenAI, "Best practices", recuperado em 2026-07-17, https://developers.openai.com/codex/learn/best-practices
- OpenAI, "Subagents", recuperado em 2026-07-17, https://developers.openai.com/codex/subagents
- Anthropic, "Create custom subagents", recuperado em 2026-07-17, https://docs.anthropic.com/en/docs/claude-code/sub-agents
- Model Context Protocol, "Specification 2025-11-25", recuperado em 2026-07-17, https://modelcontextprotocol.io/specification/2025-11-25
- Sourcegraph, "MCP Server", recuperado em 2026-07-17, https://sourcegraph.com/mcp
- SCIP, "Code Intelligence Protocol", recuperado em 2026-07-17, https://github.com/scip-code/scip