Wassette: L'outil Open Source de Microsoft pour Agents IA Wasm-MCP

Infoworld

Dans une démarche significative prête à redéfinir la manière dont les agents d’intelligence artificielle interagissent avec les outils et les données externes, Microsoft a dévoilé Wassette, un nouveau projet open source conçu pour combler le fossé entre les composants WebAssembly (Wasm) et le Protocole de Contexte de Modèle (MCP) émergent. Développé par l’équipe Azure Core Uptime de Microsoft et construit avec Rust, Wassette représente une étape fondamentale vers la fourniture de fonctionnalités hautement personnalisables et composables qui peuvent être déployées en toute sécurité pour les agents IA locaux, y compris ceux fonctionnant dans des environnements comme GitHub Copilot dans Visual Studio Code.

À la base, Wassette est un runtime relativement simple mais puissant. Il charge et exécute efficacement les composants WebAssembly, en tirant parti du runtime Wasmtime établi pour un sandboxing robuste. Cette capacité de sandboxing est essentielle, car elle fournit un modèle de sécurité comparable aux moteurs de navigateur modernes, où les composants fonctionnent dans un cadre de privilège minimal, nécessitant des permissions explicites pour tout service demandé. Wassette traduit ensuite les interfaces fortement typées de ces composants Wasm en fonctionnalités MCP, permettant une intégration transparente avec tout agent compatible MCP. Cette approche innovante permet aux développeurs d’assembler rapidement une bibliothèque sur mesure d’outils sécurisés en combinant leurs propres composants personnalisés avec des modules WebAssembly disponibles publiquement, adaptant ainsi les capacités de l’agent aux besoins spécifiques du projet.

La publication de Wassette par Microsoft s’aligne sur une tendance industrielle plus large vers la standardisation des interactions des agents IA. Le Protocole de Contexte de Modèle (MCP), initialement introduit par Anthropic en novembre 2024, a rapidement gagné du terrain, les principaux acteurs de l’IA comme OpenAI et Google DeepMind l’ayant officiellement adopté. Le PDG de Google DeepMind, Demis Hassabis, a même décrit le MCP comme “devenant rapidement un standard ouvert pour l’ère des agents IA”, soulignant son rôle pivot dans la simplification de la connectivité et de l’interopérabilité des outils IA. Microsoft a lui-même démontré un fort engagement envers l’IA open source, avec des projets comme Magnetic-One, un système IA multi-agents visant à automatiser des tâches complexes, et une vision complète d’une “usine d’applications et d’agents IA” englobant les environnements cloud et edge, y compris des initiatives comme Azure AI Foundry et Windows AI Foundry. Wassette s’inscrit parfaitement dans cette vision, offrant un mécanisme sécurisé et flexible pour étendre les capacités des agents.

Commencer avec Wassette est conçu pour être accessible. Les utilisateurs de Windows peuvent l’installer via WinGet, tandis que les utilisateurs de Linux ont l’option de curl et d’un script d’installation, en plus du support Homebrew et Nix. Bien que la configuration initiale puisse rencontrer des obstacles mineurs, tels qu’une fausse détection de virus dans Windows Defender ou la nécessité occasionnelle d’une inscription manuelle du serveur MCP dans Visual Studio Code, l’équipe de développement s’attaque activement à ces problèmes. Une fois intégré, Wassette apparaît comme un outil supplémentaire dans les environnements de développement comme GitHub Copilot, permettant aux agents de tirer parti de nouvelles fonctionnalités. Un exemple simple démontre sa puissance : un client de temps basique, chargé comme un composant WebAssembly depuis un registre OCI distant, a permis à GitHub Copilot de récupérer l’heure actuelle — une fonctionnalité non nativement disponible pour l’agent de base.

L’extensibilité et le modèle de sécurité de Wassette sont des différenciateurs clés. Les développeurs peuvent écrire leurs propres composants WebAssembly dans une variété de langages, y compris Rust, Python, JavaScript et Go, tant que Wasmtime les prend en charge. Cette capacité polyglotte, combinée aux types d’interface WebAssembly, signifie que les composants exposent des fonctions sous forme d’interfaces de bibliothèque fortement typées, garantissant des interactions précises et contrôlées. La sécurité inhérente de WebAssembly, avec son système de capacités de refus par défaut, signifie qu’un composant doit explicitement demander des permissions pour des ressources comme l’accès réseau, permettant aux utilisateurs d’approuver ou de bloquer ces requêtes directement via l’interface de chat de l’agent, empêchant ainsi l’accès non autorisé aux données ou les activités malveillantes.

Pour l’avenir, bien que Wassette en soit encore à sa version initiale et manque actuellement d’une fonction de découverte intégrée pour les registres OCI et leurs composants stockés, sa nature open source invite les contributions de la communauté à remédier à ces limitations. Au-delà des agents axés sur les développeurs, Wassette promet des applications plus larges. Sa capacité à ajouter de manière sécurisée et efficace de petites fonctionnalités spécialisées pourrait être inestimable dans diverses plateformes d’agents, des systèmes de service client étendant les capacités CRM à tout scénario nécessitant un accès sécurisé et étroitement contrôlé aux ressources externes ou aux données propriétaires. Ce mélange de code modulaire et sandboxé, associé à l’extensibilité rapide qu’il offre, fait écho aux aspirations des frameworks d’agents antérieurs, mais avec l’avantage distinct des paradigmes de sécurité modernes et d’un large support linguistique, permettant aux développeurs de construire des agents IA sophistiqués avec une flexibilité et un contrôle inégalés.