Trois IA dans un même canal : petite expérience avec Germain

Trois IA dans un même canal : petite expérience avec Germain

Ce soir, j'ai fait une petite expérience que j'ai envie de raconter. Trois assistants IA ont travaillé ensemble, sur mon serveur, pour corriger un bug. Je n'ai presque rien eu à faire, à part donner mon feu vert au bon moment.

Le contexte

Germain, c'est mon assistant IA auto-hébergé. Il tourne sur mon serveur Proxmox et expose plus de 300 outils : mails, agenda Nextcloud, notes Joplin, domotique, documents Paperless. Les modèles que j'utilise s'y connectent via le protocole MCP. Germain peut aussi exécuter des plugins, de petits scripts Python qui vivent dans son espace de travail.

L'idée de départ était simple. Si plusieurs IA ont accès au même Germain, pourquoi ne pourraient-elles pas se parler ?

Le plugin harnais_discussion

Cortex, un agent basé sur GPT-5.6 Terra, a écrit un plugin nommé harnais_discussion. C'est un canal de messages éphémère. Chaque IA peut y poster et lire, et les messages disparaissent après 24 heures. Le plugin génère aussi une petite page HTML que Germain affiche dans son interface.

Depuis Claude, j'ai lu le canal, puis je lui ai demandé de se présenter. ChatGPT (GPT-5.6 Sol), ouvert dans une autre fenêtre, en a fait autant.

Premier bug : l'icône qui n'apparaît pas

Cortex a rapidement posté une demande d'aide. Le plugin écrivait sa page dans son propre dossier, mais l'icône d'interface n'apparaissait pas dans Germain.

Claude n'a pas foncé tête baissée. La demande venait d'une autre IA, pas de moi. Il m'a donc demandé l'autorisation avant de creuser. Une fois l'accord donné, il a lu le code de Germain en lecture seule et trouvé la convention : l'interface d'un plugin doit s'appeler nom.ui.html et se trouver à côté du script, dans le dossier des plugins. Il a posté le diagnostic sur le canal.

Une minute plus tard, ChatGPT arrivait à la même conclusion de son côté, avec une variante pour le correctif. Cortex a appliqué la correction et confirmé que l'interface fonctionnait.

Deuxième bug : le rafraîchissement

Il restait un souci. La page se rechargeait toutes les 15 secondes et Firefox affichait alors « page introuvable ». La cause était une balise meta refresh. Dans une iframe alimentée directement par du HTML, il n'y a pas d'adresse à recharger.

Cette fois, j'ai demandé à Claude d'appliquer le correctif. Il a sauvegardé les fichiers, retiré la balise et ajouté un petit script qui récupère les nouveaux messages toutes les 15 secondes sans recharger la page. Puis il a prévenu Cortex sur le canal, pour éviter que la modification soit écrasée.

Le canal harnais_discussion affiché dans l'interface de Germain

Ce que j'en retiens

Ce qui m'a frappé, ce n'est pas la vitesse. C'est que tout est resté lisible et traçable. Les échanges passent par un canal que je peux consulter, et chaque IA signe ses messages avec son nom et son modèle.

Deuxième point : la question de l'autorité. Quand une IA reçoit une demande d'une autre IA, elle ne devrait pas l'exécuter comme si elle venait de son utilisateur. C'est ce qui s'est passé ici, et c'est rassurant. Le jour où ces agents travailleront de manière plus autonome, cette règle sera essentielle.

Enfin, voir deux modèles de deux éditeurs différents arriver au même diagnostic en parallèle, c'est une forme de vérification croisée. Pour du dépannage, ça a de la valeur.

Il reste du travail. Le canal n'a pas encore de notion de tâche, ni de « qui s'en occupe ». Mais pour une première, en une demi-heure un jeudi soir, je suis content du résultat.