RecursiveMAS : Améliorer les Agents IA avec la Communication Latente
Découvrez RecursiveMAS, un framework multi-agents qui utilise le transfert d'état latent pour une collaboration IA plus efficace et moins coûteuse, surpassant les systèmes textuels.
Introduction

RecursiveMAS est un framework multi-agents qui permet aux agents IA de collaborer de manière plus efficace et économique en utilisant le transfert d'état latent, améliorant ainsi la performance sur des tâches complexes comme la résolution de problèmes mathématiques et la génération de code.
Précis de configuration
| Élément | Version / Lien |
|---|---|
| Langage / Runtime | Python 3.10 (suggéré pour l'environnement conda) |
| Librairie principale | RecursiveMAS (via pip install -r requirements.txt) |
| APIs requises | Non spécifié, mais implique des modèles LLM (ex: OpenAI, Ollama/Llama3) |
| Clés / credentials nécessaires | Non spécifié, dépend des APIs LLM utilisées |
Guide étape par étape

Étape 1 — Comprendre la communication textuelle traditionnelle des agents
Pourquoi: Les systèmes multi-agents traditionnels communiquent en utilisant des mots et des phrases, ce qui entraîne une surcharge de traitement et une accumulation d'erreurs, rendant la coordination difficile et coûteuse.
# Exemple conceptuel de communication textuelle entre agents
# Agent 1 (Planner) génère un plan en texte
plan_text = "1. substituer x = tanθ\n2. symétrie sur [0, π/4]\n3. réduire l'intégrale"
# Agent 2 (Critic) lit le plan et génère une critique en texte
critic_text = "Le plan est solide. Les limites sont claires. La symétrie est la clé."
# Agent 3 (Solver) lit le plan et la critique, puis résout le problème en texte
solver_output_text = "I = π/8 ln 2"
Étape 2 — Adopter le transfert d'état latent (Brain-linking)
Pourquoi: Pour surmonter les limitations de la communication textuelle, RecursiveMAS propose de lier les "cerveaux" des agents en transférant directement des représentations numériques brutes (embeddings) plutôt que des mots. Cela réduit la surcharge de décodage/encodage et permet une collaboration plus fluide et efficace.
# Le concept de "Latent Thoughts" (pensées latentes) est un transfert direct d'embeddings
# entre les couches finales des modèles LLM des agents.
# Il n'y a pas de code direct pour "lier les cerveaux" car c'est une architecture interne.
# Agent A1 génère des pensées latentes (Last-layer Embs)
# h_t, h_{t+1}, ...
# Ces pensées latentes sont passées via un "Inner Link" ou "Outer Link"
# comme "AI-aligned Input Embs" à l'Agent A2.
# Agent A2 utilise ces embeddings comme contexte pour générer ses propres pensées latentes.
# Le processus est récursif ("Looping...")
Étape 3 — Exécuter des cycles de récursion pour affiner les réponses
Pourquoi: Le système RecursiveMAS utilise des boucles de récursion où les agents affinent collectivement une réponse en échangeant des états latents. Chaque tour de récursion permet une amélioration progressive de la précision et de l'efficacité, simulant un processus de réflexion itératif.
# La récursion est gérée par le framework RecursiveMAS.
# Les agents (Planner, Critic, Solver) échangent des états latents.
# Chaque "Recursion Round" (r=1, r=2, r=3, ...) améliore la solution.
# Le code d'inférence serait similaire à :
# [Note de l'éditeur : le code exact pour l'inférence avec RecursiveMAS n'est pas fourni dans la transcription,
# mais le dépôt GitHub mentionné devrait contenir des exemples.]
# Exemple conceptuel :
# from recursivemas import RecursiveMAS
#
# # Initialiser le système multi-agents
# mas_system = RecursiveMAS(planner_agent, critic_agent, solver_agent)
#
# # Exécuter plusieurs tours de récursion
# final_output = mas_system.run_recursion(initial_problem, num_rounds=3)
#
# print(final_output)
Étape 4 — Appliquer la correction de vulnérabilités (exemple de cas d'usage)
Pourquoi: Les agents RecursiveMAS peuvent être utilisés pour des tâches de sécurité logicielle, comme la détection et la correction automatique de vulnérabilités dans le code, grâce à leur capacité à analyser et à modifier des bases de code de manière itérative.
# Code original avec vulnérabilité (exemple tiré de la vidéo)
def handle_request(req):
token = req.get('auth')
user = db.find(token)
run(req['cmd']) # unsanitized input # <-- Vulnérabilité ici
return render(user.page)
# Code patché par l'agent (exemple tiré de la vidéo)
def handle_request(req):
token = req.get('auth')
user = db.find(token)
run(sanitize(req['cmd'])) # patched # <-- Vulnérabilité corrigée
return render(user.page)
Tableaux comparatifs

| Critère | Recursive-TextMAS (Communication textuelle) | RecursiveMAS (Transfert d'état latent) |
|---|---|---|
| Précision (AIME2026, r=3) | 73.3% | 86% |
| Utilisation des tokens (moyenne) | 1x | 0.244x (75.6% de moins) |
| Coût de formation (estimation) | Élevé (non spécifié) | ~4 $ (prix d'un café) |
| Complexité de coordination | Élevée (erreurs composées) | Réduite (communication directe) |
| Scalabilité | Moins efficace pour les petits modèles | Permet aux petits modèles d'égaler les grands |
| Nature de la communication | Mots, phrases complètes | Nombres bruts, embeddings non décodés |
⚠️ Erreurs fréquentes et pièges
- Hallucinations des agents: Les agents peuvent générer des informations incorrectes ou inventées, comme un "aéroport hallucinatoire".
- Solution: Implémenter des mécanismes de vérification croisée et de critique entre les agents, comme le rôle du "Critic Agent" dans RecursiveMAS, pour valider les informations avant d'agir.
- Coordination inefficace: Lorsque plusieurs agents travaillent ensemble, les erreurs de chaque agent peuvent se propager et s'amplifier, rendant la tâche globale difficile à réussir.
- Solution: Utiliser des architectures comme RecursiveMAS qui optimisent la communication inter-agents via le transfert d'état latent, réduisant ainsi la surcharge et les erreurs de traduction entre les étapes.
- Longueur optimale des pensées latentes: Il existe une limite à la quantité d'informations latentes qu'un agent peut traiter efficacement par tour de récursion. Une longueur excessive n'apporte pas de valeur ajoutée et peut même nuire.
- Solution: Des recherches ont montré qu'une longueur d'environ 80 étapes est optimale pour la plupart des tâches, au-delà de laquelle les gains de précision sont minimes. Il est crucial de tester et d'optimiser cette hyperparamètre pour chaque application.
Glossaire
Agent IA : Un programme informatique autonome capable de percevoir son environnement, de prendre des décisions et d'agir pour atteindre des objectifs spécifiques.
Transfert d'état latent : Méthode de communication entre agents IA où des représentations numériques brutes (embeddings) des pensées internes d'un agent sont directement passées à un autre, sans conversion en langage naturel.
Injection de prompt : Une technique d'attaque où un utilisateur malveillant manipule un modèle de langage en lui fournissant des instructions qui outrepassent ses directives de sécurité ou son comportement prévu.
Points clés à retenir
- La communication textuelle entre agents IA est coûteuse et sujette aux erreurs.
- RecursiveMAS améliore la collaboration des agents en utilisant le "transfert d'état latent", où les "pensées" sont échangées sous forme d'embeddings numériques.
- Cette approche réduit l'utilisation des tokens de 75% en moyenne et augmente la précision sur des tâches complexes.
- Les petits modèles RecursiveMAS peuvent atteindre des performances comparables à des modèles beaucoup plus grands et coûteux.
- Le coût de formation de RecursiveMAS est remarquablement bas (environ 4 $ pour certains cas).
- Le framework est encore en phase de recherche, mais il montre un potentiel énorme pour l'avenir des systèmes multi-agents.
- Weights & Biases Weave est un outil utile pour déboguer et évaluer les applications LLM.
Ressources
- Article de recherche: Recursive Multi-Agent Systems (Yang et Zou et al. 2026)
- Outil de développement LLM: Weights & Biases - Weave
- Article sur l'interface neuronale: Willett et al. 2020 (mentionné à 1:47)