【2025年最新】TypeScriptでAIエージェント開発!Mastra超入門講座

Mastraとは?
Mastraは、TypeScriptで書かれたオープンソースのAIエージェント開発フレームワークです。ワークフロー、エージェント、RAG、インテグレーション、評価機能(evals)など、AIアプリケーション構築に必要なプリミティブを一通り備えています (GitHub)。
- TypeScriptネイティブ設計: 型システムのおかげで開発時のバグ検出が容易です (npm)。
- モデル非依存: OpenAI、Anthropic、Google Gemini、Llamaなど任意のLLMプロバイダーを利用可能です (bestofai.com)。
- 高い拡張性: カスタムツール/インテグレーションを容易に追加でき、ログやトレーシングで動作を可視化できます (Mastra.ai)。
開発環境のセットアップ
1. Node.jsとnpmの導入
MastraはNode.js v20以上を推奨しています。公式サイトからインストーラをダウンロードし、インストールしてください。インストール後、以下でバージョン確認を行います。
node -v # v20.x.x 以上
npm -v # npm 9.x.x 以上
2. Mastra CLIのインストール
Mastraのプロジェクト作成・開発用サーバ起動・デプロイを行うCLIをグローバルにインストールします。
npm install -g mastra
このコマンドでMastra CLIが使えるようになります (npm)。
プロジェクトの初期化
Mastraプロジェクトを素早く開始するには以下のいずれかのコマンドを使います。
- mastra init: 空のテンプレートを初期化
- npm create mastra\@latest: 対話形式でセットアップ
# テンプレート開始
mastra init my-mastra-project
# 対話形式
npm create mastra@latest
これにより、package.json
や基本フォルダ構成が自動生成されます (Hacker News)。
最初のエージェント作成
以下は最もシンプルなチャットボット型エージェントの例です。
import { Agent } from "@mastra/core";
import { openai } from "@mastra/integrations";
const chefAgent = new Agent({
name: "Chef Agent",
instructions: "You are Michel, a practical and experienced home chef.",
model: openai("gpt-4o-mini"),
memory: /* ローカルメモリ実装 */,
workflow: { /* optional: chefWorkflow */ }
});
const response = await chefAgent.call("What's a good recipe for pancakes?");
console.log(response);
Agent
コンストラクタで名前、プロンプト、モデル、メモリ、ワークフローなどを設定します (Mastra.ai)。
ツールとインテグレーション
Mastraでは、エージェントに機能を追加する「ツール」と外部サービス連携の「インテグレーション」を使えます。
- 組み込みツール: 日付取得、計算、天気情報取得など
- 外部API連携: ニュース検索、データベースアクセス、カスタム関数の実行
import { DateTool, CalculatorTool } from "@mastra/tools";
agent.addTool(new DateTool());
agent.addTool(new CalculatorTool());
これでエージェントはgetCurrentDate()
やcalculate("2+2")
といった命令を実行できます (Mastra.ai)。
ワークフローの構築
ワークフロー定義を使うと、複数ステップの処理や条件分岐、並列実行が可能です。例えば:
import { Workflow } from "@mastra/core";
const weatherWorkflow = new Workflow("Weather Workflow")
.step("getLocation", async (ctx) => {/* ユーザー位置取得 */})
.step("fetchWeather", async (ctx) => {/* API呼び出し */})
.step("respond", async (ctx) => {/* レスポンス生成 */});
ワークフロー化すると、同じ流れを再利用でき、デバッグやテストも容易になります (GitHub)。
RAG(検索拡張生成)の実装
RAGパイプラインでは、まず外部ナレッジベースから関連ドキュメントを取得し、そのコンテキストをもとにLLMへ生成を依頼します。Mastraなら以下のようにVector Store連携が可能です:
import { RagChain } from "@mastra/rag";
agent.addWorkflow(
new RagChain({ vectorStore: /* Pinecone等 */, model: openai("gpt-4o-mini") })
);
これで社内文書やWikiを活用した高度なQAエージェントを実装できます (Mastra.ai)。
デプロイメント
開発後はVercel、Cloudflare Workers、Netlifyなど任意のサーバレス環境にデプロイ可能です。Mastra CLIにはデプロイコマンドも用意されています。
# Vercelへのデプロイ例
mastra deploy --platform=vercel
ログやトレーシングのバックエンドにはUpstashを利用でき、運用もスムーズです (npm)。
「Mastra超入門」Udemy講座のご案内
本記事で紹介した内容をさらに深掘りしたい方には、Udemyの「Mastra超入門」講座がおすすめです。
- 講座内容: 基本概念、環境構築、エージェント作成、ツール連携、ワークフロー、RAGなどを実践的に学べます。
- 特長: PREP法に基づいた構成&ハンズオン中心で初心者にも安心。
- 特別価格: aigym.jpのクーポン一覧からアクセスすると割引が利用可能です。
ぜひこの講座で手を動かしながら、自分だけのMastra AIエージェント開発スキルを身につけてください。皆さまの受講をお待ちしています!