長いものには巻かれろ理論で、流行りのGoogle A2Aを触ってみました。
https://cloud.google.com/blog/ja/products/ai-machine-learning/a2a-a-new-era-of-agent-interoperability
まず、A2Aって??
GoogleのAgent2Agent(A2A)は、異なるAIエージェント同士が協力し合ってタスクをこなすための通信プロトコル。
例えば、カスタマーサポートのAIが、社内の在庫管理AIと連携して「在庫あります」と即答できるようになるような仕組みや、旅行代理店のAIが航空券AIと宿泊予約AIに横断的に問い合わせて「最安のツアー」を即時に提案するとか!
昨今よく利用されているModel Context Protocol(MCP)は、AIが外部のツールや情報ソースなどの他システムと連携する仕組みであるのに対して、A2Aではエージェント同士が協働する仕組みであることが特徴。
でも手を動かさんとよくわからん!!
ということで、Googleのデモを触ってみました。
1️⃣ こちらのリポジトリからClone
2️⃣ リポジトリの、Sampleディレクトリに移動
cd A2A/samples/
3️⃣ 仮想環境の作成と有効化
uv venv
source .venv/bin/activate
4️⃣ 環境変数のセット
export GOOGLE_API_KEY={your api key}
5️⃣ 各エージェントの起動
📊 画像を生成できるサンプルエージェント
cd A2A/samples/python/agents/crewai
uv run . --host 0.0.0.0 --port 10000
🤖 経費報告書の記入を(模擬的に)行うサンプルエージェント
cd A2A/samples/python/agents/google_adk
uv run . --host 0.0.0.0 --port 10001
💰 通貨を換算できるサンプルエージェント
cd A2A/samples/python/agents/langgraph
uv run . --host 0.0.0.0 --port 10002
6️⃣ demo GUIの起動
cd A2A/demo/ui
uv run main.py
7️⃣ UI上で起動したエージェントを登録
8️⃣ Homeタブから Conversationに入り、会話を楽しんでください!
「他にお手伝いできることはありますか?(圧)」
ちょっとtemperture低めで冷たいですねww
少しいじってみて
Agent同士の連携プロトコルっていうのは、とても新しい発想だなと思いました。
LangChainや、LangMemと連携して、応答エージェントとして使った上で、専門的な内容を処理するエージェントと連携できれば、応答精度が結構上がりそうだな...。(ニヤリ)としております。
少しMCPにも手を伸ばしてみて、それぞれの良し悪しも詳しく見てみたいなぁと思ってます。
この記事を作成するにあたって
こちらの記事を参考にさせていただきました!ありがとうございます。
https://zenn.dev/he/articles/fd63e6b229e661
さいごに
気に入ってもらえたら、いいねやフォローお待ちしてます!