Mastraとは
Mastra(マストラ)は、Gatsby.jsを開発したチームが手掛けたJavaScript/TypeScript製のオープンソースAIエージェント開発フレームワークです。
- Webアプリを構築する感覚でAIエージェントを開発・デプロイ
- TypeScriptで完結するWebスタックとの高い親和性
- Python製フレームワークのようにコード書き換え不要
- トレーシングや自動評価などデバッグ支援機能が充実
主な機能
- LLMプロバイダの統一API - OpenAI、Anthropic、Google Geminiなどを単一インターフェースで操作
- エージェント (Agents) - LLMがツール(関数)を使いながら自律的にタスクを遂行
- ツールとインテグレーション - 型安全な関数をツールとして実装・登録
- ワークフロー - 複雑なタスク手順や条件分岐の定義(XStateベース)
- メモリと永続化 - 長期記憶をエージェントに持たせる機能
- RAG - 外部知識を元に回答精度を向上させる仕組み
- 評価とモニタリング - 回答品質を自動評価する機能
- トレーシングと観測性 - OpenTelemetry対応のトレーシング機能
導入事例
有料ユーザー多数のiOSアプリでRAG機能を活用し、FAQ資料をもとに高精度な自動応答を実現
航空宇宙分野の膨大なPDF技術資料を解析し、CAD図面を自動生成するElectronアプリ
家庭内IoT機器(エアコン、照明など)をエージェントのツールとして登録し連携するチャットボット
複数のエージェントが協調して最適な旅行プランを生成するデモアプリ「TravelAI」
ドラム担当やベース担当など複数の音楽エージェントが協調して一曲を作り上げる「AI Beats Laboratory」
環境構築の準備
- Node.js 20以上 - Node.js v20.0以降が必須
- LLMプロバイダのAPIキー - OpenAI、Anthropic、Google PaLMなど
- ハードウェア要件 - 一般的なスペックのPC(4コアCPU・8GB以上のRAM)
開発環境セットアップ
Node.js公式サイトからWindows向けインストーラ(.msi)をダウンロードし実行
一部のネイティブ依存ライブラリで必要になる場合があります
Visual Studio Build ToolsやC++コンパイル環境を用意してください
Git for Windowsをインストールしておくと便利です
Homebrewを使った簡単なインストール方法
ネイティブアドオンのビルドに必要です
Ubuntu系の場合(NodeSourceリポジトリを使用)
基本的な開発ツールが必要になります
Mastraのインストールとプロジェクト作成
- プロジェクト名(デフォルトは現在のディレクトリ名)
- インストールするコンポーネントの選択(Agents, Tools, Workflowsから選択)
- デフォルトで利用するLLMプロバイダの選択(OpenAIが推奨)
- サンプルコードを含めるかどうか(初学者はYesがおすすめ)
- MCPサーバーをIDEに統合するか(通常はSkip)
プロジェクト直下の.envファイルを開き、APIキーを設定
エラーなく完了すれば環境構築は完了です
エージェントの実行と動作確認
開発サーバーが起動し、ブラウザでhttp://localhost:3000などにアクセスするとチャットUIが表示されます
- エージェントとの対話機能
- 実行ログやツール呼び出し履歴の表示
- プロンプト実験モード
- LLMモデル切り替え機能
例:「Chef Agent」のサンプルで、ユーザーの持っている食材から作れる料理を提案
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();