コンテンツにスキップ

Mastra - TypeScript AI エージェントフレームワーク チートシート

Mastra - TypeScript AI エージェントフレームワーク チートシート

Mastra は AI エージェントとワークフロー構築用のオープンソース TypeScript フレームワーク で、Gatsby チームにより構築されています。ほとんどのエージェントフレームワークが Python ファーストである一方、Mastra は JavaScript/TypeScript エコシステムをターゲットとしており、完全な型安全性を備えています: ツールとメモリを持つ型付きエージェント、分岐と中断/再開を持つグラフとして表現される耐久的ワークフローRAG プリミティブ、組み込み評価、ブラウザでエージェントを反復するためのローカルデブプレイグラウンド。

インストール

方法コマンド
プロジェクト作成npm create mastra@latest
既存に追加npm install @mastra/core
デブサーバーnpm run dev (プレイグラウンド at localhost:4111)
モデルプロバイダーnpm install @ai-sdk/openai (Vercel AI SDK を使用)
確認プレイグラウンドを開く

エージェント定義

import { Agent } from "@mastra/core/agent";
import { openai } from "@ai-sdk/openai";

export const supportAgent = new Agent({
  name: "support",
  instructions: "You are a concise support agent. Cite docs when possible.",
  model: openai("gpt-4o"),
  tools: { searchDocs },
});

const result = await supportAgent.generate("How do I rotate my API key?");
console.log(result.text);
メソッド実行内容
.generate(input)1 回実行して結果を返す
.stream(input)トークン/ステップをストリーム
toolsエージェントが呼び出す可能性のある型付きツール
memory永続的な会話メモリ

ツール

import { createTool } from "@mastra/core/tools";
import { z } from "zod";

export const searchDocs = createTool({
  id: "search-docs",
  description: "Search the product documentation",
  inputSchema: z.object({ query: z.string() }),
  outputSchema: z.object({ results: z.array(z.string()) }),
  execute: async ({ context }) => {
    return { results: await search(context.query) };
  },
});

Zod スキーマはエンドツーエンド型安全性を提供します。エージェントのツール呼び出しは両側で検証され型付けされます。

ワークフロー (耐久的グラフ)

import { createWorkflow, createStep } from "@mastra/core/workflows";

const fetchData = createStep({ id: "fetch", execute: async () => ({ ... }) });
const analyze   = createStep({ id: "analyze", execute: async ({ inputData }) => ({ ... }) });

export const pipeline = createWorkflow({ id: "pipeline" })
  .then(fetchData)
  .then(analyze)
  .commit();
機能目的
.then()連続ステップ
.branch()条件付きパス
.parallel()並行ステップ
.dowhile() / .foreach()データ上のループ
中断/再開ユーザー入力を待機、後で再開
耐久実行再起動後も継続

メモリ

タイプ使用
会話履歴コンテキスト内の最近のターン
セマンティック想起過去のメッセージ上のベクトル検索
ワーキングメモリユーザーに関する永続的な事実
ストレージアダプタLibSQL、Postgres、Upstash

RAG プリミティブ

ピース提供
ドキュメントチャンキング設定可能な戦略でドキュメントを分割
エンベディングAI SDK プロバイダー経由
ベクトルストアpgvector、Pinecone、Qdrant、Chroma
取得ツールエージェント内のツールとして取得を配線

評価と可観測性

能力注釈
組み込み評価答え関連性、忠実性、毒性、バイアス
カスタムスコアラー独自のメトリクスを定義
トレーシングOpenTelemetry 互換トレース
プレイグラウンドエージェント実行、ツール、メモリをローカルで検査

デプロイメント

ターゲット注釈
Node サーバーmastra build はデプロイ可能なサーバーを生成
Vercel / Cloudflare / Netlify公式デプロイアー
サーバーレスステートレスホスト向けに設計されたワークフロー

Mastra 対 他のエージェントフレームワーク

側面MastraLangGraphCrewAI
言語TypeScriptPythonPython
ワークフロー耐久グラフ + 中断/再開ステートフルグラフロールベースクルー
型安全性強力 (Zod エンドツーエンド)Python 型付けPython 型付け
最適用途TS/JS チーム、ウェブアプリ複雑なステートフルエージェントマルチエージェントロールプレイ

LangGraph への TypeScript 対応。CrewAIAutoGen (Python) と比較。

リソース