Systèmes multi-agents
Un système multi-agents répartit une tâche entre plusieurs agents au lieu de demander à un seul agent de tout faire. Dans Mastra, cela implique généralement de combiner des agents, des workflows ou les deux afin que chaque partie du système ait un rôle clair.
L’objectif consiste à attribuer le bon contexte, les bons tools et les bonnes responsabilités au bon composant. Lorsque cette répartition est claire, il peut être plus facile de raisonner sur un système multi-agents que sur un agent seul chargé d’un long prompt et de trop nombreux tools ou responsabilités.
Quand utiliser les systèmes multi-agentsLien direct vers Quand utiliser les systèmes multi-agents
Utilisez un système multi-agents lorsqu’un seul agent n’est plus une frontière appropriée pour le travail.
C’est souvent le cas lorsque :
- Une tâche couvre différents types de travail, tels que la recherche, la planification, la rédaction ou la revue.
- Un agent aurait besoin de trop de contexte ou de trop nombreux tools.
- Certaines parties de la tâche doivent s’exécuter en parallèle.
- Différentes étapes nécessitent des prompts, modèles ou garde-fous différents.
- Vous souhaitez des frontières claires entre routage, exécution et synthèse.
Commencez avec un seul agent lorsque c’est possible. Ajoutez des agents lorsque la structure supplémentaire améliore clairement la qualité, la vitesse ou la fiabilité.
Les modèles multi-agents sont utiles lorsque le système a besoin d’une méthode claire pour répartir contexte, décisions et responsabilités entre les composants. En pratique, la question principale de conception est de savoir quel composant garde le contrôle à mesure que la tâche avance.
HandoffsLien direct vers Handoffs
Un modèle de handoff transfère le contrôle d’un agent à un autre. Contrairement au modèle de superviseur, le premier agent ne reste pas responsable de toute la tâche. Le spécialiste actif prend au contraire la responsabilité de la partie suivante de l’interaction.
Utilisez les handoffs lorsque le spécialiste suivant doit poursuivre directement l’interaction plutôt que de rendre compte via un coordinateur central. Le compromis est que la gestion du contexte devient plus importante, car le système doit décider de ce que l’agent suivant hérite et de ce qui reste limité.
Dans Mastra, implémentez ce modèle en combinant les agents, les workflows et la mémoire. Un workflow peut router la tâche, mais la caractéristique déterminante du modèle est que la responsabilité passe à l’agent suivant.
WorkflowsLien direct vers Workflows
Un modèle de workflow définit le chemin d’exécution dans le code. Au lieu de demander à un agent de décider de la suite, vous définissez la séquence par des étapes, branches, boucles et blocs parallèles.
Utilisez les workflows lorsque la tâche est bien comprise et que son chemin d’exécution est connu à l’avance. Leur principal avantage est la prévisibilité : la structure explicite facilite le débogage et l’audit du système. Le compromis est la flexibilité, car les workflows s’adaptent moins bien lorsque la tâche évolue.
Dans Mastra, les workflows peuvent implémenter des modèles de coordination tels que les handoffs et les conseils. Un workflow est distinct parce que sa logique de contrôle réside dans le workflow lui-même, quels que soient les agents qu’il appelle.
SupervisorsLien direct vers Supervisors
Un modèle de superviseur maintient un agent principal aux commandes de toute la tâche. Le superviseur décide quand déléguer, quel spécialiste appeler, quel contexte transmettre et comment combiner le résultat.
Utilisez ce modèle lorsque la tâche est ouverte et que la séquence complète n’est pas connue à l’avance. Par exemple, une tâche de recherche peut exiger différentes pistes selon ce que les premières étapes révèlent. Un superviseur peut s’adapter à mesure que la tâche se déroule. Le compromis est que le superviseur devient le point principal de coordination. Le modèle est donc flexible, mais le résultat dépend fortement d’un bon comportement de délégation et de frontières claires entre sous-agents.
Dans Mastra, ce modèle correspond directement aux agents superviseurs. Un agent superviseur définit des sous-agents dans la propriété agents et utilise stream() ou generate() pour les coordonner. Mastra fournit aussi des hooks de délégation, le filtrage des messages et l’isolation de la mémoire pour aider à contrôler ce modèle.
Suivez le tutoriel des agents superviseurs pour un guide pas à pas.
CouncilLien direct vers Council
Un modèle de conseil demande à plusieurs agents de travailler indépendamment sur le même problème, puis compare ou synthétise leurs sorties en une réponse finale. Contrairement à un superviseur, qui divise le problème en parties, un conseil conserve un problème partagé et confronte plusieurs points de vue à la même question.
Utilisez ce modèle lorsque la question est ambiguë, évaluative ou à fort enjeu, et que la qualité de la réponse importe davantage que la rapidité. Le compromis est le coût, car les conseils dupliquent intentionnellement l’effort et prennent généralement plus de temps et de tokens que les autres modèles.
Mastra ne fournit pas de primitive dédiée aux conseils. Dans Mastra, implémentez ce modèle avec des agents et des workflows : exécutez plusieurs agents en parallèle et collectez leurs sorties, puis ajoutez une étape finale de synthèse ou de revue. Des méthodes de flux de contrôle de workflow telles que .parallel() fournissent la structure de ce modèle.
Choisir un modèleLien direct vers Choisir un modèle
Ces modèles diffèrent principalement par leur répartition du contrôle :
| Modèle | Qui garde le contrôle | À utiliser lorsque | Compromis | Implémentation Mastra |
|---|---|---|---|---|
| Handoffs | Spécialiste actuel | La responsabilité doit passer entre spécialistes | Le transfert de contexte devient plus important | Agents avec workflows et mémoire |
| Workflows | Graphe d’exécution | Le chemin est connu à l’avance | Moins adaptatifs lorsque la tâche évolue | Workflows |
| Agents superviseurs | Un agent principal | La délégation doit s’adapter durant l’exécution | Les résultats dépendent d’une bonne coordination et de frontières claires | Agents superviseurs |
| Conseil | Étape finale de synthèse | La tâche exige plusieurs perspectives indépendantes | Coût et latence plus élevés | Agents avec parallélisme de workflow |
En pratique, ces modèles sont souvent combinés :
- Un workflow peut contenir une ou plusieurs étapes pilotées par un superviseur.
- Un flux de handoff peut commencer par un workflow de routage.
- Un conseil peut s’exécuter dans un workflow et alimenter une étape finale d’approbation.
- Un superviseur peut déléguer à un workflow une tâche dont la structure interne est fixe.
Choisissez le modèle en fonction du problème de coordination, et non du libellé de la tâche.