⚡ Mastra:23.9k Stars 的 TypeScript AI Agent 框架,Gatsby 团队出品,一行命令搭好生产级 Agent
> 项目地址:[mastra-ai/mastra](https://github.com/mastra-ai/mastra) | ⭐ 23.9k Stars | 🛠 TypeScript | 📦 YC W25
---
老实说,现在写 AI Agent 的框架多到能编本字典了。但大部分不是绑死某个 AI 厂商,就是文档看得人想睡觉。这周发现个还不错的——**Mastra**,Gatsby 团队出品,YC W25 孵化,23.9k Stars,**一套 TypeScript 栈搞定从原型到生产的所有事情**。
最骚的是这玩意儿不是那种"给你个 SDK 你去折腾吧"的路子,而是真的把 Agent、Workflow、RAG、Memory、Evals、Observability 全打包好了,一条命令初始化,5 分钟跑起来。
## ⚡ 一行命令启动
```bash
npm create mastra@latest
```
跟着 CLI 选模板就行,它会帮你搭好完整的项目骨架,包括 Agent 配置、工具链、开发服务器。你不需要自己配 Webpack、Vite 或者什么乱七八糟的。
## 🛠 写一个能自己干活的 Agent
```typescript
import { Agent } from '@mastra/core/agent';
import { openai } from '@ai-sdk/openai';
const agent = new Agent({
name: 'my-agent',
instructions: '你是一个有用的助手。回答问题时简洁、准确。',
model: openai('gpt-4o'),
});
const result = await agent.generate('解释一下 Mastra 的 Workflow 引擎');
console.log(result.text);
```
20 行代码不到,一个能跑生产环境的 Agent 就出来了。**每个模型提供商都是一个统一的接口**,换模型只需要改一行字符串。
## 🔄 Workflow:明确流程控制
Agent 适合开放式的任务,但有些场景你需要精确控制每一步的执行顺序。Mastra 的 Workflow 用 `.then()` / `.branch()` / `.parallel()` 这种直观的语法,把多步骤流程串起来:
```typescript
import { Workflow } from '@mastra/core/workflow';
const workflow = new Workflow({
name: '代码审查流程',
})
.step('fetch_pr')
.then('analyze_code')
.then('generate_review')
.then('post_comments');
const result = await workflow.execute({ prUrl: '...' });
```
踩过的坑:别把 Workflow 和 Agent 混着用——**Agent 适合决策,Workflow 适合流程**。非要让 Agent 去执行 Workflow 的逻辑,你的 token 会死得很难看。
## 🧠 记忆层:Agent 不会转头就忘
给 Agent 加记忆是最容易被忽视的事。Mastra 内置了三种记忆模式:
- **对话历史**:记住上下文
- **工作记忆**:类似人脑的 scratchpad
- **语义召回**:向量搜索相关记忆
```typescript
const agentWithMemory = new Agent({
name: '客服助手',
instructions: '记住用户上次对话的内容。',
model: openai('gpt-4o'),
memory: {
type: 'working',
maxTokens: 2000,
},
});
```
别问为啥要单独提这个——我见过太多项目上线后发现 Agent 把上句话的事都忘了,用户直接开骂。
## 🔌 跟 React / Next.js 整合
Mastra 可以直接嵌入你的前端项目,也可以独立部署:
```bash
# 作为独立服务启动
npx mastra dev
# 在 Next.js 中用
npm install @mastra/core @ai-sdk/openai
```
它跟 Vercel AI SDK 和 CopilotKit 都能混用,前端搭个聊天 UI 非常丝滑。
## 📊 可观测性 & Evals
生产环境没有观测就是盲飞。Mastra 内置了 Evals 和可观测性:
```typescript
import { evaluate } from '@mastra/core/eval';
const score = await evaluate({
input: '...',
output: result.text,
metric: 'faithfulness', // 检查幻觉
});
console.log(score); // { score: 0.95, ... }
```
## 要点总结
- **一行命令初始化**:`npm create mastra@latest`,5 分钟上手
- **统一接口**:40+ 模型提供商,换模型改一行代码
- **Agent + Workflow 分离**:Agent 决策,Workflow 流程,互不干扰
- **内置记忆层**:对话历史、工作记忆、语义召回,三种模式开箱即用
- **生产就绪**:Evals 防幻觉,可观测性防盲飞,MCP 服务器随意暴露接口
如果你想用 TypeScript 做 AI 应用又不想折腾基建,Mastra 是目前最省心的选择。