はじめに
A2A とは、AI エージェントと AI エージェントが連携するための規格です。Google が 2025年4月に発表しました。
今回は Google のサンプルコードを動かしてみます。
Agent2Agent プロトコル(A2A)を発表:エージェントの相互運用性の新時代 | Google Cloud 公式ブログ
サイトを起動する
Google の A2A のリポジトリにはデモサイトのコードがあります。これを立ち上げてみます。
1. ソースコードをクローン
下のリンクからソースコードをクローンしてきます。
2. ディレクトリに移動する
cd demo/ui
3. API Kye を.env
に設定する
echo "GOOGLE_API_KEY=your_api_key_here" > .env
私はyour_api_key_here
の部分に Gemini の API Key を設定しました。
4. サイトを立ち上げる
uv run main.py
http://localhost:12000
にアクセスするとサイトが表示されます。
会話を始めることもできました。
エージェントを起動する
しかし、これでは AI エージェントと連携してないので、何もできません。
AI エージェントを立ち上げて連携してみます。
AI エージェントのサンプルコードは JavaScript と Python があります。私はJavaScript の方が慣れているので、JavaScript で実行します。
これから立ち上げるエージェントはcoder
というプログラムのコーディング機能を持ったエージェントです。
ちなみにlist_remote_agents
と入力すると実行可能なエージェントの一覧を提示してくれるようです。
1. ディレクトリに移動する
cd samples/js
2. 依存関係をインストール
npm install
3. API Key の設定
export GEMINI_API_KEY=<your_api_key>
<your_api_key>
の部分に、先ほどと同じ Gemini の API Key を設定しました。
4. エージェントを立ちあげ
npm run agents:coder
> [email protected] agents:coder
> npx tsx src/agents/coder/index.ts
(node:16028) ExperimentalWarning: CommonJS module /opt/homebrew/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /opt/homebrew/lib/node_modules/npm/node_modules/supports-color/index.js using require().
Support for loading ES Module in require() is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
[CoderAgent] Server started on http://localhost:41241
[CoderAgent] Press Ctrl+C to stop the server
A2A Server listening on port 41241 at path /
http://localhost:41241
にエージェントが立ち上がりました。
5. エージェントを連携する
起動したエージェントをサイトに連携します。先ほど起動したエージェントの URL である、localhost:41241
を入力します。
Read
を押すと読み込まれて、エージェントを登録できるようになります。
エージェントの一覧に追加することができました。
もう一度コードを書くように指示してみます。
できましたね。
さいごに
A2A でのエージェントはテキストを返すだけでなく、様々なタスクを実行することを想定されているようです。どうなるのか楽しみです。