J'ai passé un après-midi le mois dernier à câbler un agent IA en TypeScript brut en utilisant directement le SDK Anthropic. Le code fonctionnait, mais j'en possédais chaque élément : la boucle de répartition de l'outil, le tableau de l'historique des conversations, la logique de nouvelle tentative. Environ 400 lignes avant que l'agent ne fasse quelque chose d'intéressant.
Mastra réduit ce chiffre à environ 60. Un cadre d'agent basé sur TypeScript avec plus de 24 000 étoiles GitHub, une cadence de publication active (88 versions en mai 2026) et un modèle de routeur qui communique avec plus de 40 fournisseurs via une seule API. Ce didacticiel passe de zéro à un agent en cours d'exécution avec un outil personnalisé et une mémoire persistante. Tout le code de cet article s'exécute.
| Étape | Ce que vous construisez | Temps |
|---|---|---|
| Installer | Projet d'échafaudage avec Mastra câblé | 5 minutes |
| Agent | Un agent avec une invite système et un modèle | 10 minutes |
| Outil | Un outil personnalisé que l'agent appelle | 15 minutes |
| Mémoire | Historique des conversations au fil des sessions | 10 minutes |
| Déployer | Un serveur HTTP en cours d'exécution | 5 minutes |
Les appels bruts du SDK vous donnent un contrôle total mais vous écrivez vous-même la couche d'orchestration : la boucle d'appel de l'outil, la gestion de l'historique, la gestion des erreurs, les tentatives. Des frameworks comme LangChain et LlamaIndex résolvent ce problème mais s'appuient fortement sur Python d'abord ; les ports TypeScript sont en retard sur les versions Python.
Mastra démarre à partir de TypeScript. Les primitives correspondent directement à ce que les développeurs TypeScript connaissent déjà : classes, schémas Zod, fonctions asynchrones. Aucun décalage de port n'existe car le framework lui-même est la version TypeScript.
Le compromis est le même que pour n’importe quel framework : vous échangez le contrôle contre la vitesse. Pour les prototypes et la plupart des agents de production, l'échange en vaut la peine. Dans les cas où la répartition des outils du framework ou le comportement de la mémoire ne correspond pas exactement à vos besoins, vous pouvez toujours supprimer une couche et appeler directement le SDK Vercel AI, que Mastra enveloppe sous le capot.
L'échafaudage Mastra crée tout ce dont vous avez besoin :
npm créer mastra@latest