Chapter 01

Mastra 概览:TS 世界的 Agent 框架地貌

过去 12 个月,TypeScript 生态里做 AI 有四条路。我们先把地形看清——知道了每条路的优劣,才能讲清为什么选 Mastra。

四条 TypeScript AI 路径

Vercel AI SDK
Vercel 出品,专注"把 LLM 调用包装成流式 API"。功能聚焦于 model 抽象、streaming、tool calling,不涉及 workflow/memory/eval。轻,适合 Next.js App 的聊天功能。
LangChain.js / LangGraph
Python 版 port。生态大但 JS 版一直慢一拍,LangGraph 近年追上,但 API 仍略重,与 TS 惯用写法有距离。
Genkit(Google/Firebase)
Firebase 子产品,绑定 Google Cloud 较深,适合 GCP 重度用户。
Mastra
Gatsby 原班人马 2024 开源,目标:让 TS 全栈开发者用最少概念完成 Agent/Workflow/RAG/Eval 全链路。底层用 AI SDK,上层自己做 Memory、Workflow、Eval。

能力矩阵

能力AI SDKLangGraph JSGenkitMastra
模型抽象✅(直接用 AI SDK)
Tool Calling✅(Zod schema)
Workflow 编排部分
Memory 层Checkpointer✅(线程+语义+工作)
RAG 开箱需自拼
Eval社区Firebase Test✅(LLM-as-judge)
本地 PlaygroundLangGraph StudioGenkit UI✅(npm run dev)
观测性LangSmithGoogle Cloud✅(OTel 标准)
TS 风格原生混 Py 翻译味原生原生

Mastra 的六个核心概念

┌────────────────────────────────────────┐ │ Mastra (入口) │ │ agents, tools, workflows, │ │ vectors, storage, logger, telemetry │ └────────────────────────────────────────┘ │ ┌───────┼───────┐ ▼ ▼ ▼ Agent Workflow RAG │ │ │ │ step/branch Vector Store ▼ │ Tools ... │ ▼ External API
Mastra(主入口)
类似 NestJS 的 App,把所有 agent/tool/workflow 注册到同一个实例,便于统一日志、遥测、部署。
Agent
一个指定 instructions、model、可用 tools 的 LLM 角色。agent.generate(text) 返回答案。
Tool
Agent 可调用的外部能力,参数用 Zod schema 描述,运行时类型安全。
Workflow
由 step 组成的 DAG,支持分支、并行、循环。比 Agent 更可控,适合多步流程。
Memory
Agent 上下文的持久化层,线程对话、语义召回、长期工作记忆。
Storage / Vector
跨组件共享的底层存储,libsql/pg/cloudflare D1 等 provider,RAG 用 pgvector/pinecone/qdrant。

什么时候选 Mastra

适用场景

什么时候别选

社区与版本

本章小结