MastraのAI概要と環境構築マニュアル

2025年3月28日 作成

Mastraとは

AIエージェント開発フレームワーク

Mastra(マストラ)は、Gatsby.jsを開発したチームが手掛けたJavaScript/TypeScript製のオープンソースAIエージェント開発フレームワークです。

✨ 特徴
  • Webアプリを構築する感覚でAIエージェントを開発・デプロイ
  • TypeScriptで完結するWebスタックとの高い親和性
  • Python製フレームワークのようにコード書き換え不要
  • トレーシングや自動評価などデバッグ支援機能が充実
📝 ライセンス情報: MastraはElastic License 2.0 (ELv2)で提供されており、Mastra自体を他者向けのホスト型/マネージドサービスとして提供することは禁止されています。

主な機能

LLM統一API
エージェント
ツール連携
🔧 主要機能
  • LLMプロバイダの統一API - OpenAI、Anthropic、Google Geminiなどを単一インターフェースで操作
  • エージェント (Agents) - LLMがツール(関数)を使いながら自律的にタスクを遂行
  • ツールとインテグレーション - 型安全な関数をツールとして実装・登録
🔄 高度機能
  • ワークフロー - 複雑なタスク手順や条件分岐の定義(XStateベース)
  • メモリと永続化 - 長期記憶をエージェントに持たせる機能
  • RAG - 外部知識を元に回答精度を向上させる仕組み
  • 評価とモニタリング - 回答品質を自動評価する機能
  • トレーシングと観測性 - OpenTelemetry対応のトレーシング機能

導入事例

1
カスタマーサポート自動化

有料ユーザー多数のiOSアプリでRAG機能を活用し、FAQ資料をもとに高精度な自動応答を実現

2
専門資料の解析とレポート生成

航空宇宙分野の膨大なPDF技術資料を解析し、CAD図面を自動生成するElectronアプリ

3
スマートホーム・IoTチャットボット

家庭内IoT機器(エアコン、照明など)をエージェントのツールとして登録し連携するチャットボット

4
旅行プラン提案アシスタント

複数のエージェントが協調して最適な旅行プランを生成するデモアプリ「TravelAI」

5
AI音楽生成スタジオ

ドラム担当やベース担当など複数の音楽エージェントが協調して一曲を作り上げる「AI Beats Laboratory」

環境構築の準備

必要なソフトウェア/ハードウェア
🖥️ 動作環境
  • Node.js 20以上 - Node.js v20.0以降が必須
  • LLMプロバイダのAPIキー - OpenAI、Anthropic、Google PaLMなど
  • ハードウェア要件 - 一般的なスペックのPC(4コアCPU・8GB以上のRAM)
💡 Point: Mastra自体はNode.js上のフレームワークで、LLMの推論処理はクラウドAPI経由のため特殊なハードウェア(GPU等)は不要です。ローカルでLLM推論(Ollamaなど)を使う場合のみ高スペックが必要になります。

開発環境セットアップ

Windows
macOS
Linux
1
Node.jsのインストール

Node.js公式サイトからWindows向けインストーラ(.msi)をダウンロードし実行

node -v # バージョン確認(v20以上が必須)
2
ビルドツールの準備

一部のネイティブ依存ライブラリで必要になる場合があります

Visual Studio Build ToolsやC++コンパイル環境を用意してください

3
Git(任意)

Git for Windowsをインストールしておくと便利です

1
Node.jsのインストール

Homebrewを使った簡単なインストール方法

brew install node@20
brew link node@20
node -v # バージョン確認
2
Xcodeコマンドラインツール

ネイティブアドオンのビルドに必要です

xcode-select --install
1
Node.jsのインストール

Ubuntu系の場合(NodeSourceリポジトリを使用)

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v # バージョン確認
2
ビルド環境の準備

基本的な開発ツールが必要になります

sudo apt-get install -y build-essential

Mastraのインストールとプロジェクト作成

1
プロジェクトディレクトリの作成(任意)
mkdir my-mastra-app && cd my-mastra-app
2
プロジェクトの自動生成
npx create-mastra@latest
✏️ 対話プロンプト
  • プロジェクト名(デフォルトは現在のディレクトリ名)
  • インストールするコンポーネントの選択(Agents, Tools, Workflowsから選択)
  • デフォルトで利用するLLMプロバイダの選択(OpenAIが推奨)
  • サンプルコードを含めるかどうか(初学者はYesがおすすめ)
  • MCPサーバーをIDEに統合するか(通常はSkip)
3
APIキーの設定

プロジェクト直下の.envファイルを開き、APIキーを設定

OPENAI_API_KEY=あなたのOpenAI APIキー
4
依存環境の確認
npm install

エラーなく完了すれば環境構築は完了です

エージェントの実行と動作確認

1
ローカル開発サーバーの起動
npm run dev

開発サーバーが起動し、ブラウザでhttp://localhost:3000などにアクセスするとチャットUIが表示されます

💬 プレイグラウンドUI機能
  • エージェントとの対話機能
  • 実行ログやツール呼び出し履歴の表示
  • プロンプト実験モード
  • LLMモデル切り替え機能
2
サンプルエージェントの対話

例:「Chef Agent」のサンプルで、ユーザーの持っている食材から作れる料理を提案

質問例
「冷蔵庫にパスタとトマト缶があります。何が作れますか?」
3
コードから直接実行(任意)

Node.jsのスクリプトとしてエージェントを呼び出すこともできます

import { chefAgent } from "./mastra/agents";

async function main() {
  const userQuery = "冷蔵庫にパスタとトマト缶があります。何が作れますか?";
  const response = await chefAgent.generate([
    { role: "user", content: userQuery }
  ]);
  console.log("Agent answer:", response.text);
}

main();