Patterns de coordination entre agents
Orchestrateur-travailleurs : le pattern le plus courant
Un agent orchestrateur décompose la tâche globale, distribue des sous-tâches à des agents travailleurs spécialisés, puis synthétise leurs résultats en une réponse finale cohérente. C'est le pattern le plus intuitif et le plus largement utilisé en pratique.
flowchart TD
A[Orchestrateur] -->|Sous-tâche 1| B[Agent travailleur 1]
A -->|Sous-tâche 2| C[Agent travailleur 2]
B -->|Résultat 1| A
C -->|Résultat 2| A
A --> D[Synthèse finale]
Pipeline séquentiel : chaque agent dépend du précédent
Dans un pipeline, chaque agent traite la sortie de l'agent précédent, exactement comme une chaîne de montage : l'agent 2 ne peut commencer que lorsque l'agent 1 a terminé, contrairement au pattern orchestrateur-travailleurs qui permet souvent la parallélisation.
Agent extraction → Agent analyse → Agent rédaction du rapport
Débat entre agents (multi-agent debate)
Pour des tâches où la fiabilité est critique, faire dialoguer plusieurs agents (parfois avec des modèles différents, par exemple un agent Claude et un agent GPT) sur la même question, chacun critiquant la réponse de l'autre, peut révéler des erreurs qu'un agent seul n'aurait pas détectées, au prix d'un coût et d'une latence plus élevés.
Choisir le bon pattern selon la tâche
| Pattern | Adapté quand |
|---|---|
| Orchestrateur-travailleurs | Sous-tâches indépendantes, parallélisables |
| Pipeline séquentiel | Chaque étape dépend strictement du résultat de la précédente |
| Débat entre agents | Fiabilité critique, budget et latence disponibles pour une double vérification |
Cas concret
Une équipe conçoit un système de génération de rapports d'incident IT. Un pipeline séquentiel est choisi : un premier agent extrait les faits bruts des logs, un second agent les analyse pour identifier la cause probable, un troisième rédige le rapport final dans un format standardisé. Chaque étape dépendant strictement du résultat de la précédente (impossible d'analyser avant d'avoir extrait, impossible de rédiger avant d'avoir analysé), le pattern pipeline est ici plus adapté qu'un orchestrateur-travailleurs qui supposerait des sous-tâches parallélisables, ce qui n'est pas le cas.
Erreurs fréquentes
- Utiliser systématiquement le pattern orchestrateur-travailleurs même quand les sous-tâches sont en réalité séquentiellement dépendantes, ratant l'opportunité d'un pipeline plus simple et adapté.
- Employer un débat entre agents pour des tâches simples et peu critiques, un surcoût de latence et de budget non justifié par le faible enjeu de fiabilité de la tâche.
- Ne jamais définir clairement quel pattern correspond à la structure réelle de la tâche à décomposer, choisissant une architecture par habitude plutôt que par adéquation au problème.
À retenir
- L'orchestrateur-travailleurs distribue des sous-tâches indépendantes et parallélisables à des agents spécialisés.
- Le pipeline séquentiel enchaîne des agents dont chacun dépend strictement du résultat du précédent.
- Le débat entre agents améliore la fiabilité sur des tâches critiques, au prix d'un coût et d'une latence plus élevés, à réserver aux cas qui le justifient réellement.
Mini-exercice
Une tâche nécessite d'abord d'extraire des données, puis de les analyser, puis de rédiger un rapport, chaque étape dépendant strictement du résultat de la précédente. Quel pattern de coordination est le plus adapté ?
Réponse : le pipeline séquentiel, où chaque agent traite la sortie de l'agent précédent dans un ordre strict, contrairement à un pattern orchestrateur-travailleurs qui suppose des sous-tâches parallélisables et indépendantes, ce qui n'est pas le cas ici.