跳到主要内容
Vantaige
Mastra screenshot
Mastra logo

Mastra

免费

Mastra 是一个用于构建生产级 AI 代理的开源 TypeScript 框架,由 Gatsby 幕后团队打造。它提供代理、持久化工作流、RAG、具有 SOTA LongMemEval 得分的内置记忆功能,以及一个可视化调试工作室。

使用场景:代码与开发
功能:APIOpen Source

Mastra 是一个用于构建生产级 AI 代理和多步 AI 应用程序的开源 TypeScript 框架。它由 Gatsby 幕后团队于 2024 年 10 月创建,由 Sam Bhagwat(首席执行官,Gatsby 联合创始人)、Abhi Aiyer(首席技术官,前 Netlify 首席工程师)和 Shane Thomas(首席产品官,前 Gatsby 核心工程师)领导。该框架入选了 Y Combinator 的 2025 年冬季批次,并于 2025 年 10 月筹集了 1300 万美元的种子轮融资,获得了 Paul Graham、Guillermo Rauch(Vercel 首席执行官)和 Amjad Masad(Replit 首席执行官)的支持。其核心采用 Apache 2.0 许可证,可免费自托管。

Mastra 提供了六个基础构建块:用于开放式推理并具有工具访问权限的 Agents(代理);使用流畅的 .then/.parallel/.branch/.foreach 链式语法进行确定性多步编排的 Workflows(工作流);用于文档检索的 RAG 管道;内置 Observational Memory(观察性记忆,在无需向量数据库的情况下,在 LongMemEval 基准测试中得分 94.87%)的 Memory(记忆);用于模型评分和基于规则的质量保证的 Evals(评估);以及 MCP(模型上下文协议)服务器集成。该框架支持在 OpenAI、Anthropic 和 Gemini 等 40 多家模型提供商之间进行路由。配套工具 Mastra Studio 允许开发者重放任何代理运行、检查每次工具调用并审查 Token 使用情况以进行调试。截至 2026 年 4 月,该项目已获得 23,500 多个 GitHub 星标,每周 npm 下载量超过 300,000 次,并在 Replit、PayPal、Adobe 和 Sanity 实现了生产部署。

Mastra 在 2026 年 4 月的实际功能

从核心来看,Mastra 是一个后端 TypeScript 框架。你可以通过组合模型提供商、一组工具以及可选的记忆配置来定义代理。工作流使用图式原语将这些代理和纯 TypeScript 函数链接在一起,读起来就像普通的模块代码,而不需要图论知识。suspend/resume 系统允许工作流在执行中途暂停,等待人工批准或外部事件,然后准确地从中断处继续。代理可以在 40 多家受支持的模型提供商中的任何一家上运行,并且无需重写代理逻辑即可切换提供商。

Mastra Studio 是随框架一起提供的本地开发 UI。每次代理运行都会存储完整的追踪记录:触发了哪些工具调用、每个调用的返回值、每步的 Token 数量以及发送的确切提示词。Studio 让你能够重放任何历史运行以诊断故障,而无需依赖 console.log 输出。一位开发者在 2026 年 3 月写道:“当他第一次重放代理运行并真正理解它为什么失败时,他意识到这种体验是多么罕见。”

于 2026 年 2 月推出的 Observational Memory 系统使用后台代理将旧的对话历史压缩为结构化观察结果,而不是简单的对话截断。这种方法在没有向量数据库的情况下,在 LongMemEval 基准测试中达到了 94.87%,团队报告称这在发布时处于 SOTA(最先进)水平。RAG 管道与相同的检索基础设施原生集成,因此构建知识库代理的团队可以使用单一连贯的记忆栈,而不是将独立的工具拼凑在一起。

2026 年 4 月 28 日发布的 @mastra/[email protected] 是最新的稳定版本。该框架支持在 Vercel、Cloudflare Workers、Netlify 以及任何标准的 Node.js 服务器上部署。在 2026 年 1 月的 Mastra 1.0 版本中引入的 Server Adapters(服务器适配器),可自动将代理、工作流、工具和 MCP 服务器暴露为 Express、Hono、Fastify 或 Koa 应用程序的 HTTP 端点。这意味着 Mastra 代理同时也是一个 API 端点,且无需任何额外配置。

Mastra 与 Vercel AI SDK 和 LangChain 的定位对比

最常见的比较是与 Vercel AI SDK,这需要一个准确的答案,因为这些工具通常是一起使用的,而不是相互竞争。Vercel AI SDK 是一个针对流式传输优化的工具包,用于构建消费 AI 模型的 React 和 Next.js UI 组件。它处理模型流式传输、基本工具调用以及用于聊天界面的 React Hooks。Mastra 实际上在内部使用 AI SDK v6 进行模型路由。在多个社区帖子中记录的典型生产模式是:前端流式组件使用 AI SDK,后端代理逻辑使用 Mastra。单独使用 AI SDK 构建代理的关键机制限制在于:在 Vercel 托管上,最大执行超时为 5 分钟,请求体限制为 4.5MB,而这两者都不会限制自托管的 Mastra 部署。

LangChain 是更广泛的竞争对手。截至 2026 年初,LangChain 提供了数百个集成,而 Mastra 只有 50-60 个。但 LangChain.js 一直落后于 Python 原版:JS 移植版通常落后几个版本,大多数社区示例都是以 Python 为先,Stack Overflow 的答案也偏向 Python。NextBuild 在 2025 年 12 月的一项基准测试显示,Mastra 的开发者体验得分为 9/10,而 LangChain 为 5/10;任务完成率为 94.2% 对 87.4%;P95 延迟约为 1,240ms 对 2,450ms(LangChain 的数据包含了基准测试设置中的 Python 子进程开销)。对于一个类似的生产级代理,Mastra 的设置时间为 18 小时,而 LangChain 为 41 小时。一位开发者在 2026 年 1 月的 dev.to 上指出,TypeScript 编译捕获了“在 Python 中会默默通过但在 TypeScript 中会抛出编译时错误的格式错误的工具输出”,这种类型安全的优势在以 Python 为先的工作流中是不存在的。

对于已经在将 Mastra 与其他 TypeScript 代理框架进行比较的团队来说,CrewAI 基于 Python,擅长基于角色的多代理协作,但需要运行 Python 进程。LlamaIndex 具有更深入的 RAG 专属功能集,但其代理和工作流编排不如 Mastra 完整。LangChain 和 LangGraph 在 Python ML 生态系统中仍然占据主导地位,但它们的 JavaScript 移植版存在明显的对等差距。

“如果你编写 TypeScript 并且需要没有 Python 开销的 AI 代理,Mastra 是最强大的选择。”——评论者,OpenAIToolsHub.org,2025
“AI 框架中的大多数‘游乐场’工具都是演示玩具。Studio 真正帮助我进行了调试。”——评论者,OpenAIToolsHub.org,2025

代理循环的实际情况

定义一个基本的 Mastra 代理大约需要 15-20 行代码:导入框架、配置模型提供商、将工具附加为类型化的 TypeScript 函数,并实例化代理。然后,该代理可以作为本地对象使用,或者通过 Server Adapters 作为 HTTP 端点使用。添加记忆只需一行配置更改,即可连接 Observational Memory 后端。工作流使用流畅的链式 API 组合代理和纯 TypeScript 函数。

复杂性出现在超出 Mastra 预期模式的分支逻辑中。在 2026 年 1 月的 1.0 发布时,多位 HN 用户指出,与命令式代码相比,工作流中复杂的条件分支感觉“笨重”,并且一些边缘情况需要降级到自定义的 Hono 路由才能获得正确的行为。这是任何固执己见(opinionated)的框架的真正局限性:80% 的情况变得极其简单,但 20% 的情况需要绕过设计假设。

熟悉使用 LiteLLM 或 OpenRouter 进行模型路由的团队会发现 Mastra 的提供商抽象很熟悉,但集成度更高:提供商切换是一行配置而不是 API 调用,并且评估和可观测性工具知道每次追踪使用了哪个提供商。

Mastra 是为谁构建的

对于希望在不将 Python 引入其技术栈的情况下获得生产级 AI 代理的 TypeScript 和 Node.js 团队来说,Mastra 是正确的选择。这包括初创公司和中型公司的全栈 JavaScript 团队、构建代理驱动功能的 Next.js 开发者、部署到 Vercel 或 Cloudflare 且希望从前端到后端使用单一 TypeScript 代码库的团队,以及希望在其 AI 代码中获得类型化工具接口和编译时安全性的后端工程师。截至 2026 年初,确认使用 Mastra 的生产公司包括 Replit、PayPal、Adobe、Sanity 和 Marsh McLennan。

该框架非常适合那些已经触及快速启动 AI SDK 极限的团队。如果你使用过 AI SDK 或纯 OpenAI 客户端,并发现调试代理很痛苦、添加记忆并非易事,或者运行评估需要构建自定义工具,Mastra 在单一依赖项中解决了所有这三个痛点。这三部分的组合,特别是带有类型化工具的代理、具有 suspend/resume 功能的持久化工作流以及 Observational Memory 系统,代表了大多数 AI 框架只能零散提供的生产级基准。Mastra 在一个 Apache 2.0 许可证下将这三者作为一等原语提供。

社区的增长反映了这一定位。在 2025 年 3 月的 YC 演示日上,Mastra 是少数几家展示开发者实际在生产中使用的框架,而不是演示游乐场的开发者工具公司之一。到 2025 年 10 月宣布种子轮融资时,该团队已经拥有 300 多名贡献者、4,800 名 Discord 成员,以及从 Replit 到 PayPal 等公司的确认安装基础。著名的 TypeScript 教育家 Matt Pocock 将该框架描述为销售“你可以调试、扩展和信任的工具”,这抓住了 Mastra 与那些优先考虑演示而非可调试性的代理库的区别。

评估 Mastra 用于其首个代理项目的团队应该做好准备,一旦超越了文档中的示例,就需要花大量时间阅读 Discord 和源代码。文档很好地涵盖了基本模式,但在高级工作流分支和记忆定制方面存在空白,需要社区支持来填补。对于一个拥有 15 个月历史且发布节奏激进的框架来说,这是很典型的,团队已承诺在 2026 年将改进文档作为优先事项。

Mastra 不是什么

Mastra 不是 Python 框架,也没有 Python 绑定。如果你的团队以 Python 为先,或者你的基础设施依赖于科学 Python 生态系统进行 ML 管道,那么该框架并不适合。尽管存在开发者体验(DX)上的权衡,LangChain 或 LangGraph 将更好地服务于该场景。

Mastra 不是一个完全的无代码工具。你需要编写 TypeScript。没有为非开发者提供的可视化拖拽式工作流构建器。需要无代码代理构建器的团队应该寻找其他工具。

Mastra 不能替代像 Datadog 或 Honeycomb 这样的完整可观测性平台。Mastra Studio 很好地涵盖了特定于代理的追踪,但基础设施级别的可观测性仍然需要外部工具。

集成数量的限制是真实存在的。如果你的代理需要连接到 LangChain 集成的数十种服务之一,而 Mastra 尚未支持,你将需要编写自定义工具适配器。对于全新的 TypeScript 项目,这通常没问题;但对于移植现有的 LangChain 代理,这种集成差距需要手动评估每个依赖项。

最后,Mastra 不适合专门在 Vercel 托管上运行的长时间运行代理(这不是 Mastra 的错,但值得指出):Vercel 的 5 分钟超时和无服务器执行模型限制了任何需要运行更长时间或保持状态的代理。在标准 Node.js 服务器上的自托管路径消除了这些限制。

用户评价

暂无评价,快来分享你的第一条体验吧!

登录 后即可撰写评价。

收录于精选合集

包含 Mastra 的精选合集。

相关文章

与 Mastra 相关的指南和文章。