TypeScript AI Agent 框架怎么选:Mastra 和它的替代方案

TypeScript AI Agent 框架怎么选:Mastra 和它的替代方案

假设你是一个全栈团队的技术负责人。产品经理刚拍板:下个季度要给核心产品加上 AI agent 功能,用户可以用自然语言查数据、跑自动化流程、甚至让 agent 帮忙做多步骤的复杂决策。团队清一色 TypeScript 栈,前端 React,后端 Node.js,部署在 Vercel 或 AWS Lambda 上。你打开浏览器搜了一圈,发现 2026 年的 AI agent 框架已经多到让人眼花。

LangChain 生态最大,但它骨子里是 Python 项目,TypeScript 版本像个移植品;Vercel AI SDK 跟自家平台绑得很紧,适合前端场景但 agent 编排能力够不够?LlamaIndex 在 RAG 领域口碑极好,可它的 TypeScript 版又是什么水平?然后你看到了 Mastra。一个专门为 TypeScript 设计的 AI agent 框架,GitHub 上两万多颗星,号称”从原型到生产,一个框架搞定”。

这篇文章就从这个纠结出发,帮你把几个主流选项摊开来看。不是要评出一个冠军,不同团队的技术栈、场景、部署偏好差别太大,没有放之四海皆准的答案。我们聊的是:每个框架到底在解决什么问题,擅长什么,不擅长什么,以及什么样的团队应该认真考虑它。

先认识 Mastra:TypeScript 世界的”全家桶”

Mastra 是一个开源的 TypeScript AI 框架,由 Kepler Software 开发。创始人 Sam Bhagwat 之前联合创办过 Gatsby(那个曾被数十万开发者使用的 React 静态站点框架),所以 Mastra 从一开始就带着浓厚的 JavaScript 生态基因。

Mastra 的核心设计理念是“一个框架,所有原语”。它把构建 AI 应用需要的东西打包在一起:agents、tools、workflows、memory、evals(自动化评估)、以及可观测性(tracing、metrics、logs)。你不需要从五个不同的库里拼凑一个 agent 系统,@mastra/core 一个包,该有的都有。

实际体验上,Mastra 的开发者体验做得相当用心。npm create mastra@latest 一行命令就能脚手架出一个项目,自带 Mastra Studio(一个本地可视化调试界面,跑在 localhost:4111),可以直接在浏览器里测试 agent、观察 tool 调用链路、切换模型参数。模型路由用字符串格式(比如 openai/gpt-5.6-solanthropic/claude-sonnet-4-6),不需要额外导入 provider 包,框架自动根据环境变量找到对应的 API key。

Workflow 方面,Mastra 提供了基于图的状态机:支持顺序步骤、并行分支、条件逻辑、循环,每一步都可以挂 agent 调用或者纯函数。关键的是它支持 human-in-the-loop,workflow 可以在任意步骤暂停,等人类输入后恢复。这对需要审批流程的企业场景非常实用。

Memory 系统支持多层次:基础的消息持久化、线程感知的存储、语义召回,甚至有一个”观察式记忆”机制,能在对话过程中自动学习用户偏好。MCP(Model Context Protocol)支持也是一等公民:你可以定义 tool 然后通过 MCP 跨 agent 共享。

许可证方面需要注意:Mastra 的核心代码采用 Apache 2.0 协议(2025 年 7 月从 ELv2 切换过来),但仓库中 ee/ 目录下的企业功能(如 RBAC、SSO、Agent Builder 等)使用单独的企业许可证,生产环境使用需要跟 Kepler 签协议。对大多数开发者来说,Apache 2.0 覆盖的核心功能已经足够。

截至 2026 年 9 月,Mastra 在 GitHub 上有约 2.7 万颗星,npm 下载量持续增长。它的定位很清晰:如果你的团队是 TypeScript 技术栈,需要一个从 agent 定义到 workflow 编排到部署观测的一站式方案,Mastra 是目前最”原生”的选择。

LangChain / LangGraph.js:生态最大,但 TypeScript 是”二等公民”吗?

说 AI agent 框架不提 LangChain,就像说前端框架不提 React。LangChain 拥有整个领域最大的生态系统,GitHub 上 Python 主仓库星标数以万计,第三方集成、教程、社区资源铺天盖地。

TypeScript 开发者能用到的是 @langchain/core@langchain/openai@langchain/anthropic 等一系列 scoped 包,以及用于 agent 编排的 @langchain/langgraph。LangGraph 是 LangChain 团队专门为”有状态 agent”设计的编排层,基于图结构,支持循环、分支、持久化状态和短期/长期记忆。在 Python 端,LangGraph 已经成为构建复杂 agent 系统的事实标准。

JavaScript 版本的包名是 @langchain/langgraph,目前在 0.2.x 版本。配合社区维护的 @langgraphjs/toolkit,你可以获得 agent 模板、速率限制、token 预算控制、结构化日志等生产级工具。LangChain.js 主仓库(langchainjs)在 GitHub 上有约 1.8 万颗星,采用 MIT 协议。

LangChain 生态的核心优势是广度。几乎每一个 LLM provider、向量数据库、工具服务都有对应的 LangChain 集成包。如果你的项目需要对接大量第三方服务,LangChain 的集成层可以帮你省掉不少胶水代码。LangGraph 的图模型也非常灵活,它不会替你做太多决定,而是给你足够底层的控制权来定义 agent 之间的交互拓扑。

但 TypeScript 开发者需要注意一个现实:LangChain 的核心团队和主要精力一直在 Python 端。TypeScript 版本的文档、示例、新功能跟进,往往比 Python 慢一拍。社区中关于”LangChain.js 文档不够完善””API 跟 Python 版不一致”的反馈并不少见。如果你习惯了 TypeScript 生态里那种类型安全、自动补全到每个参数的开发体验,LangChain.js 偶尔会让你觉得有些粗糙。

另一个考量是抽象层级。LangChain 的设计哲学是提供大量可组合的抽象,这带来了灵活性,但也增加了概念负担。对于”我就是想快速搭一个能调 tool 的 agent”的场景,你可能需要理解 chain、prompt template、output parser、runnable 等一整套概念体系。LangGraph 在这方面更直接,但它本身也有一定学习曲线。

LangChain 最适合的场景:团队中有 Python 工程师、需要在 Python 和 TypeScript 之间共享 agent 逻辑和最佳实践、项目需要对接大量第三方集成、或者需要 LangSmith 这样的商业化观测和评估平台。

Vercel AI SDK:前端开发者的”舒适区”

如果说 Mastra 是 TypeScript agent 领域的”全家桶”,那 Vercel AI SDK 就是前端/全栈开发者的”最短路径”。

Vercel AI SDK 是真正意义上的 TypeScript 原生项目。它从第一天起就为 TypeScript 开发者设计,npm 周下载量达到千万级别。核心理念是让 AI 功能的集成像写一个 API route 一样自然:import { generateText } from 'ai',传入模型和 prompt,拿到结果。流式响应、多模型切换、provider 回退,全部内置,不需要自己处理底层细节。

2025 年底的 Ship AI 大会上,Vercel 发布了 AI SDK 6,首次引入了 agent 抽象。ToolLoopAgent 让你可以定义一个带 tool 的 agent,循环执行直到任务完成,并且支持 human-in-the-loop 的工具审批机制(needsApproval: true)。随后的 AI SDK 7 进一步深化了 agent 能力:WorkflowAgent 提供了持久化执行。agent 可以在进程重启、部署更新后恢复状态继续运行;HarnessAgent 则是一个统一接口,让你可以用同一套 API 驱动 Claude Code、Codex、OpenCode 等不同的 agent harness。

AI SDK 7 还加入了实时语音支持和视频生成能力,以及完整的遥测(telemetry)和生命周期事件系统。Vercel 同时推出了自家的 AI Gateway(统一接入 100 多个模型,无加价)、Sandbox(安全执行 agent 生成的代码)、和 Workflows(长运行 agent 的持久化基础设施)。

这里有一个微妙但重要的区别需要理解:Vercel AI SDK 是一个 SDK(软件开发工具包),不是一个框架。它给你提供了优秀的积木块(模型调用、流式处理、tool 定义、agent 循环),但不会替你决定项目结构、不管你的工作流怎么编排、不提供开箱即用的可视化调试界面。它更像是一个”AI 能力层”,你可以把它插入任何现有的 Next.js、Svelte、Vue 或 Node.js 项目中。

实际上,Mastra 底层的模型路由就是基于 Vercel AI SDK 构建的。两者不完全是竞争关系。Mastra 在 AI SDK 之上提供了框架级的结构(项目脚手架、Studio、workflow 引擎、memory 系统),而 AI SDK 本身更轻量、更灵活,适合那些不想被框架约束、只想在现有项目里加入 AI 能力的团队。

Vercel AI SDK 采用 Apache 2.0 协议,与 Next.js、React、Svelte、Angular、Vue、Nuxt、Solid 等主流前端框架都有良好集成。如果你的项目已经部署在 Vercel 平台上,AI SDK 配合 AI Gateway 和 Vercel Workflows 可以提供非常流畅的端到端体验。

最适合的场景:已有 Next.js / React 全栈项目需要加入 AI 功能、团队更偏前端背景、不想引入重量级框架、或者已经在 Vercel 平台上运行的项目。

LlamaIndex.TS:当你的核心问题是”让 AI 读懂我的数据”

如果你的 agent 需求核心是 RAG(检索增强生成),让 AI 基于你自己的文档、数据库、知识库来回答问题,LlamaIndex 几乎是绕不开的名字。

LlamaIndex 的 Python 版本在 GitHub 上有超过 5 万颗星,MIT 协议,是 RAG 领域公认的标杆项目。它的 TypeScript 版本 LlamaIndex.TS 作为独立包发布(npm 包名 llamaindex),支持 Node.js、Deno、Bun,甚至 Cloudflare Workers 等现代 JavaScript 运行时。

LlamaIndex 的核心能力链条非常清晰:文档加载 → 分块 → 向量化 → 索引 → 检索 → 生成。这是一条完整的 RAG 管线,每个环节都有丰富的策略可选。它的 LlamaParse 服务更是在文档解析领域建立了口碑。处理带复杂表格、图表、混合排版的 PDF 和文档时,解析精度非常高。

近两年 LlamaIndex 也在向 agent 方向扩展。LlamaIndex Workflows 提供了事件驱动的 agent 编排能力,LlamaAgents 则是用于多 agent 协作的更高层抽象。TypeScript SDK 也在持续更新,加入了 MCP 集成、分类服务等新功能。

但需要诚实地说:LlamaIndex.TS 的 agent 编排能力与 Mastra 或 LangGraph 相比,还不在同一个量级。LlamaIndex 的灵魂是数据处理和检索,agent 能力更像是在核心管线之上的延伸。如果你的项目 80% 的工作量是”让 AI 准确地从企业文档中找到答案”,LlamaIndex 几乎没有对手;但如果你需要复杂的多步骤 agent 编排、workflow 状态机、多 agent 协作,你可能需要把 LlamaIndex 的检索能力跟另一个编排框架(比如 Mastra 或 LangGraph)组合使用。

最适合的场景:以知识检索和文档问答为核心的应用、需要处理复杂文档格式(PDF、扫描件、混合排版)、团队已经在 Python 端使用 LlamaIndex 并想在 TypeScript 端保持一致的技术路线。

如果你不锁定 TypeScript:CrewAI 和 AutoGen

到这里,有读者可能会想:”我们团队虽然前端用 TypeScript,但后端可以跑 Python 服务。”如果语言不是硬约束,Python 生态里还有两个值得了解的选项。

CrewAI 的设计哲学特别有趣:它不让你手动定义 agent 之间的交互图,而是用自然语言描述每个 agent 的角色、目标和背景故事,由框架自动协调协作。它提供了两种架构模式:Crews(自主团队,agent 自行决定何时委派、何时提问)和 Flows(事件驱动管线,用于需要可预测性的生产场景)。CrewAI 内置了输出校验和 guardrails,当 agent 输出不符合预期格式时会自动重试并附带校验反馈。

CrewAI 的优势是上手极快。社区反馈普遍认为它是多 agent 框架中”从零到可运行原型”最快的选择。但它目前只支持 Python,如果你是 TypeScript 团队,就意味着需要额外维护一个 Python 服务。

AutoGen(现已演进为 Microsoft Agent Framework)走的是”对话驱动”路线:agent 之间通过多轮对话来协商、分工、综合结果。它的 GroupChat 机制允许多个 agent 在共享对话空间中交互,由一个 LLM 驱动的 Group Chat Manager 来决定每轮谁发言。AutoGen 内置了代码执行沙箱。agent 可以写代码、执行、观察结果、迭代修改,这在数据分析和研究场景中非常强大。

AutoGen 支持 Python 和 .NET,与 Azure 生态深度集成。不过需要留意的是,微软的战略重心正在向更广义的 Microsoft Agent Framework 转移,AutoGen 本身预计主要获得维护性更新。如果你在微软技术栈和 Azure 生态中,这是一个值得认真考虑的选项;否则,它的迁移不确定性是一个风险因素。

一张表,帮你快速定位

在展开说之前有个前提:没有哪个框架在所有维度上都是最优的。下面这张表是一个快速参考,帮你根据自己团队的情况缩小选择范围。

维度 Mastra LangChain / LangGraph.js Vercel AI SDK LlamaIndex.TS
语言定位 TypeScript 原生 Python 优先,TS 同步维护 TypeScript 原生 Python 优先,TS 独立维护
主打能力 Agent + Workflow + Memory 全家桶 生态集成 + 灵活的图编排 模型调用 + 流式 + 前端集成 RAG 管线 + 文档处理
Agent 编排 内置 workflow 状态机,human-in-the-loop LangGraph 图模型,高度灵活 ToolLoopAgent / WorkflowAgent Workflows 事件驱动,较轻量
部署方式 Node / Serverless / Mastra Cloud Node / 自托管 / LangSmith Cloud Vercel / Node / Edge / Serverless Node / Deno / Bun / Edge Workers
可观测性 内置 Studio + OpenTelemetry tracing 依赖 LangSmith(商业) 内置 telemetry + 生命周期事件 社区集成为主
开源协议 Apache 2.0(核心);企业功能单独授权 MIT Apache 2.0 MIT
适合谁 TS 团队要一站式 agent 方案 需要最大生态和跨语言一致性 已有前端项目加 AI 功能 以 RAG / 知识检索为核心

这张表省略了很多细节。比如 Mastra 的模型路由底层就是用 Vercel AI SDK 实现的,所以两者在模型接入能力上是等价的。再比如 LlamaIndex 的检索能力可以作为 tool 接入 Mastra 或 LangGraph 的 agent 系统,它们之间不一定是替代关系,也可能是组合关系。

怎么选:回到你的真实场景

说了这么多,决策其实可以归结为几个关键问题。

你的团队是纯 TypeScript 栈吗? 如果是,Mastra 和 Vercel AI SDK 是最自然的选择。两者的区别在于你需要一个”框架”还是一个”SDK”。如果你想要项目结构、调试工具、workflow 引擎开箱即用,选 Mastra;如果你只想在现有项目里轻量地加入 AI 能力,选 Vercel AI SDK。

你的核心需求是 RAG 还是 Agent 编排? 如果是前者,LlamaIndex.TS 值得作为首选或核心组件。如果是后者,Mastra 和 LangGraph.js 是更合适的编排层。

你需要跟 Python 团队共享技术栈吗? LangChain / LangGraph 在双语生态上的投入最大,概念模型在 Python 和 TypeScript 之间基本一致。如果你的组织有 Python 和 TypeScript 两个团队都在做 AI agent,LangChain 的跨语言一致性是独特优势。

你的部署环境是什么? 如果已经在 Vercel 上,AI SDK 的集成最丝滑。如果需要自托管或部署到任意 Node.js 环境,Mastra 和 LangGraph.js 都很灵活。如果需要跑在 Cloudflare Workers 或 Deno 上,LlamaIndex.TS 对多运行时的支持值得关注。

你介意框架的成熟度和社区规模吗? LangChain 生态最大、积累最深,遇到问题时最容易找到参考。Mastra 增长很快(两万多星),但毕竟比 LangChain 年轻。Vercel AI SDK 用户基数最大(千万级周下载),但它更多是被作为 SDK 使用而非 agent 框架。

一个务实的建议

如果你现在就要做决定,我的建议是:先从你最熟悉的工具开始,快速做一个最小可行原型(MVP),验证你的 agent 在真实场景下的表现。框架之间的切换成本,远没有”选错了方向导致 agent 效果不好”的成本高。

AI agent 框架这个领域在 2026 年仍然处于快速演化期。今天的最佳选择,六个月后可能会被新的能力或新的竞争者改写。Mastra 可能会进一步巩固它在 TypeScript agent 领域的地位,Vercel AI SDK 的 agent 能力可能会追上来,LangGraph 的 TypeScript 支持可能会持续改善,LlamaIndex 的 agent 编排可能会成熟到独当一面。

与其追求一个”完美的永久选择”,不如选一个当下最契合你团队能力和项目需求的工具,把精力花在真正重要的事情上,让你的 agent 在用户的真实场景中创造价值。框架是手段,产品才是目的。

延伸阅读

查看完整选型指南 →

Stay updated with our latest AI insights

Follow FuturePicker on Google
滚动至顶部