Intelligence artificielle3 septembre 2026· via MarkTechPost

L'outil zg de Qwen unifie la recherche de code pour humains et agents IA

L'outil zg de Qwen unifie la recherche de code pour humains et agents IA

Les assistants de codage et les agents IA gaspillent des cycles en alternant entre ripgrep pour les symboles et des recherches par mots-clés pour les comportements—chaque détour consomme des jetons, des appels d'outils et des minutes. L'équipe de développement de Qwen propose désormais une solution open source : zg (zvec-grep), une couche de recherche locale qui unifie ripgrep, BM25 et la recherche vectorielle derrière une seule interface, conçue pour les humains comme pour les machines.

Un seul index, quatre méthodes de recherche

Après un indexage unique de l'espace de travail, zg propose quatre chemins de requête : une route hybride équilibrant intention et ancrages lexicaux, une recherche exacte classée par BM25 via --fts, une similarité conceptuelle pure avec --vector, et une correspondance littérale ou regex via --rg. Les trois premières méthodes lisent l'index ; --rg ignore l'indexation, pratique pour les dépôts non traités. Les index sont stockés sous .zvec-grep/ et respectent les .gitignore, caches de dépendances et artefacts de compilation ; le réindexage est incrémental, mais le changement de modèle d'embeddings nécessite un --rebuild explicite, car les espaces vectoriels de modèles différents sont incompatibles. Les résultats incluent une étiquette de fraîcheur—fresh ou possibly_stale—permettant à un agent d'agir sur des correspondances "suffisamment bonnes" sans vérification préalable.

Conçu pour les agents, optimisé pour le contexte

zg détecte automatiquement les éditeurs et IDE populaires—Codex, Claude Code, Cursor et OpenCode—et s'intègre à leur serveur MCP local à http://127.0.0.1:7999/mcp. Par défaut, il expose uniquement deux outils pour agents—zvec_grep_search pour les requêtes basées sur l'intention et zvec_grep_rg pour les symboles exacts—tandis que les commandes de cycle de vie de l'index restent accessibles via la CLI. La sortie est concise : regroupement des fichiers correspondants avec leurs lignes, aperçus de code omis sauf demande explicite, et rejet explicite des flags ripgrep modifiant la sortie (comme --json ou --count) pour maintenir un format cohérent.

Embarquements par défaut sur appareil

Le modèle par défaut est local/potion-code-16m-v2, un Model2Vec statique de 256 dimensions et 8 192 tokens, exécuté sur CPU. Les options locales plus lourdes incluent jina-embeddings-v2-base-code, embeddinggemma-300m et des points de terminaison distants Qwen. Comme les modèles statiques ne bénéficient pas de l'accélération GPU, le passage à un modèle local plus lourd représente un compromis délibéré entre latence et qualité de recherche.

Pourquoi cela compte

Des outils comme ripgrep excellent dans la recherche de symboles exacts mais peinent à interpréter l'intention floue, forçant les agents à reconstruire manuellement le contexte. En consolidant la recherche lexicale, probabiliste et sémantique dans une seule couche locale, zg réduit les appels d'outils redondants et le gaspillage de jetons tout en conservant les index et les données sensibles sur l'appareil. Pour les équipes utilisant des workflows assistés par IA, c'est une avancée pragmatique vers une récupération plus rapide et plus prévisible, sans dépendre d'API cloud ou de piles GPU lourdes.


Source : MarkTechPost. Synthèse éditoriale assistée par IA — TechnoExpress.

Lire la source originale sur MarkTechPost →

← Retour à l'accueil