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 应用的工程复杂度。它开源免费,成本主要在模型调用。按照本文步骤,你可以在十分钟内跑通第一个智能体,再逐步扩展为完整产品。

返回 AI 教程列表