
Mastra: framework TypeScript open-source per agenti AI
Scheda enciclopedica su Mastra, il framework TypeScript per costruire agenti AI, workflow e pipeline RAG in produzione.
Cos'è
Mastra è un framework open-source scritto in TypeScript per la costruzione di applicazioni e agenti basati su modelli di linguaggio di grandi dimensioni (LLM). Viene distribuito principalmente attraverso npm con il pacchetto principale @mastra/core e una serie di pacchetti satellite per storage, database vettoriali, valutazioni e integrazioni. Il progetto è stato avviato nel 2024 da Sam Bhagwat, Abhi Aiyer e Shane Thomas, gli stessi creatori di Gatsby, il noto generatore di siti statici per React poi acquisito da Netlify.
Mastra si posiziona come uno strumento pensato per sviluppatori che lavorano nell'ecosistema JavaScript/TypeScript e desiderano costruire sistemi agentici senza dover ricorrere a framework Python o a wrapper sottili intorno a librerie nate per altri ambienti. La licenza del core è Apache 2.0; alcune funzionalità avanzate collocate nelle directory ee/ del repository sono coperte da una licenza enterprise separata e richiedono un abbonamento commerciale per l'uso in produzione.
Il problema che risolve
Per lungo tempo, la maggior parte degli strumenti seri per la costruzione di agenti AI è stata sviluppata nell'ecosistema Python. Gli sviluppatori TypeScript dovevano quindi scegliere tra librerie portate parzialmente da Python, wrapper di basso livello, o l'assemblaggio manuale di più componenti — gestione dei prompt, chiamata di strumenti, memoria, osservabilità, valutazione — con il rischio di ottenere pipeline fragili e difficili da mantenere.
Mastra affronta questo problema offrendo un framework coeso e nativo per TypeScript, in cui agenti, tool, workflow, memoria, RAG, valutazioni e tracciabilità convivono sotto la stessa superficie API. L'obiettivo è ridurre la frizione tra l'idea di un agente e il suo deploy in produzione, mantenendo la type safety e le convenzioni familiari agli sviluppatori web.
Come funziona
Mastra si basa su un insieme di primitive che coprono il ciclo di vita completo di un'applicazione agentica:
- Agenti: entità in grado di gestire compiti aperti. Si definiscono con un modello, un system prompt e un insieme di tool. L'agente decide autonomamente quali tool invocare, quando fermarsi e come rispondere. Supporta sia risposte complete sia streaming di token.
- Tool: funzioni tipizzate definite tramite schemi Zod. Gli agenti le invocano in modo strutturato e i parametri di input e output sono validati e autococompletabili nell'editor.
- Workflow: pipeline deterministiche a grafo per orchestrare processi multi-step. Offrono metodi come
.then(),.branch()e.parallel(), con supporto per sospensione, approvazione umana e ripresa dallo stato persistito. - RAG: pipeline complete per retrieval-augmented generation, inclusi chunking di documenti, generazione di embedding, storage vettoriale, ricerca per similarità e reranking.