À mesure que les systèmes d’IA d’entreprise évoluent pour gérer des flux de travail complexes, les praticiens sont confrontés au défi d’acheminer les sous-tâches vers les bons outils et compétences. Les agents peuvent disposer de centaines d’outils et de compétences et ne plus savoir lequel utiliser pour chaque étape d’un flux de travail.
Pour relever ce défi, les chercheurs d’Alibaba ont développé SkillWeaver, un framework qui crée un graphique d’exécution pour une tâche donnée et choisit les bonnes compétences pour chacun des nœuds. Ils introduisent également la décomposition basée sur les compétences (SAD), une nouvelle technique qui utilise une boucle de rétroaction pour permettre à l’agent de récupérer et de vérifier de manière itérative les outils candidats pertinents. Cette approche compositionnelle et ce mécanisme de boucle de rétroaction distingue SkillWeaver des autres frameworks de routage d’outils qui choisissent les outils de manière unique.
SkillWeaver concerne les applications d’IA du monde réel dans lesquelles les agents orchestrent de manière autonome des écosystèmes multi-outils, tels que le Model Context Protocol (MCP), pour exécuter des opérations commerciales en plusieurs étapes telles que le téléchargement d’ensembles de données, la transformation d’informations et la création de rapports visuels.
En pratique, les expériences des chercheurs avec SkillWeaver montrent que la mise en œuvre de cette approche de récupération et d’acheminement augmente considérablement la précision tout en réduisant la consommation de jetons de plus de 99 % par rapport à l’exposition naïve des agents à une bibliothèque d’outils entière.
Pour les praticiens qui créent des agents d’IA, le principal point à retenir est que la granularité de la décomposition des tâches constitue le plus gros goulot d’étranglement pour une récupération précise des outils.
Le défi du routage des compétences
Les compétences sont un modèle clé dans les architectures d’agents LLM modernes. Une compétence est une spécification d’outil modulaire et réutilisable qui utilise une documentation structurée en langage naturel.
À mesure que les agents d’entreprise s’intègrent à des écosystèmes d’outils massifs, acheminer avec précision les requêtes des utilisateurs vers les compétences appropriées devient une tâche difficile. Exposer une bibliothèque entière à un LLM pour trouver le bon outil est très inefficace, dépasse rapidement les limites du contexte et consomme des centaines de milliers de jetons.
La plupart des frameworks d’utilisation d’outils actuels tentent de résoudre ce problème via la récupération d’API, la mise en correspondance de documentation ou des structures hiérarchiques qui traitent le routage strictement comme une sélection de compétence unique ou un problème par étape.
Cependant, ce paradigme à compétence unique est insuffisant pour les environnements d’entreprise, car les requêtes du monde réel sont intrinsèquement compositionnelles. Une demande commerciale standard telle que « Télécharger l’ensemble de données, le transformer et créer des rapports visuels » ne peut pas être satisfaite par un seul outil. Cela nécessite de décomposer l’invite et de séquencer un client API, un processeur de données et un outil de visualisation en un plan d’exécution cohérent en plusieurs étapes.
Comment fonctionnent SkillWeaver et SAD
Pour résoudre ce problème, les chercheurs définissent le problème de la gestion de tâches complexes qui nécessitent de multiples compétences sous le nom de « routage des compétences compositionnelles ». Étant donné une invite utilisateur complexe et une vaste bibliothèque d’outils, un agent doit simultanément comprendre comment diviser la demande en une séquence de sous-tâches atomiques, comment mapper chaque sous-tâche à la meilleure compétence disponible et comment composer ces compétences dans un plan exécutable.
SkillWeaver orchestre ce processus à travers trois étapes distinctes : décomposer, récupérer et composer. Dans la première étape, un LLM agit comme un décomposeur de tâches, décomposant la requête complexe de l’utilisateur en une séquence de sous-tâches qui nécessitent chacune une compétence. Une fois les sous-tâches clairement définies, le système utilise un modèle d’intégration pour comparer chaque sous-tâche à la bibliothèque de compétences afin d’établir une liste restreinte des meilleurs outils candidats pour chaque étape.
Lors de la dernière étape, un planificateur évalue les candidats récupérés en fonction de leur capacité à travailler ensemble. Il vérifie la compatibilité entre les compétences pour garantir que les résultats d’un outil s’intègrent naturellement dans les entrées du suivant. Il crée ensuite un plan d’exécution final sous la forme d’un graphique acyclique dirigé (DAG) qui cartographie les dépendances afin que les tâches indépendantes puissent potentiellement s’exécuter en parallèle.
Par exemple, supposons qu’un utilisateur demande à un agent IA de « Télécharger l’ensemble de données, de le transformer et de créer des rapports visuels ». Lors de l’étape de décomposition, le décomposeur LLM divise cela en trois sous-tâches distinctes : télécharger l’ensemble de données, transformer les données et créer les rapports.
Lors de la phase de récupération, le système recherche dans la bibliothèque et trouve des candidats tels que « api-client » ou « http-fetch » pour la première tâche, « csv-parser » ou « etl-pipeline » pour la deuxième tâche, et ainsi de suite. Enfin, l’étape de composition évalue ces options, sélectionne la combinaison spécifique de « client api », « csv-parser » et « chart-gen » qui sont les plus compatibles, et les connecte ensemble dans un flux de travail final prêt à être exécuté.
L’un des principaux défis de ce pipeline est que les LLM produisent souvent des descriptions d’étapes génériques qui ne correspondent pas au vocabulaire technique spécifique des compétences réellement disponibles dans la bibliothèque. Pour résoudre ce problème, SkillWeaver introduit la décomposition itérative basée sur les compétences (SAD), une nouvelle boucle de rétroaction. SAD fonctionne en demandant au LLM de rédiger un plan initial, en effectuant une recherche préliminaire pour trouver des compétences vaguement correspondantes, puis en réinjectant ces compétences récupérées dans le LLM sous forme d’indices. Cela permet au LLM de réécrire sa décomposition afin que la granularité et le vocabulaire s’alignent parfaitement avec les outils réels qui existent.
SkillWeaver en action
Pour évaluer les performances de SkillWeaver dans des scénarios d’entreprise réalistes, les chercheurs ont créé un benchmark personnalisé appelé CompSkillBench. Il se compose de 300 requêtes en plusieurs étapes de différents niveaux de difficulté. Pour refléter les environnements du monde réel, ils ont utilisé une bibliothèque de 2 209 compétences du monde réel provenant de l’écosystème MCP public, couvrant 24 catégories fonctionnelles telles que l’infrastructure cloud, la finance et les bases de données.
Pour le moteur principal, les chercheurs ont principalement utilisé un modèle léger de 7 milliards de paramètres (Qwen2.5-7B-Instruct) pour la décomposition des tâches, associé à un outil de recherche sémantique standard (MiniLM avec un index FAISS) pour trouver les outils. SkillWeaver a été évalué par rapport à trois configurations principales : une méthode «LLM-Direct» par force brute dans laquelle ils ont inséré tous les noms d’outils dans l’invite d’un grand modèle, une décomposition basée sur LLM vanille sans SAD et une boucle d’agent de style ReAct.
Les expériences indiquent que la décomposition des tâches constitue le principal goulot d’étranglement. Le comportement standard du LLM est insuffisant lorsqu’il s’agit de grandes bibliothèques d’outils, mais la boucle de rétroaction SAD fait considérablement bouger les choses. Dans la configuration vanille, le modèle 7B n’a atteint une précision de décomposition (c’est-à-dire prédire le nombre correct d’étapes) que 51,0 % du temps. En activant la boucle de rétroaction SAD, la précision a grimpé à 67,7 % (avec le modèle Qwen-Max plus grand, la précision a atteint 92 %). Sur les tâches « difficiles » nécessitant quatre à cinq compétences distinctes, SAD a amélioré la précision de 50 %.
Une découverte fascinante est que les modèles plus grands peuvent en réalité être moins performants lorsqu’ils ne sont pas guidés. Lorsqu’il a été testé dans la configuration Vanilla, un modèle plus grand de 14 milliards de paramètres a vu sa précision chuter en dessous de celle du modèle 7B, car il avait tendance à sur-décomposer les tâches en étapes microscopiques et inutiles. Une fois le SAD introduit, les outils récupérés ont ancré le modèle à la réalité et augmenté sa précision. Cela suggère qu’aligner un agent sur le vocabulaire d’outils spécifiques a souvent plus d’impact que de payer pour un LLM plus volumineux et plus coûteux.
Un autre point important à retenir concerne les économies symboliques. La référence LLM-Direct, qui utilisait le très grand modèle Qwen-Max, a montré que l’introduction de tous les outils dans l’invite d’un grand modèle échoue. Malgré des capacités de répartition des tâches presque parfaites, le modèle massif n’a récupéré la bonne catégorie d’outils que 21,1 % du temps lorsqu’il était inondé d’options d’outils. L’approche ciblée de récupération et d’acheminement de SkillWeaver a largement surpassé cette précision tout en réduisant la consommation de la fenêtre contextuelle d’environ 884 000 jetons à environ 1 160 jetons par requête, soit une réduction de 99,9 %. Pour les praticiens, cela se traduit directement par des coûts d’API considérablement réduits et des temps de réponse plus rapides.
Enfin, la ligne de base traditionnelle de ReAct a complètement échoué, atteignant une précision de décomposition de 0 %. Sa boucle réduit naturellement les plans à plusieurs étapes en actions isolées plutôt que de tracer explicitement une séquence cohérente et multi-outils.
Considérations pour les développeurs
Bien que les chercheurs n’aient pas encore publié le code source de SkillWeaver, leurs travaux reposent sur des outils disponibles dans le commerce qui peuvent facilement être reproduits.
La décomposition basée sur les compétences (SAD), qui est l’innovation clé au cœur du cadre, est une boucle intelligente d’ingénierie et de récupération d’invites. Les auteurs ont partagé les modèles d’invite dans leur article, et les développeurs peuvent les implémenter eux-mêmes assez facilement à l’aide de bibliothèques d’orchestration standard telles que LangChain, LlamaIndex ou même des scripts Python bruts.
En ce qui concerne le composant de récupération, les auteurs ont construit le framework de base en utilisant all-MiniLM-L6-v2, un modèle d’intégration open source. Ils ont constaté que l’échange avec un encodeur standard légèrement plus puissant (BGE-base-en-v1.5) augmentait immédiatement la précision sans aucun réglage précis. Bien qu’un bi-encodeur prêt à l’emploi soit excellent pour placer un outil pertinent parmi les 10 meilleurs candidats dans près de 70 % du temps, il a du mal à classer systématiquement l’outil parfait exactement au premier rang, n’y parvenant que dans environ 37 % du temps. Pour combler cet écart, les équipes devront probablement mettre en œuvre un encodeur croisé secondaire ou un reclassement basé sur LLM pour réorganiser ces 10 meilleurs candidats.
Une exigence de préparation initiale consiste à vectoriser la bibliothèque d’outils et à créer un index FAISS à l’avance. En pratique, il s’agit d’un obstacle négligeable. L’intégration et l’indexation des 2 209 compétences dans le benchmark n’ont pris que 15 secondes. Une fois construits, la récupération des outils à partir de l’index ajoute moins de 15 millisecondes de latence par requête. Pour les environnements d’entreprise, la synchronisation de l’index de l’outil est un travail d’arrière-plan trivial.
Une limitation actuelle de SkillWeaver est le manque de récupération d’erreur. Alors que SkillWeaver a réussi à cartographier un DAG compatible pour l’exécution, l’étude pilote des auteurs a révélé les défis des chaînes d’outils à plusieurs étapes. Par exemple, si un appel API échoue à la deuxième étape, toute la chaîne est interrompue. La principale contribution de cet article se limite à la phase de routage et de planification. Pour un véritable déploiement de production, les praticiens doivent créer leurs propres mécanismes de récupération d’erreur, de secours et de nouvelle tentative au-dessus de l’étape de composition pour gérer les délais d’attente d’API du monde réel ou les sorties mal formées.
Suscríbete y recibe las historias más importantes del día.
Al suscribirte aceptas nuestros términos y condiciones y política de privacidad.















































































