今話題の「Mastra」とは？


# AIフレームワーク「Mastra」について知ろう！

今回はAIエージェントフレームワーク「Mastra」について紹介していきます！ 
そして、よく話題に上がる「LangChain」との違いもわかりやすくまとめました。

## 1. Mastra(マストラ)って何？

**Mastra(マストラ)** は、人工知能(AI)を活用したアプリや仕組みをシンプルな流れでつくれるフレームワークです。

- **フレームワーク**: 開発を支援するための基盤や骨組みのこと
- **AIエージェント**:特定の目標を達成するために自律的にタスクを実行するAIシステム。ユーザーの介入を最小限に抑えながら、必要なデータを収集＆分析し最適な行動を選択して実行します

たとえば、チャットボットや文章要約ツールなどのAIアプリを、「レシピ」のように順番を決めながら作っていくイメージ。
クリエイティブな音楽やイラストの自動生成なども可能です！

### Mastraを始めてみたい人向け：インストール手順

MastraはTypeScriptがメインのため、Node.js環境で利用するケースが多いです。まずは以下のコマンドでプロジェクトを初期化＆Mastraを導入してみましょう。

```bash
# 新規プロジェクトの作成
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のメリット・デメリット

### メリット

1. **一通りの機能がセット**  
   ワークフローやエージェント、評価機能など、AI開発に必要なものがひと通り揃っている
2. **大きな仕組みも整理しやすい**  
   手順やルールを書いておけば、後から見てもどんな流れかわかりやすい

3. **クラウドサービスや外部ツールとの連携がしやすい**  
   必要なときに外部APIを呼び出したり、使える道具を増やせます

### デメリット

1. **まだ新しい**  
   LangChainに比べてサンプルや事例が少なく、バグや仕様変更の可能性がある

2. **TypeScriptが必須**  
   Pythonメインの方は新しく学習コストがかかるかもしれません

3. **仕組みがしっかりしている分、慣れるまで時間がかかる**  
   きっちりしたルールはメリットでもあり、覚えるには少し学習コストが必要

---

## 6. Mastraのこれから

Mastraは登場したばかりですが、最新のアップデートで着々と機能が拡充！

- **外部サービスとの連携がさらに増える**  
- **クラウドへ手軽にデプロイできるようになる**  
- **サンプルやテンプレートが増えて、学習しやすくなる**

TypeScriptで「AIのある最新アプリ」を作りたい方は要チェックですね！

---

## 簡単サンプル：MastraでHello World (仮)

最後に、極簡単なサンプルコードを一例として載せておきます。

```ts
// 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です。

```bash
npx ts-node my-agent.ts
```

（※サンプルの動作には、実際にMastraの機能やツールのセットアップが必要です。公式ドキュメントを参考に環境を整えてください）

---

# まとめ

- **Mastra**: 新しいAIエージェントフレームワーク。レシピのように作業の流れを管理しやすいので、大規模なプロジェクトにも向いている！  
- **LangChain**: 自由度が高いライブラリ。
- 研究や実験的な開発に向いていて、Python勢にも人気！  

Mastraは今後もクラウド連携やツールの拡充が期待されており、さらに使いやすくなる予感。  
**TypeScriptで「AIのある最新アプリ」を作りたい方**は、これから要注目です！

少しでも皆さんの学習や開発のヒントになれば嬉しいです。  
一緒に楽しくAIを使いこなしましょう！


## 参考リンク
- [Mastra 公式サイト](https://mastra.ai/)
- [LangChain 公式サイト](https://www.langchain.com/)
---

もしこの記事が役に立ったら、ぜひ「いいね」や「ストック」お願いします！  
質問などがあれば、コメント欄でお気軽にどうぞ。  

以上、Mastraの紹介とLangChainとのざっくり比較でした。  
最後まで読んでいただきありがとうございます！