grep a surpassé la recherche vectorielle dans les tests de mémoire d’agent, et le système de gestion a joué un rôle tout aussi important.
Une étude portant sur 116 questions de LongMemEval a montré que grep était supérieur à la récupération vectorielle, mais la manière dont le système de gestion fournit les résultats influençait autant la précision que le moteur de recherche lui-même. Ce que l’on peut en tirer.
Les systèmes d’extraction améliorée reposent depuis longtemps sur une croyance : l’extraction vectorielle est supérieure à la recherche par mots-clés car elle prend en compte le sens. Une requête pour « documents sur les résultats trimestriels » permet de trouver un « rapport de revenus du T3 », même si les deux phrases ne partagent aucun mot, car l’espace d’embedding les considère comme proches. Cette croyance a entraîné des dépenses considérables en infrastructure, allant de Pinecone et Weaviate à Chroma et Qdrant. Les premières recherches sur l’extraction de passages denses ont montré que cette méthode surpassait le algorithme BM25 spars en matière de réponse à des questions dans des domaines ouverts ; le domaine a adopté ces résultats, et la recherche vectorielle est devenue la méthode par défaut.
Une étude menée en 2026 a organisé une expérience différente. Des agents ont été confrontés à une tâche de récupération de données provenant de LongMemEval, un benchmark dans lequel un agent doit répondre à des questions en parcourant de longues historiques de conversation. Le test a opposé grep, qui effectue une recherche par correspondance stricte de chaînes de caractères, à la récupération vectorielle. Il a été réalisé avec plusieurs plateformes d’exécution d’agents : une plateforme personnalisée nommée Chronos, ainsi que les outils en ligne de commande fournis par les fournisseurs, à savoir Claude Code, Codex et Gemini CLI.
Dans les conditions normales, grep a surpassé la récupération vectorielle en termes de précision, et ce, sur toutes les plateformes testées, et non seulement sur une d’entre elles.
Version concise
- Configuration : 116 questions de LongMemEval, comparaison entre grep et la récupération vectorielle, quatre plateformes d’exécution, données de conversation identiques.
- Résultat principal : avec les résultats affichés directement, grep a battu la récupération vectorielle en précision partout où il a été testé.
Pourquoi grep convient aux questions sur la mémoire
Le mécanisme est facile à expliquer. LongMemEval demande des informations telles que le nom du restaurant préféré d’une personne lors d’une conversation à une date donnée, ou le titre d’un livre recommandé par cette personne. Chaque réponse correspond à une chaîne de caractères spécifique présente dans l’historique des conversations.
La récupération vectorielle incorpore la question, trouve des segments de conversation ayant des embeddings proches et les restitue. Le problème est que la proximité sémantique ne revient pas nécessairement à conserver le fait exact. Un segment traitant de la nourriture en général se trouve proche de « restaurant préféré » dans l’espace des embeddings. Il peut ne jamais mentionner le nom du restaurant, pourtant il obtient un rang élevé sans contenir de réponse réelle.
La recherche avec grep pour « restaurant » renvoie tous les segments contenant ce mot, y compris celui où le restaurant préféré a été mentionné. grep est précis, tandis que la récupération vectorielle est approximative ; pour des recherches nécessitant des faits exacts, cette approximation ne fait qu’ajouter du bruit.
Vector retrieval: high recall on semantically related segments
lower precision on exact-fact queries
noise from semantically similar but fact-absent segments
grep: perfect precision on string matches
lower recall on paraphrased or implicit facts
no noise from semantic neighbors
Les questions du test de référence sont formulées de manière à exiger une récupération exacte, ce qui fait que la distribution d’évaluation favorise la correspondance stricte de chaînes de caractères. Cela ne prouve pas que grep est supérieur à la récupération vectorielle en général. Cela montre plutôt que c’est la distribution des tâches qui détermine quel méthode l’emporte. La question à se poser est de savoir à quoi ressemble réellement le mélange des tâches de récupération dans les déploiements d’agents en production, et quelle méthode l’emporte dans ce contexte.
L’effet harness
La découverte la plus importante n’est pas l’utilisation de grep avec des vecteurs. C’est plutôt le framework utilisé. Avec la même méthode de récupération, les mêmes données et les mêmes questions, la précision varie considérablement en fonction du framework. Les chiffres rapportés montrent l’ampleur de cette différence : un modèle Claude Opus atteint 93,1 % avec Chronos et 76,7 % avec Claude Code, ce qui signifie que le changement de framework entraîne une variation de précision à peu près équivalente à celle causée par le remplacement du moteur de recherche au sein d’un même framework. L’écart le plus important entre grep et les vecteurs a été observé sur Chronos avec Gemini 3,1 Flash-Lite, soit 86,2 % contre 62,9 %.
Un framework remplit quatre fonctions :
- Il appelle l’outil de récupération avec une requête.
- Il reçoit les résultats.
- Il présente ces résultats au modèle.
- Le modèle analyse ces résultats pour répondre.
Pour une méthode de récupération donnée, les étapes un, deux et quatre sont identiques partout. L’étape trois diffère, et la manière dont les résultats sont présentés influence ce que le modèle en fait. Les options de présentation sont les suivantes :
- Format : une liste classée, le meilleur résultat uniquement ou tout combiné.
- Contexte : le fait que chaque résultat inclue sa source, son horodatage et le texte environnant.
- Marcage : le fait que la partie pertinente soit mise en évidence ou que le modèle doive la rechercher à l’intérieur.
- Filtrage : le fait que les résultats peu fiables soient exclus ou que tous soient affichés.
Personne n’a standardisé ces choix, et chaque fournisseur définit sa propre interface en ligne de commande. Le mode de restitution s’est avéré être très important : la restitution des résultats en ligne favorisait grep, tandis que leur transmission sous forme de fichiers, permettant au modèle de les lire séparément, modifiait la comparaison : la récupération vectorielle devançait grep pour environ la moitié des combinaisons de frameworks et de modèles. Une configuration Codex est passée de 93,1 % avec grep en ligne à 55,2 % lorsque les résultats de grep étaient fournis sous forme de fichiers.
Si c’est le cas, les études qui comparent les méthodes de récupération tout en maintenant le framework constant mesurent peut-être la mauvaise variable. Un meilleur outil de récupération utilisé dans un framework moins performant peut être battu par un outil moins performant utilisé dans un framework plus performant.
Intégration de distractions
Un deuxième experiment a commencé avec des extraits de conversation pertinents, en y intégrant progressivement de plus en plus d’éléments historiques de conversation non pertinents, puis a suivi l’évolution de la précision à mesure que le bruit augmentait.
Les deux méthodes perdent en précision à mesure que les éléments perturbateurs augmentent, ce qui est attendu. Cependant, les courbes sont différentes : pour les requêtes basées sur des faits exacts, grep se dégrade de manière plus progressive. Lorsque le passage pertinent contient la chaîne de caractères de la requête, grep la trouve quel que soit le nombre d’éléments perturbateurs qui l’entourent, car ces derniers ne correspondent pas à la chaîne et n’apparaissent jamais dans les résultats.
La récupération vectorielle décline plus rapidement. Les éléments perturbateurs qui ressemblent sémantiquement à la requête apparaissent bien dans les résultats, ce qui fait que la proportion de résultats utiles parmi les premiers résultats diminue à mesure que le bruit augmente, obligeant le modèle à extraire la réponse d’un ensemble plus bruyant.
Accuracy = f(retrieval_precision × harness_quality)
grep retrieval precision: high for exact facts, stable with distractors
vector retrieval precision: moderate, degrades with semantically similar distractors
Pour les agents travaillant avec de grands entrepôts de contexte mixtes, présentant de longues historiques de conversations, plusieurs types de documents et un degré inégal de pertinence, cette résistance aux éléments perturbateurs constitue un véritable avantage pratique pour les tâches exigeant des faits précis.
Que cela signifie pour la littérature sur la récupération d’informations
Les articles qui comparent la récupération dense à celle sparse, les modèles d’incorporation ou les stratégies de réclassement fixent généralement le cadre de travail et varient uniquement le moteur de récupération, en le considérant comme une constante. Les résultats présentés ici montrent qu’il ne s’agit pas d’une constante : il interagit avec la méthode de récupération. Un cadre de travail ajusté pour la récupération vectorielle peut donner de mauvais résultats avec grep, et l’inverse est également vrai.
Il est possible que les méthodes de récupération aient été ajustées en fonction de cadres de travail qui privilégient par hasard les approches vectorielles. Les comparaisons absolues pourraient encore être valables, tandis que les classements relatifs ne le seraient pas.
En pratique, les équipes qui développent des systèmes RAG agents consacrent beaucoup d’efforts à choisir les modèles d’incorporation, les fournisseurs de bases de données vectorielles et les métriques de similarité. Peu d’entre elles consacrent un effort comparable au développement de l’outil qui affiche les résultats de recherche au modèle. Ces résultats indiquent que cet outil mérite au moins autant d’attention en termes d’ingénierie que le moteur de recherche, mais la pratique industrielle n’a pas encore suivi.
Interpréter les résultats avec prudence
Cette branche de recherche ne recevra probablement pas l’attention qu’elle mérite, et ce non pas parce que les résultats sont faibles. Ils sont gênants pour un secteur basé sur la recherche vectorielle, car grep gagne parfois la partie et la conception des outils de visualisation est sous-estimée.
Ils doivent néanmoins être lus avec attention. LongMemEval dispose d’une répartition des tâches spécifique qui favorise la récupération de faits exacts, et le fait que grep y soit supérieur ne signifie pas qu’il gagne partout. La récupération sémantique performe mieux sur des tâches à forte teneur en paraphrases, sur la récupération interlinguistique et pour les requêtes au niveau conceptuel. L’étude a également examiné des preuves de conversations multisesion textuelles littérales, sans inclure de méthodes de récupération hybrides ni de références lexicales plus robustes.
La conclusion n’est pas d’utiliser grep. Il faut adapter la méthode de récupération à la répartition des tâches, et concevoir l’ensemble du système avec autant de soin que le moteur de récupération lui-même. Aucune de ces approches n’est encore une pratique standard, alors qu’elles le devraient toutes deux.
Questions pour votre propre système
Pour les tâches de récupération agente dans votre système en production, quelle fraction nécessite un rappel de faits exacts et quelle fraction a besoin d’une correspondance de concepts sémantiques ? Et quand avez-vous examiné pour la dernière fois la manière dont votre outil présente les résultats, avec le même soin que celui que vous avez apporté au choix de votre modèle d’incorporation ?