Mastra(マストラ)は、TypeScriptを使ってAIエージェント(自動で作業をこなしてくれるAIプログラム)を作るためのオープンソースフレームワークです。Gatsbyという有名なフレームワークの開発チームが2024年に立ち上げたプロジェクトで、AIアプリ開発のハードルをグッと下げてくれます。
TypeScriptを使ったことがある人なら、そのスキルを活かしてAIエージェントを作れるのが最大の魅力。「AIアプリ開発は難しそう…」という先入観を覆してくれる、とっつきやすいツールなんです。
Mastraの優れている点は、複雑なAI開発をシンプルに整理してくれること。特に以下の特徴が初心者に優しいポイントです。
例えば、「天気を教えてくれるAIアシスタント」を作りたい場合、天気APIからデータを取得するツールを用意し、それをAIエージェントに接続するだけで実現できます。コードの量も少なく済むのが嬉しいですね。
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ステップで環境構築ができます。
npx create-mastra my-ai-appcd my-ai-appnpx mastra devこれだけで、AIエージェントを作る環境が整います!あとは公式ドキュメントの例を参考にしながら、自分なりのエージェントを作ってみましょう。
Mastraを使えば、以下のようなAIアプリケーションが作れます。
例えば、「毎週の会議の議事録を自動作成し、要点をまとめて関係者にメール送信する」というエージェントも作れます。こういった定型作業の自動化に、Mastraは大きな力を発揮します。
AIエージェント開発のフレームワークはいくつかありますが、Mastraの特徴は次の点にあります。
特にフロントエンド開発の経験がある方なら、Mastraの方が取り組みやすいでしょう。
Mastraは、AIエージェント開発の敷居を大きく下げてくれるフレームワークです。TypeScriptの知識があれば、難しいAIの知識がなくても実用的なAIエージェントを作ることができます。
まずは簡単なアシスタントから始めて、徐々に機能を拡張していくのがおすすめです。エラーが出ても心配せず、何度もAIとの対話を重ねてみてくださいね。
あなたもMastraを使って、自分だけのAIアシスタントを作ってみませんか?きっと新しい可能性が広がります。
Mastraの使い方やレビュー動画をまとめています。
同じカテゴリの人気ツール
Mastraを始めよう
公式サイトへコードを自動生成して複雑なアプリを短時間で構築できるAIツール。