Mastra — фреймворк для AI-агентов на TypeScript
📂 Исходный код на GitHubФреймворк для создания AI-приложений и агентов на современном TypeScript-стеке: агенты, графовые workflows, память, RAG и MCP.
Mastra — это open-source фреймворк для создания AI-приложений и агентов на TypeScript. Проект прошёл через Y Combinator (батч W25), а его ядро распространяется по лицензии Apache 2.0. Идея простая: собрать в одном стеке всё, что нужно для вывода AI-функций в продакшен. От первых прототипов до работающего сервиса — без смены инструментов на полпути.
Фреймворк интегрируется с React, Next.js и Node.js. Его можно развернуть и как отдельный сервер. Заявленная цель — чтобы строить, настраивать и масштабировать надёжные AI-продукты было просто.
Что входит в набор
Mastra закрывает полный цикл работы с AI-функциями. Команда описывает его как набор проверенных AI-паттернов «из коробки»: вместо сборки приложения из отдельных библиотек вы получаете готовые блоки, которые рассчитаны на совместную работу. Ключевые возможности:
- Model routing — единый интерфейс к 40+ провайдерам моделей: OpenAI, Anthropic, Gemini и другие.
- Агенты — автономные LLM-агенты, которые сами выбирают инструменты и доводят задачу до ответа.
- Workflows — графовый движок для многошаговых процессов с явным контролем.
- Human-in-the-loop — пауза агента и ожидание одобрения человека.
- Контекст и память — история диалога, поиск по вашим данным (RAG) и «человеческая» память.
- MCP-серверы — публикация агентов и инструментов по протоколу Model Context Protocol.
- Evals и наблюдаемость — замер качества и мониторинг работы в продакшене.
Разберём эти части подробнее.
Маршрутизация моделей
Через один стандартный интерфейс Mastra подключает десятки провайдеров. Список доступен на странице моделей. Практический смысл: модель можно заменить почти без правок кода. Это упрощает эксперименты и защищает от привязки к одному вендору.
Агенты
Агент в Mastra получает цель и работает самостоятельно. Он сам решает, какие инструменты применить, и действует итеративно. Цикл продолжается, пока модель не выдаст финальный ответ или не сработает условие остановки.
Такой подход подходит для открытых задач, где заранее не известен точный план действий. Разработчик описывает цель и набор инструментов, а агент сам выстраивает маршрут к результату. Подробнее об устройстве агентов — в документации.
Workflows
Не всякую задачу можно доверить свободному агенту. Исследовательские задачи с неизвестным планом — да. Но в бизнес-процессах порядок шагов обычно фиксирован, и тут нужен явный контроль. Для таких случаев в Mastra есть графовый движок. Многошаговые процессы описываются читаемым синтаксисом:
.then()— последовательные шаги;.branch()— ветвления по условию;.parallel()— параллельные шаги.
Такой код легко читать и тестировать. Полное описание — в документации workflows.
Человек в контуре
Агента или workflow можно поставить на паузу и дождаться ввода или одобрения пользователя. Это важно для сценариев, где ошибка стоит дорого: отправка платежа, публикация контента, доступ к внешним системам.
Mastra сохраняет состояние выполнения в хранилище. Поэтому пауза может длиться сколько угодно долго — хоть часы, хоть дни. Потом выполнение продолжится с того же места. Механизм описан в разделе suspend and resume.
Контекст и память
Правильный контекст в правильный момент — половина успеха агента. Mastra даёт несколько слоёв:
- История диалога — базовая связность разговора.
- RAG — извлечение данных из ваших источников: API, баз, файлов.
- Observational Memory — «человеческая» память. Агент запоминает наблюдения из диалогов и ведёт себя связно даже в новых сессиях.
MCP-серверы
Mastra умеет не только потреблять внешние инструменты, но и публиковать свои. Через встроенную поддержку MCP можно выставить наружу агентов, инструменты и другие структурированные ресурсы. После этого ими сможет пользоваться любая система, которая говорит на Model Context Protocol.
Это удобный способ превратить внутренние агенты в переиспользуемые сервисы. Подробнее — в обзоре MCP.
Evals и наблюдаемость
Надёжные агенты не получаются сразу. Их качество нужно замерять, логи — смотреть, а слабые места — исправлять. Для этого в Mastra встроены evals и observability.
Evals позволяют проверять ответы модели по заданным критериям. Наблюдаемость показывает, что агент делал на каждом шаге. Это важно, потому что поведение моделей меняется от версии к версии, и без замеров регресс легко пропустить. Вместе эти инструменты дают цикл: наблюдаешь, измеряешь, улучшаешь.
Интеграции с приложениями
Агентов и workflows можно встроить в существующее приложение на React, Next.js или Node.js. Альтернатива — отдать их наружу как отдельные HTTP-эндпоинты.
Для интерфейсов есть поддержка agentic-библиотек: Vercel AI SDK UI и CopilotKit. С ними AI-ассистента можно показать пользователю прямо на веб-странице.
Быстрый старт
Рекомендуемый способ начать — официальный генератор проектов:
npm create mastra@latest
Пошаговая настройка — в документации. Генератор задаёт минимум вопросов: имя проекта и провайдер моделей. Затем он создаёт проект, устанавливает Mastra-скиллы для обнаруженных AI-ассистентов и при необходимости инициализирует Git.
После создания проекта и запуска dev-сервера открывается Mastra Studio на http://localhost:4111. Это визуальный интерфейс для сборки, тестирования и управления агентами, workflows и инструментами.
Команда сама активно работает с AI-инструментами. В руководстве Build with AI описано, как превратить вашего агента в эксперта по Mastra. Новичкам пригодятся шаблоны проектов, курс и YouTube-канал команды.
Лицензия
У репозитория двойная лицензия. Ядро и почти весь код — под Apache 2.0. Исключение — каталоги ee/: их код доступен под Mastra Enterprise License. Для разработки и тестирования им можно пользоваться свободно, а для продакшена нужна корпоративная лицензия. Полная карта лицензий — в файле LICENSE.md.
Вопросы и поддержка — в открытом Discord-сообществе. Основной пакет @mastra/core доступен на npm.
Источник: https://github.com/mastra-ai/mastra