Build Your First Agent in TypeScript with Mastra
4分 55秒
TypeScriptでAIエージェントを構築!Mastraフレームワーク徹底解説
この記事は動画の内容を元にAIが生成したものです。正確な情報は元の動画をご確認ください。
ポイント
- •TypeScript開発者がAIの限界を超えるエージェントを構築するためのオープンソースフレームワークMastraを紹介します。
- •Mastraはエージェント、ツール、ワークフロー、メモリ、オブザーバビリティを統合し、専用開発スタジオで効率的な構築と検証が可能です。
- •本記事から、TypeScriptで多段階のタスク処理やコンテキストを考慮した応答が可能な、実用的なAIエージェントの構築ノウハウを習得できます。
導入:AIの限界を超え、エージェントが拓く新時代
多くの開発者は、AIを日々のタスクやアプリケーションへの組み込みから使い始めています。チャットボットやAPIを通じてプロンプトを送信し、応答を得るというシンプルな形です。しかし、テキスト生成以上の高度な処理が求められるようになると、このアプローチの限界が見えてきます。AIシステムにAPIの呼び出し、レコードの更新、複数のステップを調整する多段階ワークフローの実行など、「より多く」を求めるようになったとき、そこに「エージェント」が登場します。
私はMastraのGilです。10年以上にわたりソフトウェアの構築と教育に携わってきました。RAG(Retrieval Augmented Generation)やMCP(Multi-step Control Process)スタイルのシステムが初めて話題になり、「これらの技術は実際にどのように機能するのか」という疑問が持ち上がった初期から、その教育に深く関わってきました。エージェントを構築・利用しようとする人々が増えるにつれて、私はその基礎に関する同じ質問を繰り返し受けるようになりました。私自身が学んでいたとき、これらすべてを網羅する単一のコースや完全な書籍がないことに気づき、苦労して情報を集める必要がありました。そこで、このプロセスを皆様にとってより簡単にすることを目指しました。
このコースでは、TypeScriptでエージェントを構築するためのオープンソースフレームワークであるMastraを使用して、AIエージェントを構築します。エージェントにコード呼び出しや多段階タスクのためのワークフローの機能を与え、さらにインタラクション間でコンテキストやツールの結果を引き継ぐためのメモリとストレージを追加します。
AIエージェントとは何か?その基本概念
実践的には、エージェントとは言語モデルが目標について推論するシステムのことです。エージェントは、どのツールやワークフローを使用するかを決定し、会話の履歴(メモリ)を取り込み、最終的な回答を返してタスクが完了するまで反復を続けます。Mastraは、これをTypeScriptで構築するためのフレームワークです。
Mastra:TypeScriptでAIエージェントを構築するオープンソースフレームワーク
Mastraは、現代のAIパワードアプリケーションを構築するために人々が使用しているパターンに基づいて設計されています。
- エージェント、ツール
- ワークフロー
- メモリ、オブザーバビリティ
これらすべてを一つの場所に統合しています。初期のプロトタイプから本番環境に対応したアプリケーションまで、Mastraはあなたの開発をサポートします。また、既存のTypeScriptスタックと並行して実行することも、スタンドアロンサーバーとして動作させることも可能です。
Mastra Studioを活用した開発体験
Mastraプロジェクトを作成しローカルで実行すると、すぐに開発スタジオが利用できます。これは、構築中のすべてを実行し、テストできる場所です。
例えば、デフォルトの天気エージェントがあります。これに「マイアミの天気はどうですか?」と尋ねてみましょう。
ここで、ツール呼び出しが開始されるのが分かります。ツールはデータを返し、エージェントが応答します。そして、このエージェントは過去の実行履歴からコンテキストを利用し、さらに「今日の天気に基づいて、何をすべきですか?」のようなフォローアップの質問にも適切に答えます。これらの提案は非常に素晴らしいものです。
実行トレースを開くと、ステップバイステップで何が起こったかを追跡できます。ツール呼び出し、送信された引数、そして返された結果を確認できます。ここから、モデルの切り替え、システムプロンプトの微調整、モデル設定の調整を行い、エージェントの動作がどのように変化するかを確認できます。
コードでのエージェントとツールの定義
コード上では、エージェントの構築は非常にシンプルです。エージェントを作成し、指示を与え、呼び出しを許可するツールを登録します。これらのツールは、単なるTypeScript関数です。
ワークフローによる多段階タスクの管理
一部のタスクは事前に明確に定義されており、特定の順序で実行する必要があります。これがワークフローの役割です。ワークフローは、作業を明示的なステップに分割します。Mastra Studioで直接実行することも、エージェントにトリガーさせることも可能です。構築中に、人間の承認のために特定のステップでワークフローを一時停止させることさえできます。
オブザーバビリティと行動改善
Mastra Studioのオブザーバビリティビューでは、実際に何が起こったかを検証できます。何が実行され、何が呼び出され、モデルが何を認識したか、そしてどこで問題が発生したかを確認できます。また、スコアリングを追加して、エージェントが期待通りに機能しているかどうかを確認し、その動作を改善することも可能です。
本番環境へのデプロイ
最も良い点は、デプロイの準備ができたとき、ローカルで実行しているMastraアプリと同じものをそのまま迅速にデプロイできることです。Mastra Cloudを使用すると、ホストされたスタジオが提供され、チームでエージェントをテストし、実行を検査し、共同で改善を繰り返すことができます。
AIエージェントが変える未来のアプリケーション
エージェントは、現代のアプリケーションのいたるところで登場しています。
- エディターのCursor
- テーマの深掘りを行うPerplexityのような深い調査ツール
- サポートエージェントのFinn
など、その活躍の場は広いです。
実践的な方法でエージェントを体験したいと考えているなら、Mastraはしっかりとした出発点となるでしょう。
実践:テーマパークコンパニオンエージェントを構築する
このコースでは、皆様にテーマパークのコンパニオンエージェントを構築していただきます。これは、公式のパークアプリに搭載されるようなアシスタントをイメージしたものです。具体的には以下の機能が期待されます。
- 話しているパークを確認する
- Q Times APIからリアルタイムの待ち時間を取得する
- 天候を考慮に入れる
- 次に行うべきことを推奨する
- チケット購入ワークフローを実行する
構築を進める中で、以下の主要な構成要素を学びます。
- TypeScriptでエージェントとそのツールを定義する
- Mastra Studioを使用してすべてをローカルで実行し、トレースを検査する
- ワークフローで多段階のロジックを連結する
- フォローアップが常に一貫して機能するようにメモリとストレージを追加する
最終的には、どんなアプリケーション内でもデプロイして実行できるMastraエージェントを手に入れることができます。
まとめ:Mastraでエージェント開発をリードする
2026年は「エージェントの10年」の始まりとなります。TypeScriptアプリを開発している方にとって、Mastraは時代の先を行き、チーム内でエージェントを製品に導入するための頼れる存在となるためのコースです。準備ができたら、まずMastraをローカルで実行し、すぐに使える機能を見ていきましょう。
参考動画: https://www.youtube.com/watch?v=G8tXjcseNjg