Le débat agite la communauté des développeurs travaillant sur les agents intelligents : pour doter un agent d'une capacité de recherche efficace, vaut-il mieux recourir à une simple recherche lexicale (comme la commande Unix grep) ou à une recherche sémantique exploitant des vecteurs d'embeddings ? Un article récent, intitulé « Is grep all you need? Lexical VS Semantic Search for Agents », publié par une entreprise spécialisée dans les bases de données vectorielles, pose crûment la question.
Deux approches fondamentalement différentes
La recherche lexicale repose sur la correspondance exacte des mots. Elle est rapide, légère et transparente : un agent cherchant le mot « panne » dans un ensemble de documents trouvera uniquement les occurrences de ce terme précis. À l'inverse, la recherche sémantique transforme les textes en vecteurs mathématiques (les embeddings). Elle permet de retrouver des passages qui signifient la même chose même s'ils n'emploient pas les mêmes mots. Par exemple, une requête sur « réparation automobile » pourra faire apparaître un document parlant de « garagiste réparateur » ou de « mécanique auto », sans que le mot « réparation » n'y figure.
Le contexte des agents intelligents
La question prend une acuité particulière dans le cadre des agents, ces programmes capables d’effectuer des tâches de manière autonome. Pour fonctionner, un agent doit souvent consulter une base de connaissances, des instructions ou des documents techniques. La méthode de recherche employée conditionne directement la pertinence et la fiabilité des informations qu'il récupère. L'article suggère que le choix entre lexical et sémantique n'est pas une simple question technique, mais engage la conception même de l'agent : quels types de retours d'information lui sont nécessaires ? Quelle tolérance à l'ambiguïté ou à l'absence de réponse exacte ?
Les forces et faiblesses en présence
D'un côté, la recherche lexicale offre une certitude et une explicabilité totales. Si un agent est programmé pour ne traiter que des instructions contenant un mot-clé précis, grep ne se trompera pas. De plus, elle ne nécessite aucune phase d'apprentissage ou de modélisation préalable : un simple index inversé suffit. En revanche, sa rigidité la rend inopérante face aux synonymes, aux tournures de phrases variées ou aux fautes de frappe.
De l'autre côté, la recherche sémantique excelle à capturer le sens et à généraliser. Un agent équipé d'un retriever sémantique peut trouver une réponse pertinente même si elle est formulée très différemment de la question posée. Mais cette puissance a un coût : la création des embeddings nécessite un modèle de langage, souvent coûteux en calcul, et la recherche vectorielle peut être moins performante sur des requêtes très spécifiques. De plus, les embeddings peuvent introduire des biais ou des erreurs de compréhension difficiles à prévoir ou à corriger.
Un choix qui dépend de la tâche
L'article ne tranche pas en faveur d'une méthode unique, mais insiste sur l'importance du contexte d'utilisation. Pour des agents manipulant des termes très précis – comme des identifiants, des codes ou des noms propres – la recherche lexicale peut être parfaitement adaptée. Pour des agents devant comprendre des requêtes en langage naturel ou naviguer dans des corpus volumineux et variés, la recherche sémantique devient presque indispensable. Une solution hybride, combinant les deux approches, est également envisagée : utiliser d'abord une recherche lexicale pour filtrer un sous-ensemble de documents, puis une analyse sémantique pour classer les résultats.
Réactions et perspectives
Publié sur une plateforme d'agrégation technique très suivie, l'article a suscité des commentaires mais pas encore de débat nourri. Le message est clair : alors que les agents intelligents gagnent en popularité, la question de leur moteur de recherche interne mérite une attention renouvelée. Les développeurs sont invités à ne pas choisir par défaut la solution la plus à la mode, mais à évaluer rigoureusement les besoins de leur agent.
L'avenir de la recherche pour agents passera probablement par des systèmes capables de basculer dynamiquement entre les deux modes, ou de les combiner, en fonction de la nature de la requête. Mais pour l'heure, la question « grep is all you need? » reste ouverte.