AIフレームワーク「Mastra」について知ろう!
今回はAIエージェントフレームワーク「Mastra」について紹介していきます!
そして、よく話題に上がる「LangChain」との違いもわかりやすくまとめました。
1. Mastra(マストラ)って何?
Mastra(マストラ) は、人工知能(AI)を活用したアプリや仕組みをシンプルな流れでつくれるフレームワークです。
- フレームワーク: 開発を支援するための基盤や骨組みのこと
- AIエージェント:特定の目標を達成するために自律的にタスクを実行するAIシステム。ユーザーの介入を最小限に抑えながら、必要なデータを収集&分析し最適な行動を選択して実行します
たとえば、チャットボットや文章要約ツールなどのAIアプリを、「レシピ」のように順番を決めながら作っていくイメージ。
クリエイティブな音楽やイラストの自動生成なども可能です!
Mastraを始めてみたい人向け:インストール手順
MastraはTypeScriptがメインのため、Node.js環境で利用するケースが多いです。まずは以下のコマンドでプロジェクトを初期化&Mastraを導入してみましょう。
# 新規プロジェクトの作成
mkdir my-mastra-app
cd my-mastra-app
npm init -y
# Mastraをインストール
npm install mastra
2. Mastraの主な特徴
ここでは、Mastraが持っている注目ポイントを3つご紹介します。
(1) ワークフロー管理
ワークフローとは、AIがどんな順番で作業するかを決める地図みたいなものです
例えるなら、料理レシピのようなもので
野菜を洗う→切る→炒めて…といった手順を、Mastraならコードでスマートに書くことができます。
これのおかげで、AIに「この作業が終わったら次はこれ!」と指示しやすくなります。
(2) エージェントとツール
- エージェント: 実際にAIが考えて行動する役割
- チャットや情報検索などを担当
- ツール: エージェントが使う道具
- 翻訳や天気予報など、外部サービスを呼び出す仕組みが用意されています
(3) 評価 (Evals)
Mastraには、AIの回答を採点する仕組みがあります。
テストのように「どのくらい正確かな?」「ここはズレてる?」とチェックし、改善するためのフィードバックを得られます。
3. Mastraはどんなときに役立つ?
-
チャットボット
お店やサービスの問い合わせ対応が自動化できる!
FAQにスパッと答えられると便利です。 -
文章の要約・データ整理
長い記事からポイントだけを抽出してまとめるのもお手のもの!
調べ学習のサポートにも向いています。 -
クリエイティブな生成
AIで自動的に曲を作ったり、イラストを描いてくれたり!
「ポップで楽しい曲を作って!」とお願いすると雰囲気のある曲が誕生する…かもしれません。
4. LangChainとの違い
もう一つの人気ツールである「LangChain」とはどう違うのか、簡単に比較してみましょう。
(1) 考え方の違い
- Mastra: 手順やレシピ(ワークフロー)をしっかり管理するタイプ!
- LangChain: いろんな機能を自由に組み合わせられる道具箱というイメージ!
(2) 使いやすさ
- Mastra: きっちり整ったルールがあるため、大きなAIアプリや複雑な流れがある場合に作りやすい
-
LangChain: 自由度が高いので複雑な仕組みは自分で工夫する必要がある。
しかし、好きなようにカスタマイズが可能!
(3) 使う言語や環境
-
Mastra: TypeScript (JavaScriptに似た言語)がメイン
WebやNode.js環境で動かしやすい! -
LangChain: PythonとJavaScriptの両方に対応
研究やデータ分析にはPythonが人気
5. Mastraのメリット・デメリット
メリット
-
一通りの機能がセット
ワークフローやエージェント、評価機能など、AI開発に必要なものがひと通り揃っている -
大きな仕組みも整理しやすい
手順やルールを書いておけば、後から見てもどんな流れかわかりやすい -
クラウドサービスや外部ツールとの連携がしやすい
必要なときに外部APIを呼び出したり、使える道具を増やせます
デメリット
-
まだ新しい
LangChainに比べてサンプルや事例が少なく、バグや仕様変更の可能性がある -
TypeScriptが必須
Pythonメインの方は新しく学習コストがかかるかもしれません -
仕組みがしっかりしている分、慣れるまで時間がかかる
きっちりしたルールはメリットでもあり、覚えるには少し学習コストが必要
6. Mastraのこれから
Mastraは登場したばかりですが、最新のアップデートで着々と機能が拡充!
- 外部サービスとの連携がさらに増える
- クラウドへ手軽にデプロイできるようになる
- サンプルやテンプレートが増えて、学習しやすくなる
TypeScriptで「AIのある最新アプリ」を作りたい方は要チェックですね!
簡単サンプル:MastraでHello World (仮)
最後に、極簡単なサンプルコードを一例として載せておきます。
// my-agent.ts
import { MastraAgent } from 'mastra';
async function runAgent() {
// 1. エージェントの設定
const agent = new MastraAgent({
name: "HelloAgent",
// ここに各種設定を入れていくイメージ
});
// 2. ツールを追加(例: テキスト変換ツールなど)
// agent.use(new SomeTool());
// 3. 何か処理を実行
const response = await agent.run("Hello Worldについて教えて!");
console.log("Agent response:", response);
}
runAgent();
実行は以下のコマンドでOKです。
npx ts-node my-agent.ts
(※サンプルの動作には、実際にMastraの機能やツールのセットアップが必要です。公式ドキュメントを参考に環境を整えてください)
まとめ
- Mastra: 新しいAIエージェントフレームワーク。レシピのように作業の流れを管理しやすいので、大規模なプロジェクトにも向いている!
- LangChain: 自由度が高いライブラリ。
- 研究や実験的な開発に向いていて、Python勢にも人気!
Mastraは今後もクラウド連携やツールの拡充が期待されており、さらに使いやすくなる予感。
TypeScriptで「AIのある最新アプリ」を作りたい方は、これから要注目です!
少しでも皆さんの学習や開発のヒントになれば嬉しいです。
一緒に楽しくAIを使いこなしましょう!
参考リンク
もしこの記事が役に立ったら、ぜひ「いいね」や「ストック」お願いします!
質問などがあれば、コメント欄でお気軽にどうぞ。
以上、Mastraの紹介とLangChainとのざっくり比較でした。
最後まで読んでいただきありがとうございます!