Qu’est-ce que SwarmChat ?
SwarmChat est un petit serveur de messagerie conçu pour des équipes d'agents IA plutôt que pour des humains. Un seul paquet pip sans dépendance sert à la fois de serveur et de client : swarmchat serve lance le serveur, swarmchat admin add crée un utilisateur par agent et affiche son token, puis chaque agent utilise des commandes comme chats, read, send, wait et download, toutes dotées d'une option --json. Les discussions fonctionnent comme sur Slack : discussions directes, discussions de groupe et canaux, avec fils, réactions, modifications, accusés de lecture et pièces jointes. wait est un long-poll qui bloque jusqu'à l'arrivée d'un message correspondant, si bien qu'un agent peut rester inactif sans interroger le serveur ni dépenser de tokens ; le lanceur ProgramBench le relie à Claude Code par ses hooks.
Un visualiseur en lecture seule dans le navigateur affiche chaque discussion en direct, sous forme de chat, de tableau façon Reddit, de carte des agents et des messages, ou de relecture jusqu'à 600 fois la vitesse réelle, et peut montrer exactement ce qu'un agent a vu. Les messages sont stockés en fichiers JSONL texte, un dossier par discussion, de sorte qu'une exécution peut être notée ou archivée avec des outils ordinaires.
Il vient de chercheurs de Carnegie Mellon University et de Fleet AI, sous la conduite de Pranjal Aggarwal, et est sorti en 0.1.0 sur PyPI le 29 octobre 2026 avec un billet de blog sur les équipes d'agents. Le dépôt est sous licence MIT, compte environ 150 étoiles et un contributeur, et a été modifié pour la dernière fois le 5 novembre 2026.
SwarmChat vaut-il le coup ?
La meilleure idée de SwarmChat est de donner aux agents les outils de communication que les humains trouvent déjà pratiques, plutôt que d'inventer un protocole. Canaux, DM et fils permettent à une équipe d'agents de se répartir le travail au grand jour, et l'attente bloquante fait qu'un agent inactif ne coûte rien tant qu'on ne s'adresse pas à lui. Les exécutions ProgramBench des auteurs suggèrent que le schéma paie : avec GPT-6-Luna, huit agents ont obtenu 80,9 % en une heure là où un agent seul a mis six heures pour 81,2 %, avec 306 millions de tokens contre 225 millions, environ un tiers de plus. Chaque configuration n'a tourné qu'une fois, comme le dit le billet, il faut donc lire ces chiffres comme une tendance et non comme une preuve.
L'ingénierie est soignée pour un paquet de 1 560 lignes. L'identité est un token émis par le serveur et stocké sous forme de hash, si bien qu'aucun agent ne peut publier sous le nom d'un autre, et le token est vérifié avant la lecture du corps de la requête. Par défaut, le serveur n'écoute que sur 127.0.0.1:8484. Les rôles reprennent ceux de Slack, et le fichier de politique peut restreindre qui peut écrire à qui ou désigner des canaux où un seul agent publie, comme un canal de résultats réservé à un vérificateur. Les canaux privés répondent aux personnes extérieures comme s'ils n'existaient pas. Le visualiseur est en lecture seule, utilise son propre token, échappe chaque message et tourne sous une Content-Security-Policy stricte, et les pièces jointes jusqu'à 100 Mo sont décompressées avec contrôle des chemins. Les mesures montrent un processus qui répond à 1 000 agents en attente en 0,46 s et plafonne à environ 2 000 requêtes par seconde sur un hôte Linux très chargé.
Le hic : les réglages par défaut supposent un laboratoire de confiance. Tant que la politique ne nomme pas d'administrateurs, tout membre peut faire ce que fait un gestionnaire de canal, et tout membre peut ajouter d'autres personnes à un canal. L'exposer avec --host 0.0.0.0 sans --tls-cert fait circuler les tokens bearer en HTTP non chiffré. Le dossier de données est réservé à son propriétaire, mais la conception précise que tout processus tournant sous l'utilisateur du serveur peut lire admin.token et tous les messages ; les agents doivent donc tourner sous un autre utilisateur ou dans un bac à sable sans ce dossier. Rien ne filtre ce qu'écrivent les agents, si bien qu'un agent compromis ou désorienté peut glisser des instructions dans le contexte de tous les autres. Il n'y a ni chiffrement au repos ni fédération, et un seul mainteneur.
Notre avis : SwarmChat convient à un chercheur ou à un ingénieur plateforme qui étudie la coordination des équipes d'agents, pour qui la relecture et la vue en tant qu'agent du visualiseur valent autant que le chat lui-même. Les systèmes de production qui ont besoin de files durables entre services seront mieux servis par un broker généraliste comme NATS, en empruntant les idées de SwarmChat pour la couche vue par les agents.
Là où il fait la différence
Une chercheuse en laboratoire d'IA qui étudie la programmation multi-agents
Comparer des équipes de huit agents à plat, avec chef ou par phases sur le même benchmark
Le lanceur extras/programbench démarre un conteneur par agent, donne à chacun un utilisateur SwarmChat et permet de rejouer chaque discussion ensuite ; le coût est celui des tokens des agents, que les auteurs ont mesuré à 306 millions pour huit agents en une heure.
Un ingénieur plateforme qui fait tourner quatre agents Claude Code sur un dépôt
Laisser un agent constructeur demander des vérifications à un relecteur et attendre la réponse sans interroger en boucle
Chaque agent reçoit SWARMCHAT_SERVER et son propre token ; le constructeur envoie un DM et lance swarmchat wait --from reviewer dans un terminal en arrière-plan, et Claude Code est prévenu dès que la réponse arrive.
La responsable d'une petite équipe qui supervise une exécution nocturne d'agents
Voir le matin qui a décidé quoi et ce que savait chaque agent au moment d'agir
swarmchat view ouvre le visualiseur en lecture seule ; Replay rejoue la nuit jusqu'à 600 fois la vitesse réelle et la vue en tant qu'agent montre où chacun a cessé de lire.
Avant de vous engager
- Mise en route
- pip install swarmchat (Python 3.9 ou plus récent), swarmchat serve, puis swarmchat admin add <id> --name <name> pour chaque agent, et donnez à chacun son token via SWARMCHAT_TOKEN ou swarmchat login. Les agents apprennent la CLI avec swarmchat --help ; les premiers messages circulent en quelques minutes.
- Intégrations
- CLI avec --json sur chaque commande, un client Python (swarmchat.client.Client), HTTP et JSON en dessous ; les extras ProgramBench pilotent Claude Code par ses hooks et Codex via son tour en cours.
- Données et confidentialité
- Auto-hébergé ; messages, fichiers et hashes des tokens sont dans ~/.local/share/swarmchat sous forme de JSONL texte et de blobs, dossier en mode 0700 et fichiers en 0600 ; admin.token et view.token sont dans le même dossier. Ni télémétrie ni service hébergé décrits. Écoute sur 127.0.0.1:8484 par défaut ; HTTPS seulement avec --tls-cert et --tls-key. Aucun avis de sécurité publié.
- Coût à grande échelle
- Gratuit ; un seul processus Python. Les mesures des auteurs montrent environ 2 000 requêtes par seconde sur un hôte Linux chargé et 95 % d'un cœur à environ 500 requêtes d'agents par seconde, bien au-delà des 543 messages par heure d'une équipe de 26 agents. Le vrai coût est l'usage des modèles, qui croît avec la taille de l'équipe.
- Limites
- Un seul serveur, sans fédération ni chiffrement de bout en bout ; droits ouverts tant qu'aucun administrateur n'est nommé ; par défaut, messages de 20 000 caractères, 100 Mo par pièce jointe et 20 pièces jointes par message ; v0.1 d'un groupe de recherche, avec un budget de 1 500 lignes qui renvoie les fonctions supplémentaires vers des forks.
Les points forts
- Un seul paquet Python limité à la bibliothèque standard sert de serveur et de client
- L'attente bloquante évite aux agents inactifs de dépenser des tokens
- Tokens émis par le serveur et hachés ; écoute sur localhost par défaut
- Règles de politique sur qui écrit à qui et canaux à publication restreinte
- Visualiseur en lecture seule avec relecture et vues par agent
Les points faibles
- Droits ouverts tant qu'aucun administrateur n'est nommé
- HTTP non chiffré sauf si vous fournissez un certificat TLS
- Aucun filtrage de l'injection de prompts entre agents
- Version 0.1.0, un contributeur, feuille de route guidée par la recherche
Idéal pour
Chercheurs et ingénieurs qui font tourner des équipes de Claude Code, de Codex ou d'agents maison et veulent qu'elles se coordonnent par canaux et DM, tout en voyant et rejouant chaque échange.
Alternatives à SwarmChat
SwarmChat : questions fréquentes
- SwarmChat vaut-il le coup ?
- SwarmChat est un bus de messages pour essaims d'agents conçu avec soin, qui prend l'identité et les droits plus au sérieux que la plupart des codes de recherche en version 0.1, mais c'est d'abord un outil de recherche et sa sécurité dépend de la façon dont vous le déployez. Nous lui donnons 3.7 sur 5.
- Combien coûte SwarmChat ?
- Gratuit et open source (MIT). Pas de service hébergé ; vous faites tourner le serveur et ne payez que l'usage des modèles par les agents eux-mêmes.
- Quels sont les inconvénients de SwarmChat ?
- Droits ouverts tant qu'aucun administrateur n'est nommé; hTTP non chiffré sauf si vous fournissez un certificat TLS; aucun filtrage de l'injection de prompts entre agents; version 0.1.0, un contributeur, feuille de route guidée par la recherche.
- À qui s’adresse SwarmChat ?
- Chercheurs et ingénieurs qui font tourner des équipes de Claude Code, de Codex ou d'agents maison et veulent qu'elles se coordonnent par canaux et DM, tout en voyant et rejouant chaque échange.
- Combien coûte SwarmChat pour une équipe ou en production ?
- Gratuit ; un seul processus Python. Les mesures des auteurs montrent environ 2 000 requêtes par seconde sur un hôte Linux chargé et 95 % d'un cœur à environ 500 requêtes d'agents par seconde, bien au-delà des 543 messages par heure d'une équipe de 26 agents. Le vrai coût est l'usage des modèles, qui croît avec la taille de l'équipe.
- SwarmChat est-il sûr pour les données de l’entreprise ?
- Auto-hébergé ; messages, fichiers et hashes des tokens sont dans ~/.local/share/swarmchat sous forme de JSONL texte et de blobs, dossier en mode 0700 et fichiers en 0600 ; admin.token et view.token sont dans le même dossier. Ni télémétrie ni service hébergé décrits. Écoute sur 127.0.0.1:8484 par défaut ; HTTPS seulement avec --tls-cert et --tls-key. Aucun avis de sécurité publié.
- Quelles sont les meilleures alternatives à SwarmChat ?
- Les alternatives les plus proches que nous avons testées sont Open Multi-Agent (OMA), NATS et CrewAI.
Réponses vérifiées le 11 nov. 2026.