>_tech-draft
Mastra AIのアイコン
Mastra AI
動画公開日
タイトル

Build Your First AI Agent With TypeScript and Mastra — Full Course (2026)

再生時間

1時間 39分 19秒

AIエージェント開発を加速!TypeScriptとMaestraで始める次世代アプリ構築

ポイント

  • 本記事は、従来のAIアプリの限界をAIエージェントがどう解決するかを解説し、TypeScriptを用いた高度なAI開発へ興味がある方向けです。
  • オープンソースフレームワークMaestraを活用すれば、外部ツール連携や複雑なマルチステップタスクを自律的にこなすAIエージェントを効率的に構築できます。
  • Maestra Studioでの開発体験、デバッグ機能、既存のTypeScriptスキルを活かしたコード実装を通じ、次世代AIアプリケーション開発の実際を学べます。

AIエージェント開発を加速!TypeScriptとMaestraで始める次世代アプリ構築入門

はじめに:進化するAIアプリケーションとAIエージェントの登場

AIを日々の業務に活用したり、アプリケーションに組み込んだりする際、多くの方がシンプルな方法から始めることでしょう。プロンプトを送信し、ChatGPTやAPIを通じて応答を得る、という形です。

しかし、このようなシンプルなAIの利用には限界があります。単にテキストを生成するだけでなく、システムがより複雑なタスクを実行する必要がある場合、その限界に直面します。例えば、APIを呼び出すための「ツール」を使ったり、データベースのレコードを更新したり、複数のステップを協調させるマルチステップのワークフローを実行したりする場合などです。このような高度な要求に応えるのが、今回ご紹介する「AIエージェント」です。

本記事では、オープンソースのTypeScriptフレームワークである「Maestra」を用いて、どのようにAIエージェントを構築し、これらの課題を解決できるかについて、動画の文字起こしを基に解説していきます。AIエージェントの基本から、Maestra Studioでの開発体験、そしてTypeScriptでの実装方法まで、実践的な内容をご紹介します。

AIエージェントとは何か?従来のAIとの違い

プロンプト-応答モデルの限界

従来のAIアプリケーション開発では、ユーザーからのプロンプトに対して、AIモデルが直接的なテキスト応答を生成する形式が主流でした。これは、情報検索やコンテンツ生成など、多くのユースケースで非常に有効です。しかし、このモデルは以下のような状況で限界を迎えます。

  • 外部ツールとの連携が必要な場合: 例えば、リアルタイムの天気情報を取得したり、特定のデータを検索したりするために、外部のAPIを呼び出す必要がある場合。
  • データ更新を伴う場合: アプリケーション内でユーザーのアクションに基づいてデータを更新する必要がある場合。
  • マルチステップの複雑なタスク: 複数の段階を経て目標を達成するような、順序立てられた作業が必要な場合。

これらの要求に対し、単一のプロンプトで全てを処理しようとすると、プロンプトの複雑化、モデルの理解度の低下、非効率性といった問題が発生します。

AIエージェントが解決する課題

AIエージェントは、これらの限界を打破するために設計されたシステムです。具体的には、言語モデルが「目標」について推論し、その目標を達成するためにどの「ツール」や「ワークフロー」を使用すべきかを自律的に判断します。さらに、会話の履歴や過去のツール実行結果などの「記憶(メモリ)」を活用し、最終的な回答を返すか、タスクが完了するまで思考と行動を繰り返します。

Maestraは、このAIエージェントをTypeScriptで効率的に構築するための強力なフレームワークなのです。

Maestraが提供するもの:AIエージェント開発の強力な基盤

Maestraは、AIエージェントの構築に必要な主要な構成要素を一体化したオープンソースフレームワークです。これにより、開発者は初期のプロトタイプからプロダクションレベルのアプリケーションまで、一貫した開発体験を得ることができます。

Maestraの主要機能

Maestraは、エージェントがコンテキストやツール実行結果を対話全体で保持できるよう、「ツール」、「ワークフロー」、「メモリ」、「ストレージ」といった機能を提供します。

Maestra Studioによる開発体験

Maestraプロジェクトをローカルで作成・実行すると、「開発スタジオ」がすぐに利用できるようになります。これは、エージェントを構築しながら、全てを実行・テストできる統合環境です。ここでは、具体的なデモンストレーションを通じて、その機能を体験することができます。

天気エージェントのデモンストレーション

例えば、デフォルトで用意されている天気エージェントに「マイアミの天気は?」と質問してみましょう。すると、以下のプロセスが進行します。

  1. ツールの呼び出し開始: エージェントは、質問に応えるために天気情報を取得するツールが必要だと判断し、その呼び出しを開始します。
  2. データ取得と応答: ツールが外部のAPIから天気データを取得し、その結果がエージェントに返されます。エージェントはこのデータに基づいて応答を生成します。

このデモでは、今週のマイアミが通常よりも少し肌寒いことが分かります。この一連の実行は、「トレース」機能によってステップバイステップで追跡可能です。どのツールが、どのような引数で呼び出され、どのような結果が返ってきたか、詳細に確認できるのです。

さらに、「今日の天気に基づいて何をするべき?」といったフォローアップの質問をすると、エージェントは前回の実行で得られたコンテキスト(マイアミの天気情報)を記憶しており、それに基づいた適切な提案を返してくれます。

Maestra Studioでは、モデルの切り替え、システムプロンプトの調整、モデル設定の変更などを行い、エージェントの挙動がどのように変化するかを簡単に検証できます。これは、エージェントのパフォーマンスを最適化する上で非常に役立ちます。

コードで理解するMaestraエージェントの構築

Maestraでのエージェントのコード実装は非常にシンプルです。基本的に、以下の手順で構成されます。

  1. エージェントの作成: Maestraフレームワークを使用してエージェントインスタンスを作成します。
  2. 指示の与え方: エージェントにどのような目標を達成してほしいか、具体的な指示(システムプロンプトなど)を与えます。
  3. ツールの登録: エージェントが利用できるツールを登録します。驚くべきことに、これらのツールは単なるTypeScript関数として定義されます。

これにより、既存のTypeScriptスキルセットを活かして、外部システムと連携する高度な機能をエージェントに容易に組み込むことができます。

複雑なタスクを分解するワークフロー

一部のタスクは、最初から明確に定義されており、特定の順序で実行される必要があります。このような場合に活用されるのが「ワークフロー」です。

ワークフローは、複雑なタスクを明示的なステップに分解し、それらを順序立てて実行する機能を提供します。ワークフローはMaestra Studioで直接実行することも、エージェントにトリガーさせることも可能です。さらに、ワークフローの途中で人間による承認を必要とするステップを組み込むこともでき、開発段階での検証や、運用時の安全性を高める上で非常に有用です。

デバッグと改善を支援するオブザーバビリティ

AIエージェントの挙動は複雑になりがちで、意図しない動作をすることもあります。Maestra Studioの「オブザーバビリティ」ビューは、実際に何が起こったのかを検証するための強力なツールです。ここでは、以下のような情報を確認できます。

  • 何が実行されたか。
  • どのツールが呼び出されたか。
  • モデルが何を認識したか(モデルへの入力)。
  • どこで問題が発生した可能性があるか。

さらに、エージェントが期待通りに機能しているかを確認するための「スコアリング」機能を追加し、その挙動を継続的に改善していくことができます。

プロトタイプからプロダクションへ:シームレスなデプロイ

Maestraで開発されたアプリケーションは、ローカルで実行しているものと全く同じものが、そのまま迅速にデプロイ可能です。Maestra Cloudを利用すれば、ホストされた開発スタジオが提供され、チームでエージェントのテスト、実行の検査、共同での反復開発を行うことができます。

現代のアプリケーションでは、AIエージェントが至るところに現れています。エディタ内のCursorのようなツールから、Perplexityのような詳細な調査ツール、さらにはFinnのようなサポートエージェントまで多岐にわたります。もし、実践的な方法でAIエージェント開発を始めたいとお考えであれば、Maestraは非常に優れた出発点となるでしょう。

実践!MaestraでAIエージェントを構築する準備

Maestraプロジェクトの始め方

Maestraプロジェクトの開始方法には、いくつかの選択肢があります。ご自身の開発状況に合わせて最適な方法を選びましょう。

  1. 既存アプリケーションへの統合: 既にNext.js、React、Vite、Astro、SvelteKit、Expressなどのフレームワークを使ったアプリケーションがある場合、Maestraを直接統合し、既存のセットアップを維持することができます。また、ストリーミングやチャットインターフェースが必要な場合は、Agentic UIライブラリとも連携可能です。
  2. 新規Maestraプロジェクトの足場固め: 真新しいプロジェクトを始める場合、create-maestraコマンドを実行するのが最も手軽な方法です。これにより、セットアップが対話形式で進められ、すぐにMaestra Studioで実行できるサンプルエージェントが生成されます。後から任意のフレームワークやUIに組み込むことも可能です。
  3. 事前構築済みテンプレートからの開始: Maestraやコミュニティが提供する事前構築済みテンプレートを利用して、特定のユースケースに特化したプロジェクトをすぐに開始することもできます。

本記事では、まずcreate-maestraを使ってStudioでエージェントの挙動を固め、その後でアプリケーションに組み込むアプローチを取ります。

開発環境のセットアップ手順

create-maestraを実行する前に、いくつか準備が必要です。

1. APIキーの準備

サポートされているモデルプロバイダー(OpenAIなど)のAPIキーが必要です。セットアップ中にプロバイダーを選択し、APIキーを入力するよう求められますので、事前に準備しておきましょう。

2. create-maestraコマンドの実行

マシン上の任意の場所でcreate-maestraコマンドを実行します。使用するパッケージマネージャーによってコマンドが異なります。

  • npm create maestra@latest
  • pnpm create maestra@latest
  • yarn create maestra@latest
  • bun create maestra@latest

ここではnpmを使用する例で進めます。コマンドをターミナルにコピーして実行してください。

3. 対話形式でのプロジェクト設定

create-maestraを実行すると、いくつかの質問に答えることになります。

  • プロジェクト名: 今回は「theme-park-agent」と入力します。
  • ソースディレクトリ: Maestra関連ファイルを配置するデフォルトディレクトリとして「src」を設定します。
  • デフォルトモデルプロバイダーの選択: ここでは「OpenAI」を選択しますが、サポートされている任意のプロバイダーを選べます。
  • APIキーの入力: 選択したモデルプロバイダーのAPIキーを入力します。
  • Maestraツーリングの構成: エージェントのためのMaestraツーリングを選択します。推奨されるのは「Skills」オプションです。
    • Skills: AIコーディングエージェントが、最新のMaestraドキュメント、例、ベストプラクティスを開発中に参照できるようにする、指示とリファレンスのフォルダ群です。
    • MCP doc server: Maestraドキュメントへのアクセスを提供し、新しいMaestraバージョンへの移行などを支援するMCPツーリングが含まれます。
  • Skillsをインストールするエージェントの選択: Cursor、Cloud Code、Codex、Open Codefなど、様々なエージェントの中からスキルをインストールするエージェントを選択します。ここでは「Cursor」を選択します。
  • Gitリポジトリの初期化: 新しいGitリポジトリを初期化するかどうかを選択します。

セットアップが完了すると、新しいプロジェクトディレクトリが作成されます。その中にsource/maestraフォルダーがあり、これがMaestra関連の全てのエントリーポイントとなります。

まとめ

本記事では、AIエージェントが従来のAIアプリケーションの限界をどのように超え、より複雑で自律的なタスクを実行できるかを解説しました。特に、TypeScript開発者にとって強力な味方となるオープンソースフレームワーク「Maestra」に焦点を当て、その核となる機能、Maestra Studioでの開発フロー、そして具体的なプロジェクト開始手順をご紹介しました。

Maestraは、ツール連携、マルチステップのワークフロー管理、会話の記憶保持、そして詳細なオブザーバビリティ機能を通じて、AIエージェントの開発と運用を劇的に簡素化します。これにより、プロトタイプからプロダクションレベルのアプリケーションまで、TypeScriptを使ってAIエージェントをシームレスに構築・デプロイすることが可能です。

2026年が「エージェントの10年」の幕開けであると言われているように、AIエージェントは今後のアプリケーション開発において不可欠な要素となるでしょう。TypeScriptアプリケーションを開発されている方にとって、MaestraはAIエージェントの知識を習得し、チーム内でその中心的な存在となるための絶好の機会を提供します。さあ、Maestraをローカルで実行し、その可能性を探り始めましょう。

参考動画

https://www.youtube.com/watch?v=lCmf_qrGfGA