Mastra 使用介绍:功能、价格与上手指南
Mastra 是面向 TypeScript 开发者的 AI 应用与工作流框架,支持智能体、工具调用、RAG 与工作流编排。本文介绍其核心功能、定价模式,并提供可执行的上手指南。
Mastra 是一个面向 TypeScript 开发者的 AI 应用与工作流框架,目标是让智能体、工具调用、检索增强生成(RAG)和复杂流程编排变得像写普通后端代码一样自然。本文从功能、价格和上手步骤三个角度,帮助你判断它是否适合你的项目。
Mastra 是什么
Mastra 提供一套统一的 API 和运行时,把大语言模型、工具、记忆、工作流和部署整合到同一个项目中。它不绑定特定模型厂商,支持 OpenAI、Anthropic、Google Gemini 等,也允许自定义模型接入。
核心功能
1. 智能体(Agents)
智能体是 Mastra 的基本单元。你可以为它指定模型、系统提示词、可用工具和记忆策略,然后用一句 agent.generate() 或 agent.stream() 调用。
- 支持多轮对话与流式输出
- 可挂载工具、工作流和其他智能体
- 内置记忆接口,便于持久化上下文
2. 工具(Tools)
工具让智能体能够执行真实操作,例如查数据库、调用 API、读取文件。Mastra 工具使用 Zod 定义输入输出,类型安全且易于校验。
3. 工作流(Workflows)
工作流适合把多个步骤编排成可预测的流程,例如“抓取数据 → 总结 → 生成报告 → 发送邮件”。每个步骤可以独立测试,支持条件分支、并行执行和错误处理。
4. RAG 与向量存储
Mastra 提供文档分块、嵌入生成、向量检索和上下文注入的完整链路,支持多种向量数据库,方便构建知识库问答。
5. 本地开发与部署
内置开发服务器和 Playground,可以实时调试智能体与工作流。项目可部署到 Node.js 环境或 Serverless 平台。
价格方案
Mastra 本身是开源框架,核心代码可免费使用。实际成本主要来自两部分:
| 项目 | 说明 |
|---|---|
| 框架费用 | 开源免费,无强制订阅 |
| 模型调用 | 按所选厂商的 API 计费,如 OpenAI、Anthropic |
| 向量数据库 | 自托管免费,云服务按用量计费 |
| 托管平台 | 若使用 Mastra Cloud 等托管服务,按官方定价 |
对个人开发者和小型项目,通常只需承担模型调用费用。建议先用低价模型验证流程,再切换到更强模型。
上手指南
第一步:创建项目
npx create-mastra@latest my-app
cd my-app
npm install
第二步:配置模型
在 .env 中设置 API Key,例如:
OPENAI_API_KEY=your_key_here
第三步:定义智能体
import { Agent } from "@mastra/core/agent";
import { openai } from "@ai-sdk/openai";
export const assistant = new Agent({
name: "assistant",
instructions: "你是一个简洁的中文助手。",
model: openai("gpt-4o-mini"),
});
第四步:添加工具
import { createTool } from "@mastra/core/tools";
import { z } from "zod";
export const weatherTool = createTool({
id: "get-weather",
description: "查询城市天气",
inputSchema: z.object({ city: z.string() }),
execute: async ({ context }) => {
return { city: context.city, temp: 22 };
},
});
第五步:运行与调试
npm run dev
打开 Playground,即可与智能体对话并观察工具调用过程。
适用场景与注意事项
Mastra 适合需要快速搭建 AI 后端、希望保持类型安全、并且不想被单一模型厂商锁定的团队。需要注意:
- 它偏向 TypeScript 生态,其他语言支持有限
- 复杂工作流仍需良好的工程设计
- 生产环境要关注 API 成本、速率限制和错误重试
结论
Mastra 用统一的框架把智能体、工具、工作流和 RAG 整合起来,降低 AI 应用的工程复杂度。它开源免费,成本主要在模型调用。按照本文步骤,你可以在十分钟内跑通第一个智能体,再逐步扩展为完整产品。