Architecturer un système multi-agents : orchestrateur et sous-agents
- 01Plusieurs agents spécialisés battent souvent un seul agent surchargé d'outils.
- 02Le pattern courant : un orchestrateur délègue à des sous-agents experts puis assemble.
- 03Le coût et la propagation d'erreurs sont les deux risques majeurs à maîtriser.
Quand une tâche devient trop large pour un seul agent — trop d'outils, trop d'étapes, trop de domaines —, on la découpe entre plusieurs agents spécialisés. Un système multi-agents bien conçu est plus fiable et plus maintenable qu'un agent monolithique. Mal conçu, il multiplie les coûts et les erreurs. Voici comment l'architecturer.
Pourquoi plusieurs agents
Un agent unique avec 30 outils se disperse. En découpant, chaque agent a un périmètre clair, peu d'outils, et un prompt focalisé. Avantages : meilleure qualité par tâche, débogage plus simple (on isole l'agent fautif), évolutivité (on remplace un sous-agent sans toucher au reste).
Le pattern orchestrateur / sous-agents
Le plus répandu, et le plus robuste :
┌─> Sous-agent Recherche
Orchestrateur ┼─> Sous-agent Analyse
└─> Sous-agent Rédaction
- L'orchestrateur reçoit l'objectif, le découpe en sous-tâches, délègue à l'agent compétent, puis assemble les résultats.
- Chaque sous-agent est un expert d'un domaine, avec ses propres outils.
L'orchestrateur ne fait pas le travail : il coordonne. C'est un chef de projet, pas un exécutant.
Autres patterns utiles
- Séquentiel (pipeline) : chaque agent traite puis passe au suivant (rédaction → relecture → mise en forme). Simple et prévisible.
- Débat / critique : un agent produit, un autre critique, on itère. Améliore la qualité au prix de plus d'appels.
- Parallèle : plusieurs agents traitent des morceaux indépendants en même temps, puis on agrège.
La communication entre agents
Les agents échangent par messages structurés, pas par conversation libre. Imposez un format clair (souvent du JSON) pour ce qu'un agent transmet au suivant : objectif, contraintes, résultat. Une communication floue entre agents propage l'ambiguïté et fait exploser les erreurs.
Les deux risques majeurs
1. Le coût. Chaque agent est un ou plusieurs appels LLM. Un système à 5 agents qui itèrent peut multiplier la facture par 10 face à un appel simple. Mesurez, et n'ajoutez un agent que s'il apporte une vraie valeur.
2. La propagation d'erreurs. Si le sous-agent de recherche renvoie une info fausse, l'agent de rédaction la reprendra comme vérité. Prévoyez des points de vérification, et faites remonter les incertitudes plutôt que de les masquer.
Commencer simple
Ne démarrez pas avec une armée d'agents. Faites fonctionner un agent, constatez où il sature, et n'introduisez un second agent que pour résoudre une limite précise. La complexité multi-agents se justifie par un besoin, jamais par principe.
À retenir
Plusieurs agents spécialisés surpassent souvent un agent surchargé. Le pattern de référence est l'orchestrateur qui délègue à des sous-agents experts puis assemble ; existent aussi le pipeline séquentiel, le débat et le parallèle. Faites communiquer les agents par messages structurés. Surveillez de près le coût et la propagation d'erreurs — et n'ajoutez un agent que lorsqu'un seul ne suffit plus, jamais avant.
Articles liés
Construire un agent IA autonome : boucle, outils et mémoire
Passer d'un simple appel d'outil à un agent qui raisonne en boucle jusqu'à atteindre son objectif. Architecture et garde-fous.
Sécuriser une application LLM : prompt injection et fuites de données
Les apps IA ouvrent une surface d'attaque nouvelle. Prompt injection, exfiltration de données, outils détournés : les risques et les parades.
Évaluer et fiabiliser un système LLM : évals et garde-fous
« Ça a l'air de marcher » n'est pas une métrique. Comment mesurer la qualité d'un système LLM et le rendre fiable en production.