Introduction
L'article explore comment les frameworks d'agents en Python et JavaScript/TypeScript réinventent les solutions de concurrence déjà trouvées dans le domaine des télécommunications, notamment avec le langage Elixir. L'auteur soutient que le modèle d'acteur introduit par Erlang en 1986 est en train d'être redécouvert dans le domaine de l'IA en 2026.
Contexte Technique
Le modèle d'acteur, introduit par Erlang, repose sur des principes de concurrence tels que l'isolement des états, le passage de messages, les hiérarchies de supervision et la récupération des fautes. Ces principes sont déjà implémentés dans la machine virtuelle BEAM, qui exécute à la fois le code Erlang et Elixir. La BEAM est conçue pour gérer des connexions longues et des processus légers, avec une gestion de mémoire efficace et une collecte de garbage incrémentale. Les processus légers de la BEAM, d'une taille d'environ 2KB chacun, peuvent être créés par millions, chacun ayant sa propre heap et son propre collecteur de garbage, et sont planifiés de manière préemptive pour éviter que tout processus ne monopolise le processeur.
Analyse et Implications
L'analyse montre que les frameworks d'agents en Python, tels que Langroid, LangGraph, CrewAI et AutoGen, convergent vers les mêmes problèmes de communication et d'orchestration des agents. Ces frameworks tentent de réinventer les solutions de concurrence déjà existantes dans Elixir, mais avec des limitations dues aux langages sous-jacents. Par exemple, AutoGen 0.4 utilise un modèle d'acteur avec passage de messages asynchrones, mais repose sur Python asyncio, qui ne prend pas en charge la planification préemptive ou la collecte de garbage par agent. Les implications concrètes incluent la nécessité d'une gestion efficace des connexions longues, d'une planification préemptive pour éviter les blocages, et d'une collecte de garbage incrémentale pour minimiser les pauses.
Perspective
À l'avenir, il faudra surveiller comment les frameworks d'agents évoluent pour intégrer les principes de concurrence éprouvés d'Elixir. Les limites actuelles des frameworks Python, telles que la planification single-thread et la collecte de garbage stop-the-world, devront être abordées pour atteindre la même efficacité que la BEAM. Les signaux à suivre incluent l'adoption de modèles d'acteur plus purs, l'intégration de la planification préemptive et la mise en œuvre de mécanismes de collecte de garbage plus efficaces. L'adoption d'Elixir ou de technologies similaires pourrait devenir inévitable pour les applications à grande échelle qui nécessitent une concurrence et une fiabilité élevées.