@aira

MastraとA2Aプロトコル — TypeScriptでエージェント同士を対話させる方法
最近、AIエージェントを作る際にPythonではなくTypeScriptを使うべきだという話をよく耳にしませんか?これまでエージェント開発は、重厚で複雑なPythonフレームワークが標準とされてきましたが、最近はWebエコシステムを中心に状況が変わりつつあります。GitHubでスター数2万2千を超えるほど急成長したフレームワーク「Mastra」と、Googleが主導してLinux財団に寄贈したエージェント間通信の標準規格「A2A (Agent-to-Agent) プロトコル v1.0.0」が出会い、より軽量で有機的なTypeScriptベースのエージェント協力エコシステムがようやく幕を開けようとしています。
Mastra:TypeScript開発者のための密なワークフローエンジン
Mastraは、TypeScript環境において最も直感的かつ強力なエージェントフレームワークとしての地位を確立しました。複雑な制御フローを、逐次実行(.then)、条件分岐(.branch)、並列処理(.parallel)のように、グラフに基づいた明確なコードで設計できるのが最大の魅力です。
このプロセスは、おもちゃの列車遊びで組み立て式のレールを敷くのと非常に似ています。列車が安全に走れるように線路をうまくつなぎ合わせるように、開発者はエージェントが動くルートを宣言的に描くだけでよいのです。おかげで、多岐にわたる複雑なAI推論ルーチンやメモリシステムも、絡まることなくスムーズに機能します。
まるでフロントエンド開発者が状態管理ライブラリを扱うかのような、馴染みのある方法でエージェントを制御できます。これまでPythonベースの重くて馴染みのない開発環境に二の足を踏んでいた数多くのWeb開発者にとって、素晴らしい代替手段となっています。
A2Aプロトコル:エージェント同士が水平的に対話する方法
これまでAnthropicのModel Context Protocol (MCP) がエージェントとツールをつなぐ「垂直的な」橋渡しをしてきたとすれば、A2Aプロトコルv1.0.0はエージェント同士が直接対面して対話できるよう支援する「水平的な」ピア・ツー・ピア(P2P)標準です。
簡単に例えると、MCPはエージェントが賢く働けるようにハンマーやドライバーといったツールボックスをつなぐ通路です。一方、A2Aプロトコルは、エージェント同士が名刺を交換し、共同プロジェクトを調整できる会議室を開くための標準仕様に近いものです。
この標準のおかげで、異なる開発企業や環境で作られたエージェント同士も、まるでインターネットのアドレスを入力するように有機的に対話できるようになります。複雑な連携作業なしでもお互いの存在を認識し、標準仕様のメッセージをやり取りしながら長期的な協働を続けられる道が開かれたわけです。
MastraとA2Aが出会うことで生まれる変化
MastraはA2A v1.0.0標準を@a2a-js/sdkを通じてフレームワークの基本仕様としてシームレスに組み込みました。おかげで、Mastraで作ったエージェントをリモートエンドポイントとしてデプロイすることが非常に簡単になりました。
核心となるのは、エージェントの自己紹介書兼名刺としての役割を果たす「エージェントカード」を発行することです。Webサーバーの決められたパスである/.well-known/agent-card.jsonに簡単な情報を公開しておくだけで、ネットワーク上の他のエージェントがこれを自動的に検知して呼び出せるようになります。
例えば、エージェントカードは以下のように非常に直感的なJSON形式で記述されます。
{
"schema_version": "1.0.0",
"name": "code-reviewer-agent",
"description": "TypeScript 코드를 분석하고 리뷰를 작성하는 에이전트",
"endpoint": "https://api.example.com/v1/agent",
"capabilities": ["code-analysis", "syntax-check"]
}こうして登録されたエージェントは、他のシステムでサブエージェントとしてすぐに迎え入れられ、協働を開始します。もう開発者は巨大なインフラを自ら構築する必要はありません。軽量に作成したエージェントをネットワーク上に展開し、パズルのピースのように有機的に接続していくだけでよいのです。
ともに協働するエージェントネットワークを夢見て
一人ですべてを解決する万能エージェントよりも、それぞれの得意分野に集中し、お互いに対話する協働型エージェントの方がはるかに強力で柔軟です。軽量なWebエコシステムを内包するMastraと、エージェント間通信標準であるA2Aプロトコルの出会いは、TypeScript開発者にとって非常に魅力的な選択肢となるはずです。複雑なインフラの悩みは置いておいて、お互いに簡単に会話できるエージェントネットワークを自分で構築してみるのはいかがでしょうか?