OpenAI a récemment dévoilé Swarm, un framework expérimental open source conçu pour orchestrer des systèmes multi-agents. Il fournit aux développeurs un schéma pour créer des réseaux d’agents d’IA interconnectés qui peuvent communiquer et collaborer afin de gérer des tâches complexes de manière autonome.
Swarm est une illustration de la façon dont les concepts de “routines”, des séquences d’actions prédéfinies que les agents suivent pour accomplir des tâches spécifiques, et de transferts, qui permettent à un agent de déléguer une tâche à un autre agent, peuvent être utilisés pour orchestrer plusieurs agents de manière simple et contrôlable.
Le framework repose sur l’idée que plusieurs agents, chacun avec des capacités uniques, peuvent améliorer la qualité et la rapidité des réponses ou actions dans un environnement dynamique. Par exemple, un agent peut se spécialiser dans la compréhension des instructions, tandis qu’un autre pourrait exceller dans l’analyse des données…
Swarm est construit autour de deux abstractions primitives :
- Agents autonomes : Chaque agent est un module indépendant capable d’exécuter des tâches spécifiques, avec des instructions et des fonctions définies. Un agent peut soit gérer une tâche donnée, soit déléguer ou transférer la responsabilité à un autre agent plus qualifié ;
- Transferts dynamiques : Ce concept est central dans Swarm. Lorsqu’un agent atteint ses limites, il peut transférer la conversation ou la tâche à un autre agent. Cela permet de maintenir la fluidité des opérations, sans qu’un agent soit surchargé ou dépassé par des requêtes trop complexes.
Les agents dans Swarm peuvent accéder à un contexte partagé, leur permettant de se tenir informés des actions précédentes ou des données disponibles et ainsi collaborer plus efficacement en ayant une vue d’ensemble des opérations en cours.
Exemples d’utilisation
Swarm propose déjà plusieurs exemples pratiques dans sa documentation, comme un scénario de service client, où un premier agent gère la question initiale d’un utilisateur et, si la requête devient plus technique, transfère la conversation à un autre agent spécialisé dans la vente ou le remboursement.
OpenAI le présente comme une ressource éducative pour les développeurs curieux d’en savoir plus sur l’orchestration multi-agents. Contrairement à l’API Assistants d’OpenAI, davantage conçue pour des flux de travail entièrement hébergés, Swarm s’exécute principalement sur le client, réduisant ainsi les besoins en infrastructure côté serveur et donnant aux développeurs le contrôle et la visibilité sur les interactions des agents. Son interface est similaire à celle de l’API de complétion de chat d’OpenAI, chaque interaction est exécutée individuellement, sans conserver un historique persistant.
OpenAI l’a rendu public sous la licence MIT, qui offre une grande flexibilité aux développeurs tout en offrant une protection minimale à ses concepteurs, rappelant que :
“Swarm est actuellement un framework d’échantillonnage expérimental destiné à explorer les interfaces ergonomiques pour les systèmes multi-agents. Il n’est pas destiné à être utilisé en production et ne bénéficie donc d’aucun soutien officiel. (Cela signifie également que nous n’examinerons pas les RP ou les problèmes !)
L’objectif principal de Swarm est de présenter les modèles de transfert et de routines explorés dans le livre de recettes Agents d’orchestration : transferts et routines. Il ne s’agit pas d’une bibliothèque autonome, mais principalement à des fins éducatives”.
Perspectives futures
Des développeurs utilisent déjà le framework dans le cadre de leur projet “Hierarchical Autonomous Agent Swarms (HAAS) visant à créer un écosystème d’agents d’IA autonomes et éthiquement gouvernés.
Alors que les applications commerciales potentielles de Swarm sont nombreuses (support client, analyses de marché, stratégies marketing…), le niveau d’automatisation introduit par les systèmes multi-agents soulèvent des préoccupations quant à leur impact sur l’emploi et le rôle de l’humain dans la prise de décision.