Un virage radical vers Rust
La société Respan a annoncé le lancement d'une passerelle d'IA (AI Gateway) open source entièrement écrite en Rust, après un parcours de développement de deux ans ayant impliqué l'écriture de plus de 100 000 lignes de code sous forme de couches d'encapsulation (Wrappers) autour de la bibliothèque LiteLLM. Cette décision fait suite à une mise à jour routinière de la bibliothèque LiteLLM en janvier 2026, qui a provoqué des pannes de connexion intermittentes, poussant l'équipe à rechercher une alternative plus stable et plus facile à maintenir.
Une architecture basée sur des plugins
Pour éviter les complexités de maintenance rencontrées précédemment, Respan a adopté une architecture similaire à celle du serveur Nginx, où le noyau de la passerelle reste léger, tandis que les fonctionnalités essentielles telles que le routage (Routing), les fournisseurs de modèles et les contrôles de sécurité sont délégués à des plugins indépendants. Cette approche permet aux développeurs de créer leurs propres plugins sans avoir à modifier le code source du noyau.
Ces plugins se distinguent par leur grande légèreté ; l'entreprise a indiqué que l'intégration d'un fournisseur de modèles tel que Mistral ne nécessite que 22 lignes de code, ce qui facilite la gestion des différences techniques entre les fournisseurs de modèles, comme la manière de rapporter la consommation de jetons (Tokens).
Qu'est-ce qui change concrètement pour les développeurs ?
- Traduction de protocoles : La passerelle peut convertir différents protocoles, permettant aux applications conçues pour l'API OpenAI Realtime de se connecter à Gemini Live sans modifications logicielles côté client.
- Contrôle des requêtes : Les requêtes transitent par les plugins de manière séquentielle, offrant aux développeurs la possibilité de modifier la requête, d'effectuer des appels supplémentaires ou même d'interrompre la requête avant qu'elle n'atteigne le fournisseur de modèles.
- Performance et sécurité : Le langage Rust offre une meilleure sécurité mémoire, mais impose de nouveaux défis ; les plugins personnalisés doivent être compilés avec la passerelle, ce qui signifie que l'ajout d'une nouvelle fonctionnalité nécessite une reconstruction du binaire de la passerelle.
Défis et considérations de sécurité
L'adoption de plugins compilés a soulevé des inquiétudes au sein de la communauté des développeurs concernant les risques liés à la chaîne d'approvisionnement, car les plugins fonctionnent au sein même du processus de la passerelle, leur donnant un accès direct aux données sensibles des requêtes. L'entreprise a également souligné l'importance de l'ordre des plugins ; placer le plugin de mise en cache (Cache) avant le plugin de sécurité pourrait entraîner le contournement du contrôle de sécurité en cas de réponse pré-enregistrée, ce qui exige une grande précision dans la configuration.
Cette orientation intervient à un moment où d'autres projets, comme LiteLLM lui-même, cherchent à migrer vers Rust, bien que selon une approche progressive axée sur le remplacement des chemins critiques plutôt que sur la reconstruction complète adoptée par Respan.