↓ Aller au contenu

Architectures multi-agents

1. Introduction
#

Une architecture multi-agents (Multi-Agent System) repose sur plusieurs agents IA qui collaborent pour atteindre un objectif commun.

Chaque agent peut posséder ses propres :

  • instructions et responsabilités ;
  • outils et permissions ;
  • modèle de langage ;
  • contexte et état d’exécution.

L’objectif est de répartir les responsabilités, spécialiser les tâches et coordonner leur exécution.

Un système multi-agents n’est toutefois pas nécessairement plus performant qu’un agent unique. Il introduit des coûts et une complexité supplémentaires.


2. Agent unique et Multi-agents
#

ArchitectureFonctionnementAvantagesLimites
Single-AgentUn agent réalise l’ensemble des tâchesSimplicité, contexte centraliséResponsabilités multiples
Multi-AgentPlusieurs agents se partagent les tâchesSpécialisation, parallélisation possibleCoordination, coûts, complexité

Quand utiliser plusieurs agents ?
#

Une architecture multi-agents devient pertinente lorsque :

  • les tâches nécessitent des compétences ou instructions distinctes ;
  • les outils et permissions diffèrent selon les responsabilités ;
  • certaines tâches peuvent être exécutées indépendamment ;
  • le contexte d’un agent unique devient difficile à maîtriser ;
  • des vérifications spécialisées apportent un bénéfice mesurable.

Principe : commencer avec un agent unique et introduire plusieurs agents uniquement lorsque leur utilité est démontrée.


3. Principales architectures multi-agents
#

Plusieurs patterns permettent d’organiser la collaboration.

ArchitecturePrincipeExemple
Supervisor / WorkersUn agent central délègue et coordonneAgent superviseur et agents Data/ML
HandoffUn agent transfère le contrôle à un autreAgent de triage vers agent spécialisé
SequentialLes agents interviennent successivementExtraction, analyse, rédaction
ParallelPlusieurs agents travaillent simultanémentAudits indépendants
Evaluator / OptimizerUn agent produit, un autre évalueDéveloppement et revue de code

Ces architectures peuvent être combinées dans un même système.

3.1. Supervisor / Workers
#

L’architecture Supervisor / Workers repose sur un agent superviseur qui coordonne plusieurs agents spécialisés.

Le superviseur peut :

  1. Analyser la demande.
  2. Décomposer le travail.
  3. Sélectionner les agents appropriés.
  4. Déléguer les sous-tâches.
  5. Collecter et vérifier les résultats.
  6. Produire une synthèse finale.

Exemple en Data Science :

AgentResponsabilité
SupervisorPlanification et coordination
Data AgentPréparation et qualité des données
ML AgentEntraînement et évaluation
QA AgentVérification des tests et résultats

Le superviseur conserve la responsabilité globale du résultat.

3.2. Handoff
#

Le Handoff correspond à un transfert de contrôle entre agents.

Contrairement au pattern Supervisor / Workers, l’agent initial peut céder la responsabilité de la suite de l’interaction à un agent spécialisé.

Exemple :

  • Un agent général reçoit une demande.
  • Il identifie une question relative au déploiement.
  • Il transfère le contrôle à un agent DevOps.
  • L’agent DevOps poursuit le traitement.

Le handoff est particulièrement adapté aux systèmes disposant de plusieurs domaines fonctionnels.

3.3. Sequential et Parallel
#

Deux stratégies permettent d’organiser l’ordre d’exécution.

StratégieFonctionnementExemple
SequentialChaque agent dépend du résultat précédentData → ML → Reporting
ParallelPlusieurs agents travaillent indépendammentPlusieurs audits de code
HybridCombinaison d’étapes parallèles et séquentiellesAnalyses parallèles puis synthèse

La parallélisation peut réduire la durée totale, mais uniquement si les tâches sont suffisamment indépendantes.

Des dépendances fortes ou des modifications concurrentes peuvent annuler cet avantage.


4. Délégation et coordination
#

La délégation consiste à confier une tâche à un autre agent, tandis que la coordination organise les interactions entre agents.

Les mécanismes de délégation
#

MécanismeDescription
Agents as ToolsLe superviseur appelle un agent spécialisé comme un outil
HandoffLe contrôle est transféré à un autre agent
Task AssignmentUne sous-tâche est attribuée à un agent
Parallel DispatchPlusieurs sous-tâches sont distribuées simultanément

Dans une architecture Agents as Tools, le superviseur conserve généralement le contrôle de l’interaction et consolide les résultats.

Dans un Handoff, l’agent spécialisé prend le relais.

Définir un contrat de délégation
#

Chaque sous-tâche doit idéalement préciser :

  • Objective : résultat à obtenir.
  • Context : informations nécessaires.
  • Scope : périmètre autorisé.
  • Constraints : règles et restrictions.
  • Output : livrable attendu.
  • Validation : critères de réussite.

Exemple :

Agent : Data QA

Objectif :
Vérifier la qualité des données Silver.

Périmètre :
Tables Silver uniquement.

Contraintes :
- Lecture seule.
- Aucune modification des données.

Livrable :
- Anomalies détectées.
- Tests exécutés.
- Recommandations prioritaires.

Un contrat de délégation explicite réduit les ambiguïtés et facilite la consolidation des résultats.


5. Gestion du contexte et de l’état
#

Chaque agent peut disposer d’un contexte propre.

Cela permet de limiter les informations transmises et de spécialiser les instructions.

ApprocheFonctionnement
Shared ContextPlusieurs agents accèdent à des informations communes
Isolated ContextChaque agent dispose de son propre contexte
Selective ContextSeules les informations pertinentes sont transférées
Shared StateLes agents consultent ou modifient un état partagé

Bonnes pratiques
#

  • Fournir uniquement le contexte nécessaire.
  • Définir clairement les responsabilités.
  • Éviter les modifications concurrentes des mêmes fichiers.
  • Utiliser des formats de sortie structurés.
  • Conserver les résultats intermédiaires importants.
  • Prévoir des mécanismes de reprise après échec.

Plusieurs agents ne partagent pas automatiquement leur mémoire ou leur état. Ces échanges doivent être organisés par le harness ou l’application.


6. Coordination centralisée ou décentralisée
#

Deux grandes approches peuvent être distinguées.

ApprochePrincipeAvantagesLimites
CentraliséeUn superviseur coordonne les agentsContrôle, cohérenceRisque de goulot d’étranglement
DécentraliséeLes agents communiquent ou se passent le contrôleFlexibilitéCoordination plus complexe

L’orchestration peut également être :

  • Code-driven : les transitions sont définies par le programme.
  • LLM-driven : le modèle décide des agents à solliciter.
  • Hybrid : certaines décisions sont programmées, d’autres confiées au modèle.

Une orchestration déterministe est préférable lorsque les étapes sont connues et stables.

L’orchestration par LLM devient intéressante lorsque les sous-tâches dépendent fortement du contexte.


7. Exemple : projet Data Science agentique
#

Un projet Data Science peut mobiliser plusieurs agents spécialisés.

AgentResponsabilitéLivrable
SupervisorOrganisation et suivi du projetPlan et synthèse
Data EngineeringCollecte, transformations, qualitéPipeline de données
Data ScienceEDA, features, modèlesExpérimentations
EvaluationValidation statistique, métriques, robustesseRapport d’évaluation
Software EngineeringAPI, application, déploiementApplication fonctionnelle

Déroulement possible
#

  1. Le superviseur analyse les objectifs.
  2. L’agent Data Engineering prépare les données.
  3. L’agent Data Science réalise les expérimentations.
  4. L’agent Evaluation vérifie les résultats.
  5. L’agent Software Engineering intègre les composants validés.
  6. Le superviseur consolide les livrables.

Certaines étapes peuvent être parallélisées lorsque leurs dépendances le permettent.

Limites
#

La spécialisation des agents ne garantit pas :

  • la qualité des modèles ;
  • l’absence de fuite de données ;
  • la validité des expérimentations ;
  • la cohérence des modifications ;
  • la pertinence des conclusions.

Les résultats doivent être vérifiés avec des tests et des critères indépendants des agents.


8. Limites et bonnes pratiques
#

RisqueBonne pratique
Coûts élevésLimiter le nombre d’agents et d’appels LLM
Duplication du travailDéfinir des responsabilités distinctes
Conflits de modificationsIsoler les espaces de travail ou coordonner les écritures
Perte de contexteStructurer les échanges entre agents
Propagation des erreursValider les résultats intermédiaires
Coordination complexePrivilégier une orchestration simple
Difficultés de diagnosticConserver des traces par agent et par tâche

Recommandations
#

  1. Commencer avec un agent unique.
  2. Spécialiser les agents selon des responsabilités réelles.
  3. Définir un contrat clair pour chaque délégation.
  4. Paralléliser uniquement les tâches indépendantes.
  5. Limiter le partage d’informations inutiles.
  6. Prévoir des mécanismes de validation et de reprise.
  7. Comparer les performances avec une solution mono-agent.

Le nombre d’agents n’est pas un indicateur de qualité. La pertinence de l’architecture dépend des résultats obtenus, des coûts et de la complexité introduite.


9. Synthèse
#

Les architectures multi-agents permettent de répartir des tâches complexes entre plusieurs agents spécialisés.

Les notions essentielles sont :

  • Supervisor : agent chargé de coordonner les travaux.
  • Worker / Subagent : agent chargé d’une tâche déléguée.
  • Delegation : attribution d’une responsabilité à un autre agent.
  • Handoff : transfert du contrôle entre agents.
  • Agents as Tools : utilisation d’agents spécialisés par un agent principal.
  • Orchestration : organisation des interactions et de l’exécution.
  • Coordination : gestion des dépendances, échanges et résultats.

Une architecture multi-agents est pertinente lorsque la spécialisation ou la parallélisation apporte un bénéfice supérieur à son coût de coordination.

La solution la plus simple reste généralement préférable tant qu’elle répond correctement aux besoins.


Références
#

Thibault CLEMENT - Intechnia
Auteur
Thibault CLEMENT - Intechnia
Data Scientist / ML Engineer