← Todos os Posts

A busca em agentes é um problema de ambiente de execução

From the guides: Claude Code & Codex CLI

Um artigo publicado no arXiv em 14 de maio testou grep e recuperação vetorial no Chronos, Claude Code, Codex e Gemini CLI com 116 perguntas do LongMemEval. No primeiro experimento do artigo, o grep inline superou a recuperação vetorial inline em todos os pares de estrutura-modelo, mas a descoberta maior foi mais estranha: o ambiente de execução mudou o resultado quase tanto quanto o mecanismo de recuperação.1

A qualidade da busca em agentes não está apenas em “grep versus vetor”. Ela está no ambiente de execução inteiro: prompt, superfície de ferramentas, ergonomia do shell, formatação dos resultados, pressão de contexto, caminho de entrega, comportamento de novas tentativas e capacidade do modelo de fechar o ciclo de ferramentas.

TL;DR

Sen, Kasturi, Lumer, Gulati e Subbiah compararam busca lexical e busca vetorial em uma estrutura personalizada chamada Chronos e em três estruturas CLI nativas de provedor: Claude Code, Codex e Gemini CLI.1 O estudo usou um subconjunto de 116 perguntas do LongMemEval-S e testou tanto resultados de ferramentas inline quanto resultados baseados em arquivos.1 O grep inline teve desempenho melhor que a recuperação vetorial inline em todos os pares de estrutura-modelo no Experimento 1, incluindo Codex CLI com GPT-5.4, com 93,1% para grep inline contra 75,9% para vetor inline.1 O artigo não prova que grep supera busca vetorial em geral; os autores limitam explicitamente a conclusão ao cenário de perguntas e respostas conversacionais com memória longa, no qual as respostas costumam depender de trechos literais.1 Para quem constrói agentes, a conclusão útil é mais precisa: método de recuperação, ambiente de execução do agente e entrega dos resultados formam um único sistema. Avalie tudo junto.

Principais conclusões

  • Para quem constrói agentes: trate grep como uma linha de base séria. Os resultados do artigo fazem “vetor por padrão” parecer preguiçoso para perguntas e respostas com memória longa sobre histórico de conversa, especialmente quando nomes literais, datas e fatos do usuário importam.1
  • Para usuários de Codex e Claude Code: não trate uma CLI de provedor como um invólucro neutro em torno de uma primitiva de busca. O artigo relata grandes variações no nível da estrutura usando os mesmos dados conversacionais subjacentes.1
  • Para equipes de RAG: informe o caminho de entrega, não só o mecanismo de recuperação. Resultados inline e resultados baseados em arquivos produziram comportamentos diferentes porque a entrega por arquivo acrescenta outra tarefa de uso de ferramenta.1
  • Para trabalhos de migração: preserve os comportamentos do ambiente de execução que tornam a busca confiável. Uma migração de Claude Code para Codex deve testar recuperação, formato da transcrição e ciclos de verificação antes de declarar paridade.
  • Para sistemas com muitas citações: as citações finais não contam toda a história da evidência. Um artigo separado sobre Agentic GraphRAG argumenta que a proveniência pode depender de contexto de grafo visitado, mas não citado, e não apenas dos nós citados.4

O que o artigo sobre grep realmente testou?

O artigo faz uma pergunta prática: quando um agente LLM precisa responder perguntas sobre um longo histórico de conversas, quanto a recuperação depende do método de busca e quanto depende do sistema de agentes em volta dele?1

Os autores compararam duas famílias de recuperação:

Família de recuperação O que ela favorece Modo de falha
Grep / busca lexical nomes, datas, frases e strings distintivas exatas perde paráfrases ou termos que o agente nunca adivinha
Busca vetorial / semântica paráfrases, conceitos relacionados e menções indiretas aceita distrações próximas do tema e vizinhos ruidosos

Eles testaram esses mecanismos de recuperação em duas classes de ambiente de execução:

Classe de ambiente de execução Sistemas no artigo Por que importa
Estrutura personalizada Chronos O desenvolvedor controla prompts, ferramentas, construção de contexto, formatação de resultados e critérios de parada
Estruturas CLI nativas de provedor Claude Code, Codex CLI, Gemini CLI O modelo trabalha por meio de ferramentas em estilo shell, formatação de transcrição específica do provedor, sandboxing e ergonomia de CLI

Eles também variaram a forma como os resultados chegavam ao modelo. A entrega inline insere os achados da busca diretamente na conversa. A entrega programática grava os resultados em arquivos e então exige que o modelo localize, abra e integre esses resultados.1 Isso parece um detalhe de implementação. Os dados dizem que faz parte da tarefa.

Por que grep venceu aqui?

A tarefa medida favorece recuperação literal. O LongMemEval faz perguntas sobre conversas longas de várias sessões. Muitas respostas dependem de nomes, expressões de tempo, fatos pessoais ou declarações anteriores exatas. Nesse cenário, uma ferramenta lexical de alta precisão pode superar um mecanismo semântico porque a resposta costuma estar atrás de uma string distintiva.1

A Tabela 1 do artigo mostra o padrão com clareza:

Par estrutura-modelo Grep inline Vetor inline
Chronos + Claude Opus 4.6 93,1% 83,6%
Claude Code + Claude Opus 4.6 76,7% 75,0%
Chronos + GPT-5.4 89,7% 81,9%
Codex CLI + GPT-5.4 93,1% 75,9%
Gemini CLI + Gemini 3.1 Pro 81,9% 75,0%

Essa tabela não diz “apague seu banco de dados vetorial”. O próprio artigo alerta contra essa leitura. Os autores afirmam que a conclusão está ligada a perguntas e respostas conversacionais com memória longa e que recuperação densa ou híbrida pode se comportar de outro modo em síntese científica, documentos visuais ou semântica de código.1

A melhor leitura: busca exata merece lugar de primeira classe em qualquer ambiente de execução de agentes sério. Se o seu agente consegue buscar no sistema de arquivos, ler logs, inspecionar transcrições anteriores ou recuperar um fato literal do usuário, a busca lexical talvez seja a ferramenta mais barata e com melhor sinal da caixa.

O ambiente de execução mudou o resultado

A linha mais útil do artigo não é “grep venceu”. É que trocar a estrutura pode deslocar o teto por uma escala parecida com a troca do mecanismo de recuperação.1

Um exemplo: Claude Opus 4.6 com grep inline chegou a 93,1% no Chronos e a 76,7% no Claude Code.1 Mesma família de modelo, mesmo subconjunto de avaliação, ambiente de execução diferente. Outro exemplo: Codex CLI com GPT-5.4 chegou a 93,1% com grep inline, mas caiu para 55,2% quando os resultados do grep passaram pelo caminho programático de entrega por arquivo; o vetor programático ficou em 67,2%.1

Isso não é apenas um resultado de recuperação. É um resultado de ambiente de execução.

O modelo teve que fazer mais do que encontrar evidências. Ele precisou entender o contrato da ferramenta, escolher termos de busca, interpretar stdout, decidir quando tentar de novo, ler arquivos quando os resultados não estavam inline e integrar evidências na resposta. Cada uma dessas etapas pertence ao ambiente de execução do agente. Se qualquer etapa fica frágil, um mecanismo de recuperação forte ainda pode produzir uma resposta fraca.

Por que a entrega por arquivo é um teste de uso de ferramentas

A entrega por arquivo tem um apelo óbvio. Ela pode reduzir a pressão de contexto mantendo grandes resultados de busca fora da transcrição imediata até que o modelo peça para lê-los. Isso deveria ajudar quando despejos vetoriais inline lotam a janela.

O artigo mostra a troca. Vetor programático superou grep programático em várias linhas, o que sustenta o argumento da pressão de contexto.1 Mas a linha Codex/GPT-5.4 mostra o outro lado: a entrega por arquivo pode transformar recuperação barata em um fluxo de trabalho de várias etapas. O agente precisa encontrar o artefato, abri-lo, extrair trechos úteis e tentar de novo quando a primeira leitura não basta.1

Isso significa que a entrega programática troca largura de banda de contexto por competência no ciclo de ferramentas. A troca só compensa quando o ambiente de execução fecha o ciclo de forma confiável.

Isso importa no trabalho real. Um agente local não falha na busca apenas porque o índice estava errado. Ele falha porque stdout foi dividido mal, porque o caminho do arquivo de resultados era fácil de perder, porque um comando retornou ruído demais, porque o prompt enquadrou mal a tarefa ou porque o modelo parou uma leitura cedo demais.

O que isso significa para migração para Codex

Minha própria migração de Claude Code para Codex tem se concentrado em mover contratos operacionais, não em copiar uma árvore de arquivos. Este artigo reforça essa escolha.

Se a qualidade da busca depende do ambiente de execução, então a qualidade da migração depende de mais do que “o Codex tem uma ferramenta de busca?” Uma migração precisa preservar os comportamentos que tornam a busca útil:

  • o agente sabe quando usar busca exata antes de busca semântica;
  • a saída dos comandos permanece pequena o bastante para ser lida;
  • os caminhos de evidência chegam à resposta final;
  • artefatos baseados em arquivos são fáceis de localizar e inspecionar;
  • buscas fracassadas geram consultas melhores, em vez de respostas prematuras;
  • escrita pública usa verificação de fontes, não recuperação plausível.

Essa lista é intencionalmente pública e genérica. Ela não revela hooks privados, prompts privados nem detalhes internos do fluxo de trabalho local. O ponto é o contrato operacional: faça o agente provar o que encontrou, não apenas soar confiante sobre a busca que realizou.

O artigo também explica por que uma migração pode parecer pior mesmo quando todos os recursos óbvios existem. Claude Code e Codex podem expor ferramentas de shell. Ambos podem ler arquivos. Ambos podem buscar. Mas se a formatação da transcrição, o tratamento de resultados em arquivos, o comportamento de parada ou os padrões de nova tentativa diferem, a mesma primitiva de busca pode produzir um trabalho diferente.

Os outros três sinais apontam na mesma direção

Três outros artigos de 14 de maio encontrados na mesma varredura apontam para o mesmo padrão mais amplo: a qualidade dos agentes está saindo de chamadas isoladas de modelo e indo para a arquitetura do ambiente de execução.

APWA trata trabalho altamente paralelo de agentes como um problema de execução distribuída. Os autores decompõem fluxos de trabalho em subproblemas que não interferem entre si e que recursos independentes podem processar sem comunicação cruzada; depois avaliam a escala em tarefas maiores nas quais sistemas anteriores falham.2 Isso é uma afirmação sobre ambiente de execução, não um truque de prompt.

MeMo trata memória como um componente separado do modelo. Ele mantém o LLM executivo fixo, codifica conhecimento novo em um modelo de memória dedicado e relata resistência a ruído de recuperação, além de compatibilidade plug-and-play com LLMs de código aberto e de código fechado.3 Isso é uma afirmação sobre arquitetura de memória, não sobre contexto mais longo.

O artigo sobre proveniência em Agentic GraphRAG argumenta que citações finais podem ser necessárias, mas insuficientes. Respostas precisas podem depender de contexto de travessia não citado, estrutura do grafo e entidades visitadas, mas não citadas.4 Isso é uma afirmação sobre proveniência, não sobre formato de citação.

Coloque esses pontos ao lado do artigo sobre grep e surge um padrão:

Problema Enquadramento fraco Enquadramento mais forte
Busca escolher grep ou vetor testar recuperação mais ambiente de execução mais caminho de entrega
Trabalho paralelo iniciar mais agentes decompor em unidades de execução que não interferem entre si
Memória enfiar mais contexto projetar uma camada de memória com comportamento de atualização e recuperação
Citações citar fontes finais preservar a proveniência ao longo da trajetória de recuperação

O tema comum: o invólucro é o produto. O ambiente de execução decide se a capacidade do modelo vira trabalho útil.

O que eu mudaria em uma pilha de agentes

Comece com uma linha de base sem glamour. Dê ao agente busca exata sobre os arquivos, logs, transcrições ou notas que importam. Meça isso antes de adicionar recuperação semântica.

Depois, teste quatro combinações, não duas:

Mecanismo de recuperação Caminho de entrega
grep inline
grep baseado em arquivo
vetor inline
vetor baseado em arquivo

Registre a transcrição de ferramentas de cada execução. A resposta final não basta. Você precisa saber se o agente buscou os termos certos, abriu o arquivo certo, percebeu o trecho certo, tentou de novo depois de uma falha e citou a evidência que de fato sustentava a resposta.

Adicione busca vetorial quando o domínio precisar recuperar paráfrases, fazer síntese conceitual ou lidar com evidência não literal. Mantenha busca exata quando o domínio contiver nomes, IDs, nomes de arquivo, datas, linhas de log, saída de comandos, preferências do usuário ou instruções anteriores. Use roteamento híbrido quando a tarefa misturar os dois.

Para escrita pública, torne o caminho de recuperação mais rigoroso. Um artigo citado deve carregar URLs de fontes, alinhamento entre afirmação e fonte e um registro do que permanece não verificado. Se o sistema usou um grafo, uma camada de memória ou um caminho intermediário de recuperação, as citações finais não devem ser o único rastreamento. O artigo de proveniência defende esse ponto para Agentic GraphRAG, mas a lição de produto é mais ampla: a evidência deve explicar o caminho, não apenas o destino.4

A pergunta melhor para a avaliação

A pergunta fraca de avaliação é:

Qual mecanismo de recuperação é melhor?

A pergunta mais forte é:

Neste ambiente de execução, com este modelo, este corpus, este caminho de entrega e esta política de novas tentativas, qual comportamento de busca produz respostas verificadas?

Essa pergunta demora mais para responder. Ela também diz algo que você consegue usar.

O trabalho com agentes vive tentando as pessoas a fazer afirmações por componente: modelo melhor, mecanismo de recuperação melhor, prompt melhor, memória melhor, paralelismo melhor. A realidade operacional empurra na direção oposta. O componente só importa depois que o ambiente de execução o transforma em um caminho confiável da tarefa para a evidência e para a ação.

Essa é a parte que vale migrar.


FAQ

Este artigo prova que grep supera busca vetorial?

Não. Os autores limitam explicitamente o resultado ao cenário estudado de perguntas e respostas conversacionais com memória longa. Eles afirmam que recuperação densa e roteamento híbrido podem se comportar de forma diferente em domínios nos quais a evidência raramente é literal, incluindo síntese científica, documentos com muitos elementos visuais e semântica de código.1

Por que grep teve desempenho tão bom no experimento?

As perguntas do LongMemEval costumam depender de trechos literais de conversas passadas: nomes, datas, fatos pessoais e declarações exatas. Grep recompensa padrões de alta precisão quando o agente consegue adivinhar um termo distintivo.1

Por que a estrutura importou?

O ambiente de execução controla o formato do prompt, as descrições das ferramentas, a formatação da transcrição, o comportamento do shell, a construção de contexto, a entrega dos resultados e os critérios de parada. O artigo relata grandes variações de precisão entre Chronos, Claude Code, Codex CLI e Gemini CLI, mesmo quando os dados conversacionais subjacentes permanecem os mesmos.1

O que usuários de Codex devem fazer com isso?

Mantenha busca exata como linha de base, inspecione transcrições de ferramentas e teste entrega inline versus entrega baseada em arquivos antes de assumir que um método de recuperação é melhor. A linha do Codex no artigo é útil, mas ainda é um cenário de avaliação, um tipo de corpus e uma visão incompleta de toda a escala do fornecedor.1

Como isso se relaciona com citações de RAG?

O artigo sobre proveniência em Agentic GraphRAG argumenta que citações finais podem sustentar uma resposta e ainda assim omitir contexto de recuperação que influenciou essa resposta. Para sistemas de agentes, a qualidade das citações deve incluir proveniência ao longo do caminho, não apenas a lista final de fontes citadas.4

O que uma migração de Claude Code para Codex deve preservar?

Preserve o comportamento operacional: quando o agente busca, como limita a saída, como abre evidências, como tenta de novo, como registra caminhos de fontes e como recusa afirmações sem suporte. Não presuma paridade só porque os dois ambientes expõem um shell e um comando de busca.


Referências


  1. Sahil Sen, Akhil Kasturi, Elias Lumer, Anmol Gulati, Vamse Kumar Subbiah, “Is Grep All You Need? How Agent Harnesses Reshape Agentic Search,” arXiv:2605.15184v1, submetido em 14 de maio de 2026. Fonte primária para a configuração do LongMemEval-S, a comparação entre Chronos / Claude Code / Codex CLI / Gemini CLI, a distinção entre entrega inline e programática, os valores de precisão da Tabela 1, a discussão do Experimento 2 sobre escala de contexto e a limitação declarada pelo artigo de que a conclusão não prova que grep supera busca vetorial em geral. 

  2. Evan Rose, Tushin Mallick, Matthew D. Laws, Cristina Nita-Rotaru, Alina Oprea, “APWA: A Distributed Architecture for Parallelizable Agentic Workflows,” arXiv:2605.15132v1, submetido em 14 de maio de 2026. Fonte para a decomposição do APWA de fluxos de trabalho paralelizáveis em subproblemas que não interferem entre si, recursos independentes sem comunicação cruzada e a alegação de avaliação de que o APWA escala em tarefas maiores nas quais sistemas anteriores falham. 

  3. Ryan Wei Heng Quek, Sanghyuk Lee, Alfred Wei Lun Leong, Arun Verma, Alok Prakash, Nancy F. Chen, Bryan Kian Hsiang Low, Daniela Rus, Armando Solar-Lezama, “MeMo: Memory as a Model,” arXiv:2605.15156v1, submetido em 14 de maio de 2026. Fonte para a arquitetura dedicada de modelo de memória, o LLM executivo fixo, a resistência a ruído de recuperação, a prevenção de esquecimento catastrófico no modelo executivo, a compatibilidade com LLMs de código fechado e as avaliações BrowseComp-Plus / NarrativeQA / MuSiQue. 

  4. Riccardo Terrenzi, Maximilian von Zastrow, Serkan Ayvaz, “Why Neighborhoods Matter: Traversal Context and Provenance in Agentic GraphRAG,” arXiv:2605.15109v1, submetido em 14 de maio de 2026. Fonte para a afirmação de que a fidelidade de citações em Agentic GraphRAG deve ser tratada como um problema de proveniência no nível da trajetória, envolvendo travessia de grafo, estrutura, evidência citada e entidades visitadas, mas não citadas. 

Artigos relacionados

O Repo Não Deveria Ter Voto na Própria Confiança

Dois CVEs de bypass do diálogo de confiança do Claude Code em 37 dias revelam uma falha de ordem de carregamento. Um inv…

11 min de leitura

Recompense a ferramenta antes da resposta

Agentes de AI falham quando respostas alegam trabalho de ferramenta que nunca aconteceu. Quatro modos de falha e a regra…

12 min de leitura

O Ralph Loop: Como Executo Agentes de IA Autônomos Durante a Noite

Construí um sistema de agentes autônomos com stop hooks, orçamentos de spawn e memória em sistema de arquivos. Aqui estã…

7 min de leitura