「Mastra」で始めるAIエージェント開発:初心者の冒険

ChatGPTのDeep Research(AI)での出力結果をそのまま掲載しています。ChatGPTのDeep Researchはハルシネーション(誤った情報の生成)が少なくなるよう調整されていますが、あくまで参考程度に読んでください。当記事は検索エンジンに登録していないため、このブログ内限定の記事です。

序章:カフェでの出会い

静かな昼下がり、プログラマー見習いのユイはお気に入りのカフェでラテをすすりながらスマホをスクロールしていた。最近話題の「AIエージェント」に関する記事がタイムラインに流れてくる。その中に「Mastra」というフレームワークの文字を発見したユイは、隣でノートPCを開いている先輩エンジニアのケンに声をかけた。

ユイ:「先輩、最近“Mastra”っていうAIエージェントのフレームワークが話題になってるみたいですけど、一体何なんですか?🤔 初めて聞きました。」

ケン:「お、Mastraに興味を持ったんだね。実は僕もちょうど調べてたところだよ。」ケンはノートPCの画面をユイに見せながら微笑む。「簡単に言うと、Mastra(マストラ)TypeScript製のオープンソースAIエージェント構築フレームワークなん (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)】。大規模言語モデル(LLM)を活用したAIエージェントを、まるで最新のWebアプリを作るような感覚で開発・デプロイできるようにするのが目的なんだよ。」

ユイ:「TypeScript製のAIエージェントフレームワーク…ですか?なんだかすごそうですね。TypeScriptでってことは、Web開発と同じような技術スタックで扱えるのかな。」

ケン:「その通り。MastraはGatsby.jsっていうReactベースの静的サイトジェネレーターを作った開発チームが手掛けているん (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)】。だからWeb/JavaScriptスタックとの親和性が高くて、フロントエンドからバックエンドまで統一してTypeScriptで書けるのが魅力なんだ (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita) (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)】。」

ユイ:「Gatsby.jsを作ったチーム⁉️ それは期待できそう…!でもなんでまたAIエージェントのフレームワークなんかを?」

ケン:「背景にはね、AIエージェント開発で直面する課題があったんだ。Gatsby開発者の一人、サム・バグワットさん(Sam Bhagwat)たちは、周囲の開発者仲間がAIアプリを作る中でプロンプトのデバッグツールの呼び出しロジック会話メモリの管理に苦労しているのを目にしたんだっ (Launch YC: Mastra: the open-source JavaScript framework for building agents | Y Combinator)】。そこで昨年10月頃からMastraの開発を始めて、2025年3月にYC(Y Combinator)経由で発表したそうだ (Launch YC: Mastra: the open-source JavaScript framework for building agents | Y Combinator)】。共同創業者はサムさんの他にAbhi Aiyerさん(元Netlifyのエンジニア)とShane Thomasさん(元Gatsbyのプロダクト責任者)で、チームは8人規模らし (Mastra: The Javascript framework for building AI agents, from the Gatsby devs | Y Combinator) (Mastra: The Javascript framework for building AI agents, from the Gatsby devs | Y Combinator)】。」

ユイ:「へえ、そんな経緯が…。つまり“AIエージェント開発をもっと簡単に、素早く”がMastraのテーマなんですね。」

ケン:「その通り。実際Mastraの紹介文にも『少ない労力で賢いAIエージェントを実現する』って意気込みが込められている (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)】。では、Mastraがどうやってそれを実現しているのか、次に詳しく見てみようか。」

シーン1:Mastraの全体像と基本コンセプト

ケンは自分のノートPCでMastra公式サイトのドキュメントを開き、ユイに見せた。画面には「About Mastra」と書かれたページが表示されている。

ケン:「まずMastraの全体像を押さえよう。MastraはAIエージェント開発に必要な機能を“プリミティブ”としてオールインワンで提供してくれるん (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)】。プリミティブというのは基本的な構成要素のことだね。例えば…」

ケンは指を折りながら数え上げる。

ケン:「エージェント(Agents)ワークフロー(Workflows)ツール(Tools)メモリ(Memory)RAG(Retrieval Augmented Generation:外部知識の利用)、評価(Evals)監視(Observability)…こういった要素が全部Mastraに統合されてい (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita) (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)】。だから、複雑なAIエージェントを作るときにあちこち別のライブラリを組み合わせなくても、Mastra一つで完結できる設計なん (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)】。」

ユイ:「全部入りってことですか?🤩 すごい…!でも具体的にはどういう機能なんでしょう?」興味津々のユイに応え、ケンはドキュメントをスクロールして各機能の説明を読み上げ始めた。

ケン:「Mastraの基本機能はこんな感じだよ。」

ケンは一気に説明し終えると、ラテを一口飲んで小休止した。

ユイ:「情報量がすごい…😵 でもつまり、Mastraを使えばAIエージェント開発に必要な部品が全部揃ってて、Web技術者にも扱いやすいって感じです (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita) (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)43】

ケン:「その通り!だから開発者体験(DX)の良さがMastraのウリ (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita) (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)24】。TypeScriptの型チェックやデバッグ支援が効いて、プロトタイプ(試作品)から本番までスムーズに移行できるよう配慮され (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)40】。実際、“Prototype to Production”がキーワードとしてよく出てくるよ。」

ユイ:「プロトタイプから本番まで…エンジニアにとってはありがたいですね。それにUIまで用意されてるのは驚きです!🤩 自分でチャット画面作らなくても試せるなんて。」

ケン:「うん、プレイグラウンドUIのおかげでUIの自動生成に近い形でテスト (MastraでAgentをCloudflareにデプロイしてみる | DevelopersIO) (MastraでAgentをCloudflareにデプロイしてみる | DevelopersIO)261】。エージェントを作ってnpm run devで起動すれば、すぐローカルホスト上にチャット画面やログ閲覧画面が立ち上 (MastraでAgentをCloudflareにデプロイしてみる | DevelopersIO) (MastraでAgentをCloudflareにデプロイしてみる | DevelopersIO)261】。これ開発効率が上がるよね、とある日本の技術者も「UIを繋げる手間が省けて非常に便利」とツイート (MastraとNext.jsで製造業の工場トラブル事例検索チャットボットを作ってみた | DevelopersIO)544】。」

ユイ:「めちゃくちゃ便利そう…使ってみたくなってきました!😍」

ケンは満足そうに頷くと、画面に表示された図表を指さして続けた。

ケン:「Mastraの基本コンセプトは“低レベルな実装に煩わされず何を作りたいかに集中できるようにする” (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)-L60】。実際、Mastraという名前はMaster + Extraから来てたりしてね…なんて冗談はさておき(笑)、次は他のフレームワークとの違いも押さえておこう。」

シーン2:他のAIエージェントフレームワークとの違い

カフェの窓から射し込む午後の陽射しが少しずつ傾き始めた。ユイは自分のラテが空になっていることに気づかないほど話に引き込まれている。

ユイ:「先輩、ところで他にもAIエージェントのフレームワークってあるんですか?LangChainとかは聞いたことありますけど…。Mastraはどんな位置付けなんでしょう?」

ケン:「いい質問だね。実は最近、AIエージェント開発向けのフレームワークがいくつも出てきてるんだ。LangChainは超有名だし、他にもMicrosoft AutoGencrewAIMetaGPTなんて (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita) (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)L259】」

ユイ:「そんなに!😲 やっぱりブームなんですね…。それらとMastraはどう違うんでしょうか?」

ケンはノートPC上で作成した比較表をユイに見せた。いくつかの代表的なフレームワークが特徴や強み、弱みと共に並んでいる。

ケン:「ざっくり比較するとこんな感じかな。」

ユイ:「なるほど、フレームワークごとに個性が結構違うんですね…🤔。Mastraは機能全部入りでWeb開発者に嬉しい感じ、と。一方AutoGenやcrewAIは複数AIが協力するような場面に強い、と。」

ケン:「そうだね。だから使い分けも重要なんだ。例えば“WebサービスにAIチャット機能を埋め込みたい”なら迷わずMastra (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)69-L273】。Next.jsやVercelとの相 (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)69-L272】。“Python主体で研究用途”ならコミュニティ豊富なLangChainが安心だし、“マルチエージェント必須の複雑タスク”ならAutoGenやcrewAI (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)69-L272】。逆に“ほんのシンプルなQ&Aチャット作るだけ”なら別にフレームワーク無しでAPI直接叩いて実装でも十分、 (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)69-L273】。」

ユイ:「フレームワークの特徴と使いどころをちゃんと知ることが大事なんですね。Mastraは新しい分、コミュニティが小さいのはちょっと心配だけど…先行者利益というか、これから伸びそうな (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)63-L266】

ケン:「いい着眼点だね。Mastraはまだ生まれて数ヶ月だけど、海外では結構急速に人気が出てきているんだ。それこそGitHubのスター(★)がリリース直後に1,500から7,500に急増し (Launch YC: Mastra: the open-source JavaScript framework for building agents | Y Combinator)L69-L77】。日本でも少しずつ記事や事例が増えてきているし、面白い存在だと思うよ。」

ユイ:「GitHubスターが数千も…すごい。そう聞くと実際にMastraを使った事例も気になってきました!✨」

シーン3:Mastraの活用事例を探る

ユイの目が輝いているのを見て、ケンは「実はね…」と言いながらスマホを取り出した。お気に入りに保存していたMastra関連の投稿をスクロールし、いくつかの実例を紹介し始める。

ケン:「Mastra公式サイトやコミュニティで紹介されている事例をいくつか見てみようか。**かなり (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)78-L287】

  1. カスタマーサポートの自動化:あるiOSアプリでは、有料ユーザーからの問い合わせ対応にMastraエージェントを組み込んだ例があるんだ。FAQやマニュアルのデータをエージェントに持たせて(RAGで参照して)、ユーザーからの質問に (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)81-L289】。外部知識を引きながら回答するから、質の高い応答ができてユーザー満足度が上がったそうだよ。
  2. 専門資料の解析とレポート生成:これは驚きなんだけど、航空宇宙分野のPDF資料を読み込んで、自動でCAD図面を生成するElectronアプリなんてもの (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)86-L294】。複雑な解析手順をMastraのワークフロー機能で定義して、途中途中で人間の確認(Human-in-the-Loop)を挟む構成 (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)87-L295】。まさに人とAIの協調作業だね。
  3. スマートホーム・IoTチャットボット:自宅のIoT機器を全部Mastraエージェントに繋げちゃった猛者もいるらしい😂。エアコン、照明、防犯センサーなどをツールとして登録しておいて、「今日は寒い?」ってユーザーが聞くと温度センサーを読んで答え (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)292-L300】。Mastraのインテグレーション機能でIoTデバイスと簡単に連携できたことが評価されていたよ。
  4. 旅行プラン提案アシスタント:公式のShowcaseに載っていた「TravelAI」というデモでは、複数のエージェントが協働して旅行プラン (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)297-L305】。ユーザーの要望をヒアリングするエージェントがいて、観光地情報を提供するエージェント、日程を最適化するエージェント…とマルチエージェント構成で最適な旅行プラ (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)297-L305】。AutoGenやcrewAI的な多エージェント協調を、Mastra上で実現した好例だね。
  5. AI音楽生成スタジオ:これもユニークなんだけど、「AI Beats Laboratory」っていうプロジェクトでは、ドラム担当AIやベース担当AIなど複数の音楽エージェントが協 (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)302-L305】。まるでバンドセッションのようにエージェント同士で対話しながら音楽を生成するというデモで、ソースコードも公開されてるよ。Mastraのエージェント間対話能力をクリエイティブに使った面白い例だと思う。
  6. その他:他にも、小ネタ的な活用例はいろいろある。「ノートの内容からポッドキャスト用スクリプトを生成するNotebookLMクローン」、「手書きのホワイトボード図をExcalidraw(図版ツール)形式に変換するツール」、「ECサイトの商品データベースをRAGで検索して商品レコメンドをするチャッ (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)307-L315】。どれも短期間でサッと作られた試作品だけど、Mastraの汎用性と実用性の (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)311-L315】。

ユイ:「す、すごい…本当にいろんな応用があるんですね!😳しかも結構高度なことまで…。私、最初はチャットボット作るフレームワークくらいに思ってたけど、産業向けのガチなシステムにも使われ始めているとは。」

ケン:「うん。Mastraは単なるおもちゃじゃなくて、業務アプリにも耐えうるフレームワークとして期待されてるんだと思う。実際、YCに採択されたくらいだし資金も開発力もあるから、これから企業への導入事例も増えていくんじゃないかな。」

ユイ:「公式でもFireworks AIって会社がMastraでワークフロー構築してたり、複数のYC参加企業がMastraで自動化ソリューションを作っ (Launch YC: Mastra: the open-source JavaScript framework for building agents | Y Combinator)0†L71-L79】。なんだかAIエージェント時代の本命になりそうな雰囲気…!」

ユイは興奮冷めやらぬ様子でスマホにメモを取り始めた。ケンは微笑みながら、自身もMastraを触ってみた時のことを思い出していた。

ケン:「僕も実は簡単なMastraエージェントを書いてみたんだけど、テンプレートプロジェクトが用意されてて導入も楽だったよ。Node.jsとAPIキーの用意だけして、あとはコマンド (MastraでAgentをCloudflareにデプロイしてみる | DevelopersIO) (MastraでAgentをCloudflareにデプロイしてみる | DevelopersIO)6†L63-L70】。mastra createってCLI叩くと対話形式で設定できて、開発サーバー立ち上げればすぐローカルのPlayground (MastraでAgentをCloudflareにデプロイしてみる | DevelopersIO) (MastraでAgentをCloudflareにデプロイしてみる | DevelopersIO)L243-L250】もうちょっと慣れたら何かプロジェクトに使ってみたいと思ってる。」

ユイ:「それは頼もしい!ぜひ社内勉強会とかで教えてください!」とユイは目を輝かせる。

シーン4:コミュニティの反応と今後の展望

カフェの時計を見ると、いつの間にか夕方に差し掛かっていた。ユイは慌てて「そろそろ戻らなくちゃ」と言いつつ、最後にもう一つ疑問を投げかけた。

ユイ:「Mastraについてすごく理解できました!ありがとうございます🙇‍♀️。最後に…世間の反応も少し気になります。日本や海外のコミュニティではMastraってどう受け止められているんでしょう?」

ケン:「そうだね、僕が見た範囲でお話しすると…。」

ケンは自身がチェックしたX(旧Twitter)やRedditの投稿を思い出しながら説明した。

ケン:「まず海外では、MastraはJavaScript/TypeScript界隈の開発者に歓迎されている印象だよ。ある開発者は“PythonでAIワークフロー組んでたけど、Mastraのおかげで全部TypeScriptに切り替え (The Typescript AI framework - Mastra)†L219-L227】し、“AIエージェント開発にはちゃんとしたフレームワークが必要だと痛感した、Mastraはクリーンで素晴ら (The Typescript AI framework - Mastra)†L225-L232】。TypeScriptで統一できるのが嬉し (The Typescript AI framework - Mastra) (The Typescript AI framework - Mastra)」

ユイ:「へえ、やっぱりWeb系の人に刺さってるんですね。Hacker NewsとかRedditではどうでした?」

ケン:「Hacker NewsでもShow HNでMastraが紹介されて結 (Launch YC: Mastra: the open-source JavaScript framework for building agents | Y Combinator)60†L63-L71】。コメント欄ではワークフローのコード構文に対する議論とか、LangChainなどとの (Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby | Hacker News) (Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby | Hacker News)28†L90-L98】、“LLMアプリ開発は結局自前で作り込む人も多いけど、Mastraみたいな統合フレームワークはありがたい”という反応もあったよ。Redditでもr/javascriptに投稿があって、「Gatsby開発者によるJS製エージェントフレームワークだ (Mastra: An open source Typescript AI Framework for building AI Agents : r/javascript)†L289-L297】。あとr/LangChainでは“プロダクション用途ならJS/TSならMastraがいいぞ、LangChainのGraphより分かりやすい” (Best Agentic AI Framework to use in Production : r/LangChain)た。実際、LangChainからMastraに乗り換える人も出てきているのかもしれない。」

ユイ:「ふむふむ。日本ではどうでしょう?Qiitaの記事やnoteもあるみたいですが。」

ケン:「日本でも徐々に情報共有が始まってるね。さっき引 (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)15†L45-L53】や、Zennにコードリーディング (TypeScript AI AgentフレームワークのMastraについて調べた)36†L15-L23】、ClassmethodブログでMastraのクラウド (MastraでAgentをCloudflareにデプロイしてみる | DevelopersIO)46†L29-L37】やNext.js (MastraとNext.jsで製造業の工場トラブル事例検索チャットボットを作ってみた | DevelopersIO)52†L39-L47】も出てる。あとXでは技術メモ系アカウントがMastraの利点を列挙してたりして、「UI自動生成や型安全なSDKで開発プロセスが効率化される」「視覚的なワークフロー設計も可能」なんてポ (テツメモ|AI図解×検証|Newsletter on X: "Mastraについて調査結果 …)よ。総じて“画期的で便利そう”という前向きな反応が多いかな。ただ日本語の情報はまだ少ないから、今ユイが感じたみたいに「何それ?」って人も多いと思う。だから今日の話をぜひ社内ブログとかにまとめてみたら?😊」

ユイ:「おお、それいいですね!今日教えてもらったこと、忘れないうちにまとめてみます!」

ユイは早速ノートPCを開いてメモした内容を整理し始めた。

ケン:「Mastraは今後アップデートもどんどん出てくるだろうし、**コミュニティが活 (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)1†L319-L324】。公式のDiscordもあるみたいだから、参加してみると最新情報が掴めるかも。あとは公式ドキュメントやテンプレートプロジェクトを実際に (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)1†L321-L326】。初心者でもシンプルなエージェントを試すだけでも、“あ、こうやって動くんだ”って開発フローが体感できると思う。」

ユイ:「はい!今日は本当にありがとうございました。Mastra、思っていた以上に面白そうだし、**AIエージェント開発の敷 (〖徹底解説〗Mastra(マストラ)とは?JavaScript/TypeScript発のAIエージェント構築フレームワークの魅力 #AIエージェント - Qiita)1†L319-L324】。私も自分のプロジェクトで小さいものから試してみます!」

ユイは立ち上がり、荷物をまとめるとペコリとお辞儀をした。「それでは、社に戻って早速Mastra触ってみます!」と笑顔でカフェを後にする。

ケンは空になったカップを手に、去っていくユイの後ろ姿を見送った。「AIエージェントの新時代が始まってるな」と呟きながら、自分も席を立つ。頭の中では早くも、新しいアイデアとMastraを使った実装プランが巡り始めていた。

参考文献

公式サイト・ドキュメント

ブログ記事・解説

コミュニティ投稿・SNS