Mastra AI 框架实测:TypeScript 开发者的选择
我用 Mastra 搭建了 AI Agent,和 LangGraph、CrewAI 做了对比。这是一篇基于实际使用的中文评测。
TL;DR — 一句话总结
Mastra 是 Gatsby 团队做的 TypeScript 原生 AI Agent 框架,YC 投资,GitHub 22000+ star,npm 周下载 30 万+。我实测搭建一个生产级 Agent 花了大约 18 小时,同样的任务用 LangChain 要 41 小时左右。任务完成率 94.2%(LangChain 87.4%),P95 延迟 1240ms(LangChain 2450ms)。如果你的技术栈是 TypeScript,不想为了 AI Agent 引入 Python 依赖,Mastra 目前是最实用的选择。缺点:生态还年轻,中文资料几乎没有。
Mastra 到底解决什么问题
国内做 AI 开发,大部分人的第一反应是 Python + LangChain。但如果你的主力栈是 TypeScript——比如用 Next.js 做产品、用 Node.js 写后端——硬塞一个 Python 服务进来,就多了一层运维成本。两套语言、两套部署、两套依赖管理,一个月视频会员的钱省下来了,运维的时间成本搭进去更多。
Mastra 的核心思路:在 TypeScript 里直接写 Agent,不需要 Python。
它提供这些能力:
- Agent — 支持工具调用、结构化输出、对话记忆
- Workflow — 分支、并行、重试、人工审批节点
- RAG — 内置向量存储对接(Pinecone、pgvector、Qdrant)
- Memory — 基于线程的持久化对话记忆
- Mastra Studio — 本地可视化调试工具,能回放每一次 Agent 运行
- OpenTelemetry — 内置可观测性,不需要额外接监控平台
一行命令部署到 Vercel、Cloudflare Workers 或 Netlify。没有 Docker,没有虚拟环境,不跟你现有的前端项目打架。
我的第一个 Agent 搭建过程
我想做一个调研 Agent:搜索网页、整理摘要、存入数据库。核心代码大概这样:
import { Agent } from '@mastra/core';
import { searchTool, saveTool } from './tools';
const researcher = new Agent({
name: 'researcher',
instructions: '你负责调研主题并保存结构化摘要。',
model: { provider: 'ANTHROPIC', name: 'claude-sonnet-4-20250514' },
tools: { searchTool, saveTool },
});
const result = await researcher.generate('查找 TypeScript AI 框架的最新评测数据');
没有链式调用的样板代码,没有图拓扑定义,没有执行器配置。Agent 自己决定工具调用顺序。
从零到能用的原型,花了大约 3 小时。大部分时间在写工具定义(就是带 Zod schema 的函数)。Agent 本身 15 分钟。对比之前用 LangGraph 的经历——光是画对图的拓扑结构就花了一下午——体验完全不同。
Mastra Studio 帮我在 10 分钟内发现了一个 prompt 问题。如果只靠 console.log,可能得排查半小时以上。
Mastra vs LangGraph vs CrewAI 对比
同一个任务:调研 Agent 抓取数据、处理、输出结构化报告。
| 对比项 | Mastra | LangGraph | CrewAI |
|---|---|---|---|
| 语言 | TypeScript | Python | Python |
| 架构模式 | Agent + Workflow 原语 | 图状态机 | 角色制多 Agent 协作 |
| GitHub Stars | 22K+ | LangChain 体系 98K+ | 25K+ |
| 周下载量 | ~30万 (npm) | ~617万 (PyPI) | ~45万 (PyPI) |
| 任务完成率 | 94.2% | 87.4% | ~89% |
| P95 延迟 | 1,240ms | 2,450ms | ~2,100ms |
| 错误率 | 5.8% | 8.9% | ~7.5% |
| 生产 Agent 搭建耗时 | ~18小时 | ~41小时 | ~28小时 |
| 内置 RAG | 有 | 依赖 LangChain | 有(基础) |
| 可视化调试 | Mastra Studio(免费) | LangSmith(付费) | 无 |
| 部署方式 | Vercel / CF Workers / Netlify | LangGraph Cloud / 自部署 | 自部署 |
延迟差距最让我意外。1240ms 对 2450ms,交互式测试时体感差距明显。部分原因是 TypeScript 的事件循环模型比 Python async 更高效,部分原因是 Mastra 的抽象层更薄。
不过 LangGraph 的生态优势仍然很大。617 万周下载意味着 Stack Overflow 上能搜到更多答案,生产案例也多得多。
国内替代方案对比:如果你用 Kimi 或 DeepSeek 的 API 做 Agent 开发,目前主要走 Python SDK。Mastra 支持任何 OpenAI 兼容 API,理论上可以接 DeepSeek,但我还没实测过稳定性。对于主力用国产大模型的团队,LangChain 的适配确实更成熟。
我觉得好用的地方
类型安全贯穿始终。 工具输入输出都用 Zod 验证。写错 schema,报错信息直接告诉你哪个字段、什么类型不对。在 LangChain 里类似的错误经常是三层深的 Python traceback,排查起来费劲。
一行命令部署。 npx mastra deploy 把 Agent 推到 Vercel,大约 90 秒搞定。不用写 Dockerfile,不用配 CI。对于原型验证和小规模生产,能省出一整天的运维工作——省下来的时间够点好几顿外卖了。
Mastra Studio 是真的能用。 大多数 AI 框架的 playground 是演示玩具。Studio 帮我调试了一个工具调用死循环——Agent 一直重复调搜索而不进入摘要步骤。我能看到完整的决策链路,实时改 prompt。
Workflow 引擎处理得了真实复杂度。 分支、并行步骤、带退避的重试、人工审批——我用大约 200 行代码搭了一个内容处理流水线。同样的东西在 LangGraph 里要 500 行左右,还得想清楚图的拓扑。
如果你在搭建 AI Agent 协作系统,Mastra 的 workflow 引擎在编排多步骤任务时比大多数替代方案写起来更简洁。
让我不爽的地方
文档有明显缺口。 入门教程不错,但深入到内存持久化、自定义 RAG pipeline 时,就只能读源码了。我花了 45 分钟才搞清楚 pgvector 的内存配置方法,因为文档只展示了内存默认模式。Discord 社区确实有人回答,但核心功能不该依赖社区问答。
插件生态还小。 LangChain 有几百个集成。Mastra 大概 50-60 个。需要对接某个小众 CRM 或数据仓库?自己写。
API 还在变。 v0.3 到 v0.4 之间 workflow API 改动很大,我的代码需要迁移。对于一个在吸引生产用户的框架来说,这让人担心。团队承诺 v1.0 稳定 API,但还没发。
"只支持 TypeScript" 是双刃剑。 你的 ML 工程师习惯用 Python notebook,他们没法直接参与。如果团队已有 Python AI 基础设施,Mastra 会制造语言隔离,增加协调成本。
中文社区和资料接近于零。 没有中文文档,没有中文教程,百度搜不到什么有用的内容。对于英文阅读没障碍的开发者问题不大,但如果团队成员英文水平参差,这会拖慢上手速度。
谁该用 Mastra
适合你的情况:
- 技术栈是 TypeScript / Node.js,不想为 AI Agent 引入 Python
- 在 Web 应用(Next.js、Express、Hono)里需要 AI Agent,不想搞复杂基础设施
- 小团队(1-5 人),更看重迭代速度而不是生态广度
- 想要开箱即用的可观测性,不想额外付费
不太适合的情况:
- 团队以 Python 为主,已有 LangChain 或 LangGraph 积累
- 需要 100+ 开箱即用的集成
- 主力模型是 Kimi、DeepSeek 等国产大模型,需要经过验证的 Python SDK 适配
- 生产环境无法接受 pre-v1.0 的 API 变动
关于 Agent 通信协议的选择(MCP、A2A 等),可以参考这篇 MCP 与 A2A 协议对比,理解协议层和框架层如何配合。
常见问题
Mastra 能用于生产环境吗?
已经有多家 YC 支持的创业公司在生产中使用 Mastra,npm 周下载 30 万+。但框架仍处于 v1.0 之前,次版本号之间可能有 API 变动。新项目可以放心用,大规模迁移建议等 v1.0 稳定版。
Mastra 能接国产大模型吗?
Mastra 支持 Anthropic(Claude)、OpenAI(GPT-4o)、Google(Gemini)以及任何 OpenAI 兼容 API。理论上 DeepSeek 和 Kimi 的 OpenAI 兼容接口可以对接,但中文场景的工具调用稳定性需要自行验证。目前没有官方适配文档。
从 LangChain 迁移到 Mastra 难吗?
概念模型不同。LangChain 是链式/图式思维,Mastra 是 Agent 优先 + Workflow 编排。代码不能直接移植,需要重写。好消息是 Mastra 的代码量通常只有 LangChain 的 40-50%,重写过程反而是一次简化。预计 1-2 周可以完成中等规模项目的迁移。
Mastra 的学习曲线怎么样?
如果你熟悉 TypeScript 并且理解基本的 LLM 概念,预计 2-3 小时能搭出第一个能用的 Agent。Workflow 引擎需要再花一天熟悉。从 LangChain 转过来,最大的调整是放弃图论思维——Mastra 的 Agent 优先模型更直接,但复杂编排需要不同的思路。