Mastra(マストラ)は、TypeScriptを使ってAIエージェント(自動で作業をこなしてくれるAIプログラム)を作るためのオープンソースフレームワークです。Gatsbyという有名なフレームワークの開発チームが2024年に立ち上げたプロジェクトで、AIアプリ開発のハードルをグッと下げてくれます。
TypeScriptを使ったことがある人なら、そのスキルを活かしてAIエージェントを作れるのが最大の魅力。「AIアプリ開発は難しそう…」という先入観を覆してくれる、とっつきやすいツールなんです。
なぜMastraが初心者におすすめなの?
Mastraの優れている点は、複雑なAI開発をシンプルに整理してくれること。特に以下の特徴が初心者に優しいポイントです。
- TypeScriptベース: JavaScriptの知識があれば取り組みやすい
- モジュール式の設計: 機能を部品のように組み合わせられる
- 複数のAIモデル対応: OpenAI(GPT-4)、Anthropic(Claude)、Google Geminiなど、好きなAIモデルを簡単に切り替えられる
- ビジュアルエディタ: コードだけでなく、視覚的にワークフローを組み立てることもできる
例えば、「天気を教えてくれるAIアシスタント」を作りたい場合、天気APIからデータを取得するツールを用意し、それをAIエージェントに接続するだけで実現できます。コードの量も少なく済むのが嬉しいですね。
Mastraの基本コンポーネントを知ろう
Mastraでは、AIエージェントを作るために以下のコンポーネントを組み合わせます。
エージェント
AIモデル(ChatGPTなど)が中心となって、ユーザーの要求に応じてさまざまな行動を選択するシステムです。エージェントには「ツール」を与えることで、外部の情報にアクセスしたり、特定の処理を実行したりする能力を持たせることができます。
// シンプルなエージェントの例
const assistant = new Agent({
name: "天気アシスタント",
description: "天気情報を提供するアシスタント",
tools: [getWeatherTool]
});
ツール
エージェントが使える「道具」のようなもので、特定の作業を実行する関数です。
例えば、天気情報を取得するツール、カレンダーを操作するツール、メールを送信するツールなど。
// 天気情報取得ツールの例
const getWeatherTool = createTool({
name: "getWeather",
description: "指定した都市の天気情報を取得します",
inputSchema: z.object({
city: z.string().describe("都市名")
}),
execute: async ({ city }) => {
// 天気APIを呼び出す処理
return { temperature: 22, condition: "晴れ" };
}
});
ワークフロー
AIエージェントの行動順序を「フローチャート」のように定義できる機能です。「もしユーザーがこう言ったら、このツールを使って、その結果によって次はこうする」といった複雑な処理の流れを設計できます。
Mastraの始め方:3ステップで簡単スタート
Mastraは意外と簡単に始められます。以下の3ステップで環境構築ができます。
- Node.jsをインストール: バージョン20.0以上が必要です
- プロジェクト作成: コマンドラインで以下を実行
npx create-mastra my-ai-appcd my-ai-app
- 開発サーバー起動: 以下のコマンドでMastraのプレイグラウンドが開きます
npx mastra dev
これだけで、AIエージェントを作る環境が整います!あとは公式ドキュメントの例を参考にしながら、自分なりのエージェントを作ってみましょう。
実用的なユースケース
Mastraを使えば、以下のようなAIアプリケーションが作れます。
- カスタムAIアシスタント: 特定の業務や趣味に特化した対話AIを作成
- 情報収集ボット: ウェブから特定の情報を自動収集し、まとめてくれるAI
- 文書処理ツール: 医療レポートの自動文字起こしや要約を行うAI
- 財務書類ジェネレーター: 会計データから自動的に報告書を作成するAI
例えば、「毎週の会議の議事録を自動作成し、要点をまとめて関係者にメール送信する」というエージェントも作れます。こういった定型作業の自動化に、Mastraは大きな力を発揮します。
他のフレームワークとの違いは?
AIエージェント開発のフレームワークはいくつかありますが、Mastraの特徴は次の点にあります。
- LangChain(Python)との違い: LangChainも人気のフレームワークですが、PythonベースなのでWebアプリとの連携にはやや手間がかかります。MastraはTypeScriptなので、Webアプリとの相性が抜群です。
- Semantic Kernel(C#、Python)との違い: Mastraはモジュール性に優れており、小さな機能を組み合わせて大きなシステムを作るのに向いています。
特にフロントエンド開発の経験がある方なら、Mastraの方が取り組みやすいでしょう。
まとめ:Mastraで始めるAIエージェント開発
Mastraは、AIエージェント開発の敷居を大きく下げてくれるフレームワークです。TypeScriptの知識があれば、難しいAIの知識がなくても実用的なAIエージェントを作ることができます。
まずは簡単なアシスタントから始めて、徐々に機能を拡張していくのがおすすめです。エラーが出ても心配せず、何度もAIとの対話を重ねてみてくださいね。
あなたもMastraを使って、自分だけのAIアシスタントを作ってみませんか?きっと新しい可能性が広がります。