Mastra 1.0 us here- Intro to Mastra
3分 49秒
TypeScriptでAIエージェント開発!Mastraフレームワーク徹底解説
この記事は動画の内容を元にAIが生成したものです。正確な情報は元の動画をご確認ください。
ポイント
- •TypeScript開発者向けMastraは、AIエージェント開発を効率化するオープンソースフレームワークです。
- •本記事では、ツールの活用、記憶機能、ワークフローによる制御など、Mastraの強力な機能を解説します。
- •デプロイ、観測可能性、Mastra Cloudでのチーム開発まで、AIエージェント構築の全工程を網羅的に理解できます。
Mastraは、TypeScriptに特化して構築されたオープンソースのエージェントフレームワークです。AIを活用したシステム構築のために確立されたパターンに基づいて設計されており、AIを活用したアプリケーションをすぐに実装するために必要なすべての機能を提供します。本記事では、Mastraの概要からその強力な機能、そしてデプロイ方法まで、TypeScript開発者がMastraを最大限に活用するための情報をご紹介します。
Mastraの基本:AIエージェントとは?
MastraにおけるAIエージェントは、特定のシステム指示(System Instruction)に従って、与えられたツールをいつ、どのように呼び出すかを決定するモデルです。エージェントは、ユーザーの要求に応じて適切な行動を選択し、複雑なタスクを効率的に実行するように設計されています。
Mastraのセットアップと初期テスト
Mastraを始めるには、create-mastraコマンドを実行します。
create-mastra
セットアップ時には、OpenAIのようなプロバイダーを選択し、APIキーを入力します。また、エディタ連携を有効にすることで、カーソル(Cursor)のようなツールが最新のMastraコードを生成できるようになります。
デフォルトのエージェントの動作を確認するには、devコマンドを実行し、ローカル開発スタジオを開きます。
dev
開発スタジオでは、Mastraのワークフローやエージェントを選択してテストできます。例えば、ウェザーエージェントにロンドンの天候について尋ねると、エージェントは天候ツールを呼び出し、ロンドンの天候情報を提供します。
エージェントの記憶と対話
Mastraエージェントは記憶(Memory)機能も持ち合わせています。例えば、ロンドンの天候が雨だと分かった後に、「どんなアクティビティができるか?」というフォローアップの質問をすると、エージェントは以前の悪い天候に関するメッセージをコンテキストウィンドウで確認し、その状況に適したアクティビティを提案します。この機能により、より自然で連続性のある対話が可能になります。
開発スタジオ内では、プロバイダーを変更して様々なモデルをテストしたり、モデル設定を調整したり、さらにはシステムプロンプトを反復的に改善することも可能です。
ツールとMCPの活用
Mastraにおけるツールとは、基本的にTypeScriptの関数です。デフォルトのウェザーツールのように、エージェントが外部情報にアクセスしたり、特定のアクションを実行したりするために使用されます。開発者は独自のツールを定義することも可能です。例えば、Googleカレンダーツールを作成すれば、エージェントが特定のアクティビティのためにカレンダーイベントを作成できるようになります。これにより、エージェントの能力を無限に拡張できます。
また、MastraはMCP(Message Control Protocol)もサポートしており、エージェントをMCPサーバーに接続し、そのツールを利用することができます。これは、既存の多くのシステムやサービスとの連携を容易にし、エージェントの能力をさらに拡張する重要な機能と言えます。
ワークフローによる高度な制御
時には、より予測可能な結果を得るために、エージェントの動作をより細かく制御したい場合があります。そこでMastraワークフローが活躍します。ワークフローを使用すると、タスクを一連の明確に定義されたステップに分解し、それらのステップがLLM(大規模言語モデル)とどのように相互作用するかを正確に制御できます。
ワークフローでは、ステップを順次実行し、その進行状況をコンソールにストリーミングできます。また、これらのチャンクをアプリケーションにストリーミングすることも可能です。さらに、条件に基づいて分岐させたり、ステップを並行して実行したり、必要に応じてワークフローを一時停止して人間をループに組み込んだりすることもできます。
コード面では、ワークフローAPIは自然でタスク指向の言語で表現されており、直感的な開発者体験を提供します。これにより、複雑な処理ロジックも分かりやすく記述できます。
観測可能性(Observability)と評価(Evals)
エージェントやワークフローを構築する際、裏側で何が起こっているかを正確に理解することは非常に重要です。Mastraの観測可能性タブでは、各エージェントの実行中に何が起こったかを正確に確認できます。これにより、エージェントの動作をデバッグし、理解するのに役立ちます。
Mastraは評価(Evals)もサポートしており、これらのトレースに対してスコアラーを実行することで、本番環境でのエージェントを監視し、改善することが容易になります。リアルタイムの洞察を得ることで、パフォーマンスを測定し、大規模なエージェントを継続的に改善することが可能です。
MastraエージェントのデプロイとMastra Cloud
Mastraエージェントはどこにでもデプロイできますが、最も自然な方法はMastra Cloudを使用することです。
Mastra Cloudによる簡単デプロイ
Mastra Cloudダッシュボードにアクセスし、プロジェクトを作成します。エージェントが格納されているGitHubリポジトリに接続し、環境変数を貼り付けて「プロジェクトを作成」をクリックするだけで、新しい本番環境デプロイメントが開始されます。これにより、信頼性が高く、可用性の高いAPIが提供されます。
ReactやExpo、その他の任意のアプリケーションからこのAPIを利用して、クライアントからエージェントと対話することができます。
Mastra Cloud Studioとチーム開発
Mastra Cloudにもスタジオタブがあります。これはローカルで実行できるスタジオと基本的には同じですが、クラウドでホストされています。主な違いは、チームをクラウドワークスペースに招待できる点です。これにより、チームメンバーは、たとえ技術的な専門知識があまりなくても、共同でエージェントをテストし、改善することができます。
もちろん、観測可能性と評価機能もクラウド上で利用でき、リアルタイムの洞察を得てパフォーマンスを測定し、大規模なエージェントを継続的に改善することが可能です。
まとめ
Mastraは、TypeScript開発者がAIを活用した強力なエージェントアプリケーションを効率的に構築、テスト、デプロイするための包括的なフレームワークです。エージェントとツールの柔軟な組み合わせから、ワークフローによる精密な制御、さらにはMastra Cloudによる容易なデプロイと共同開発環境まで、AI開発のあらゆる側面をサポートします。
ぜひMastraを活用して、あなたのアイデアを形にしてください。
参考動画
https://www.youtube.com/watch?v=1qnmnRICX50