Google A2Aのデモを動かす
Google A2A(Agent2Agent) デモを動かす
GoogleからA2Aプロトコルが発表されました。 デモがあったので実際に動かしてみました。以下、簡単に手順のメモです。
必要なもの
- Python
- uv
- Gemini APIキー
手順
-
リポジトリのクローン:
まず、A2AのリポジトリをGitHubからクローンします。
git clone https://github.com/google/A2A/ -
ディレクトリの移動:
クローンしたリポジトリの
samplesディレクトリに移動します。cd A2A cd samples -
仮想環境の作成と有効化:
uvを使用して仮想環境を作成し、有効化します。uv venv source .venv/bin/activate -
Gemini APIキーの設定:
Gemini APIキーを環境変数に設定します。
<your_api_key>の部分を実際のAPIキーに置き換えてください。export GOOGLE_API_KEY=<your_api_key> -
crewaiエージェントの起動:python/agents/crewaiディレクトリに移動し、uvでcrewaiエージェントを起動します。ポート10000で実行します。cd python/agents/crewai uv run . --host 0.0.0.0 --port 10000この状態で、別のターミナルから以下のコマンドを実行して、エージェントのメタデータを確認できます。
curl http://0.0.0.0:10000/.well-known/agent.json正常に動作していれば以下のように出力されるはずです。
{ "name": "Image Generator Agent", "description": "Generate stunning, high-quality images on demand and leverage powerful editing capabilities to modify, enhance, or completely transform visuals.", "url": "http://0.0.0.0:10000/", "version": "1.0.0", "capabilities": { "streaming": false, "pushNotifications": false, "stateTransitionHistory": false }, "defaultInputModes": [ "text", "text/plain", "image/png" ], "defaultOutputModes": [ "text", "text/plain", "image/png" ], "skills": [ { "id": "image_generator", "name": "Image Generator", "description": "Generate stunning, high-quality images on demand and leverage powerful editing capabilities to modify, enhance, or completely transform visuals.", "tags": [ "generate image", "edit image" ], "examples": [ "Generate a photorealistic image of raspberry lemonade" ] } ] } -
他のエージェントの起動:
同様の手順で、他のエージェントも異なるポートで起動します。Ctrl+z、bgなどとしてエージェントをバックグラウンドで動かします。
crewaiディレクトリから一つ上のagentsディレクトリに戻り、google_adkとlanggraphディレクトリで同様にuv runコマンドを実行します。cd ../google_adk uv run . --host 0.0.0.0 --port 10001エージェントが起動したら同様にバックグラウンドで動作させます。
cd ../langgraph uv run . --host 0.0.0.0 --port 10002注意: ポート番号が重複しないようにしてください。
-
デモUIの実行:
demo/uiディレクトリに戻り、main.pyを実行します。cd ../../../demo/ui uv run main.py
これで、ブラウザでhttp://0.0.0.0:12000などにアクセスすると、A2Aのデモが実行されるはずです。
-
エージェントの追加:
左メニューから「Agents」を選択。そこでエージェントを追加。ここで入力する「Agent Address」の形式は<IPアドレス>:<ポート>の形式。httpなどは不要。
正常にエージェントが認識されると次のような画面になります。

-
Enjoy:
左メニューで「Home」に戻り、Conversationを追加すると、フロントエンドを介してHost Agentと会話を始めることができます。

Discussion