Mastra fournit des abstractions TypeScript pour agents, outils et workflows. La décision essentielle n’est pas le choix du modèle, mais l’endroit où placer le contrôle : confier au modèle une décision souple ou encoder dans un workflow une séquence métier prévisible.
Agent, outil ou workflow ?
Un agent associe instructions, modèle et outils pour choisir dynamiquement une action. Un outil est une fonction typée avec schéma d’entrée et exécuteur. Un workflow relie des étapes avec entrées et sorties structurées, branches, parallélisme ou boucles. Utilisez l’agent pour l’interprétation ; utilisez le workflow pour les garanties de processus.
Construire des outils sûrs
Donnez à chaque outil une description précise et un schéma strict. Validez de nouveau les autorisations dans l’exécuteur, car un schéma correct ne prouve pas que l’utilisateur peut effectuer l’action. Séparez lecture et écriture, rendez les écritures idempotentes et exigez une confirmation pour les effets difficiles à annuler.
Préférer un workflow pour les processus métier
Une procédure « extraire, vérifier, faire approuver, publier » doit rester explicite. Chaque étape reçoit une donnée structurée et renvoie un résultat validé. Les branches représentent des règles visibles, et la reprise ne dépend pas de la mémoire du modèle. Un agent peut intervenir dans une étape pour classer ou rédiger sans contrôler tout le processus.
Exemple d’architecture
Une demande de contenu entre dans un workflow. Une étape valide le sujet, un agent produit un brouillon avec des outils de recherche autorisés, une étape vérifie le schéma, puis le workflow attend une approbation. La publication est une étape distincte et idempotente. Cette séparation facilite audit, tests et reprise après erreur.
Observabilité et évaluation
Tracez la durée, le modèle, les tokens, les appels d’outils et le résultat de chaque étape. Créez un jeu de cas pour évaluer l’agent indépendamment du workflow. Les sorties intermédiaires doivent pouvoir être rejouées sans rappeler systématiquement le modèle, ce qui accélère le débogage et évite des coûts inutiles.
Checklist
- Frontières agent/workflow décidées explicitement.
- Schémas d’entrée et sortie à chaque effet externe.
- Limites de durée, étapes et coût.
- Autorisations contrôlées dans les outils.
- Reprise, doublons et échecs partiels testés.
- Traces filtrées et corrélées.
FAQ
Mastra remplace-t-il toutes les fonctions TypeScript ?
Non. Gardez le métier déterministe dans des fonctions ordinaires et utilisez le framework pour l’orchestration utile.
Un workflow est-il moins intelligent qu’un agent ?
Il est plus prévisible. On peut intégrer des étapes agentiques aux endroits où l’incertitude apporte de la valeur.
Peut-on changer de fournisseur de modèle ?
Les abstractions facilitent ce changement, mais il faut retester outils, sorties structurées, qualité et coûts.