🐶

A2Aのサンプルを動かしてみた

に公開

この記事のゴール

Google Cloud NEXT 2025で発表されたA2Aの理解を深めるために、まずはサンプルを動かしてみました。
ここではブラウザ上で動作するサンプル実行までの手順をまとめます。
こちらに沿って実施しています。

筆者について

普段は株式会社e-Craftという会社でembotというビジュアルプログラミングサービスの開発を行っています。
https://www.embot.jp/

開発環境

  • mac
  • Vscode
  • Python 3.13.3

事前準備

  • GCPでプロジェクトを作成
  • APIキーの発行

やったこと

以下のリポジトリのサンプルコードを動かしてみました。
https://github.com/google/A2A

ブラウザ上でチャットUIを起動する(クライアントエージェントの立ち上げ)

まずはA2Aのサンプルを開くためにリポジトリをクローンします。

git clone https://github.com/google/A2A.git

ターミナルを開いて以下のディレクトリまで移動します。

cd ~/<クローン先のディレクトリ>/A2A/demo/ui

以下のコマンドを実行し、事前準備で作成したAPIキーを使用するように環境変数に登録します。

echo "GOOGLE_API_KEY=your_api_key_here" >> .env

(Vertex AIを使用する場合は以下でも可能)

 echo "GOOGLE_GENAI_USE_VERTEXAI=TRUE" >> .env
 echo "GOOGLE_CLOUD_PROJECT=your_project_id" >> .env
 echo "GOOGLE_CLOUD_LOCATION=your_location" >> .env

※ただし、gcloud auth loginを実行して認証済みである必要があります。

ここまできたらあとはuvを使って実行するだけです。

uv run main.py

ターミナル上にApplication startup completeと表示されたらhttp://localhost:12000/にアクセスしてみましょう。
以下のような画面が表示されればOKです。

+ボタンを押して「あなたは何ができますか?」と送ってみましょう。
まだリモートエージェントを登録していないため、以下のような返答になると思います。

それでは続いてリモートエージェントを登録してみましょう。

リモートエージェントサーバの立ち上げ

サンプルで用意されているリモートエージェントは以下の4つです

  • Google ADK
    • 経費報告書の記入例。A2Aを利用したマルチターンインタラクションやウェブフォームへの返信・返信を紹介。
  • LangGraph
    • ツールを使って通貨を変換できるエージェントのサンプル。マルチターンインタラクション、ツールの使用法、ストリーミング更新を紹介します。
  • CrewAI
    • 画像を生成できるエージェントのサンプル。マルチターンインタラクションとA2Aによる画像送信を紹介します。
  • LlamaIndex
    • ファイルを解析し、解析されたコンテンツをコンテキストとしてユーザとチャットできるエージェントのサンプル。マルチターンインタラクション、ファイルのアップロードと解析、ストリーミング更新を紹介します。

今回はインターネット経由でリアルタイムな通貨レートを取得し、変換してくれるLangGraphサンプルをリモートエージェントとして登録してみます。

まずは新しくターミナルウィンドウを開き、以下のディレクトリへ移動します。(クライアントエージェントサーバを起動したままにするため)

cd ~/<クローン先のディレクトリ>/A2A/samples/python/agents/langgraph

以下のコマンドを実行し、事前準備で作成したAPIキーを使用するように環境変数に登録します。

echo "GOOGLE_API_KEY=your_api_key_here" >> .env

uvコマンドでサーバを起動します。

uv run .

デフォルト設定だとlocalhost:10000で起動します。
これでリモートエージェントサーバーの立ち上げは完了です。

リモートエージェントの登録

リモートエージェントサーバの立ち上げが完了したら、ブラウザUIに戻りエージェントの登録を実施します。まずはロボットアイコン(Agents)を選択して以下の画面を表示します

上の画面が表示されたら、アップロードボタンを押しましょう。
すると以下の画面が表示されます。

先ほど起動したリモートエージェントサーバのアドレス(localhost:10000)を入力し、Readを選択します。
以下の画面が表示されればOKです。Saveを押してリモートエージェントを登録しましょう。

リモートエージェント登録の確認と実行

最後に先ほどのチャット画面に戻り、リモートエージェントの登録ができているかを確認します。

リモートエージェントを登録したことで、利用可能なリモートエージェントとしてリストアップされました!
最後に現在のドル円レートを聞いてみましょう。

リアルタイムなドル円レートで回答が返ってきました!

結論に対しての補足

  • 関連サービスの紹介
  • 参考文献や、公式ページへのリンクなど

参考サイト

おわりに

今回はA2Aのサンプルを動かしてみました。
AgentをホストしているURLを貼るだけで連携でき、かなり世界が広がりそうです。

ここからさらにサンプルを動かしたり読み込んで情報発信できればと思います!
いいね、コメント、ブックマークよろしくお願いいたします!

Discussion