始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Install ADK and set up your environment
/ 25
Explore the ADK agent
/ 25
Deploy the Agent as an A2A Server
/ 25
Enable another ADK agent to call the agent remotely
/ 25
Agent2Agent(A2A)プロトコルは、AI の分野における重要な課題に対処します。その課題とは、さまざまな企業がさまざまなフレームワークを使用して構築し、個別のサーバー上で実行される生成 AI エージェントが、単なるツールとして動作するだけでなく、効果的なコミュニケーションとコラボレーションを行うことを可能にするというものです。A2A は、エージェント向けに共通言語を提供し、より相互接続性が高く、強力で革新的な AI エコシステムを育成することを目的としています。
A2A はいくつかの基本コンセプトに基づいて、強力で柔軟になるように構築されています。
このラボでは、次の作業を行います。
こちらの手順をお読みください。ラボの時間は制限されており、一時停止することはできません。[ラボを開始] ボタンをクリックするとタイマーが開始され、Cloud リソースを利用できる時間が表示されます。
この Qwiklabs ハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。一時的な認証情報が新しく提供されるため、ラボ受講中の Google Cloud Platform へのログインおよびアクセスにはその認証情報を使用してください。
このラボを完了するには、次のものが必要です。
注: すでに個人の GCP アカウントやプロジェクトをお持ちの場合でも、そのアカウントやプロジェクトはラボでは使用しないでください。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
このラボ環境では、Vertex AI API と Cloud Run API が有効になっています。ご自身のプロジェクトでこれらの手順を行う場合は、Vertex AI に移動し、プロンプトに従って有効にできます。
Google Cloud コンソール ウィンドウを選択した状態で、キーボードの G キーを押してから S キーを押して、Cloud Shell を開きます。または、Cloud コンソールの右上にある「Cloud Shell をアクティブにする」ボタン をクリックします。
[続行] をクリックします。
Cloud Shell を承認するよう求められたら、[承認] をクリックします。
Cloud Shell ターミナル パネルの右上にある「新しいウィンドウで開く」ボタン()をクリックします。
Cloud Shell ターミナルで、次のコマンドを入力して Cloud Shell エディタをホーム ディレクトリで開きます。
画面の右側に表示される追加のチュートリアルや Gemini のパネルを閉じると、コードエディタのウィンドウをより広く使用できます。
このラボの残りの部分では、このウィンドウを Cloud Shell エディタと Cloud Shell ターミナルを備えた IDE として使用できます。
Cloud Shell ターミナルで次のコマンドを実行して、ADK をインストールします。注: インストールする ADK のバージョンが、このラボで使用されるバージョンと一致するように、バージョンを指定してください。
次のコマンドを Cloud Shell ターミナルに貼り付けて、Cloud Storage バケットからラボコードをコピーして解凍します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このラボでは、あなたはスタジアムのメンテナンス会社である Cymbal Stadiums で働いているとします。最近のプロジェクトの一環として、あなたはブランド ガイドラインに沿ってイラストを作成できる画像生成エージェントを開発しました。現在、組織内の複数のチームがこのエージェントを使用したいと考えています。
多くのエージェントがサブエージェントとして使用できるようにコードをコピーすると、それらすべてのコピーを維持していくことや改良を加えていくことは非常に困難になります。
代わりに、このエージェントを A2A サーバーでラップされたエージェントとして 1 回だけデプロイし、他のチームのエージェントがそれを組み込めるようにするという方法が可能です。この場合、他のチームのエージェントは、リモートでクエリを行うという形になります。
Cloud Shell エディタのファイル エクスプローラ ペインで、adk_and_a2a/illustration_agent ディレクトリに移動します。このディレクトリには、リモートで利用可能にする ADK エージェントが含まれています。このディレクトリをクリックして開きます。
このディレクトリの agent.py ファイルを開き、# Tools というラベルの付いたセクションまでスクロールします。
このエージェントがツールとして使用する generate_image() 関数を見つけます。この関数は、プロンプトを受け取り、2 段階のプロセスを実行します。まず、Google Gen AI SDK を使用して generate_content() を呼び出します。このレスポンスで生の画像データが直接返されます。次に、この関数は Cloud Storage ライブラリを使用して、これらの画像バイトを GCS バケットにアップロードします。最後に、作成された画像ファイルの公開 URL がツールにより返されます。
root_agent に提供される instruction は、会社のブランド ガイドラインに沿った画像生成プロンプトを使用するようエージェントに具体的な指示を提供します。たとえば、次のようなことを指定します。
実際に動作を確認するには、まず .env ファイルを作成して、ADK エージェントが必要とする環境変数を設定する必要があります。Cloud Shell ターミナルで次のコマンドを実行して、このディレクトリにこのファイルを書き込みます。
次のコマンドを実行して、.env をこのラボで使用する別のエージェント ディレクトリにコピーします。
Cloud Shell ターミナルで次のコマンドを実行して ADK 開発 UI を起動します。
出力
ウェブ インターフェースを新しいタブで表示するには、ターミナルの出力の下部にある http://127.0.0.1:8000 リンクをクリックします。
新しいブラウザタブが開き、ADK 開発 UI が表示されます。
左側の [Select an agent] プルダウンから、[illustration_agent] を選択します。
人材募集のプレゼン資料で使用するようなテキストを使用して、エージェントに対してクエリを行います。
約 10 秒後に、エージェントは生成したプロンプトと画像のプレビュー URL を返します。画像の URL をクリックして画像をプレビューし、ブラウザの [戻る] をクリックして開発 UI に戻ります。
出力例
画像の例
エージェントに指示したプロンプトでは、スポーツ、スタジアム、メンテナンスの仕事については言及しませんでした。しかし、エージェントはテキストとブランド ガイドラインを考慮し、それらを組み合わせて、画像生成モデル向けのプロンプトを作成しました。
ベース エージェントの確認が終わったら、ブラウザタブを閉じます。
Cloud Shell ターミナル ペインをクリックし、Ctrl+C キーを押してサーバーを停止します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ここでは、このエージェントをリモート A2A エージェントとしてデプロイする手順について説明します。
A2A エージェントは、エージェント カードを公開することで、自身とその機能を提示します。次のコマンドを実行して、agent.json ファイルを作成します。
adk_and_a2a/illustration_agent ディレクトリ内の agent.json ファイルを開き、次の内容を貼り付けます。
ファイルを保存します。
agent.json ファイル内の JSON の内容を調べます。エージェントの name と description が指定されており、いくつかの skills が特定されていることに注目してください。また、このエージェントを呼び出すための url も指定されています。
このラボの手順に沿ってエージェントをデプロイすると、エージェントの url は Cloud Run サービスの URL になります。
skills と意味は似ていますが、パラメータ capabilities はストリーミングなどの機能を示すために予約されています。
次のコマンドを実行して、illustration_agent ディレクトリに requirements.txt ファイルを作成します。
ファイルを選択し、次の内容をファイルに貼り付けます。
ファイルを保存します。
次のコマンドでは、adk deploy cloud_run に --a2a フラグを指定して、エージェントを A2A サーバーとして Cloud Run にデプロイします。Cloud Run へのエージェントのデプロイについて詳しく学ぶには、「Deploy ADK agents to Cloud Run」(ADK エージェントを Cloud Run にデプロイする)というラボを検索してください。このコマンドの内容は次のとおりです。
--project と --region は、Cloud Run サービスがデプロイされるプロジェクトとリージョンを定義します。--service_name は、Cloud Run サービスの名前を定義します。--a2a フラグは、A2A エージェントとしてホストする必要があることを示します。これは次の 2 つのことを意味します。
CLOUD_RUN_URL/a2a/AGENT_NAME/.well-known/agent.json でホストされます。注: このバージョンのカードはまもなく使用可能になりますが、エージェントの URL の動的な書き換えは現在 Cloud Run では機能しないため、このバージョンのラボでは使用しません。次のコマンドを使用して、エージェントを A2A サーバーとして Cloud Run にデプロイします。
このコンテナの未認証のレスポンスを許可するように求められます。ラボでのテストであるため、Cloud Shell ターミナルで「Y」(「yes」の意味)と入力して Return キーを押します。
PERMISSION_DENIED エラーが発生した場合は、上記のコマンドをもう一度実行してください。想定される出力:
Dockerfile のビルド、コンテナのデプロイ、サービスのデプロイに関する手順が表示された後、以下の内容が表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、2 番目の ADK エージェントが、イラスト生成エージェントの機能を特定してリモートで呼び出せるようにします。この 2 番目のエージェントは、スライドのコンテンツを作成するタスクを担うエージェントです。見出しと数文からなる本文を書き、イラスト生成エージェントに転送して、そのテキストを表す画像を生成してもらいます。
Cloud Shell ターミナルで、次のコマンドを実行して、エージェント カードの JSON ファイルを adk_and_a2a ディレクトリにコピーし、illustration_agent であることを表すようにファイル名を変更します。
Cloud Shell エディタのファイル エクスプローラ ペインで、adk_and_a2a/slide_content_agent に移動し、agent.py ファイルを開きます。
このエージェントの instruction を確認します。このエージェントは、ユーザーからスライドの指示を受け取り、見出しと本文を作成して、それを A2A エージェントに転送してスライドのイラストを生成してもらうことが示されています。
# Agents ヘッダーの下に次のコードを貼り付け、ADK の RemoteA2aAgent クラスを使用してリモート エージェントを追加します。
root_agent に次のパラメータを追加して、illustration_agent を root_agent のサブエージェントとして追加します。
ファイルを保存します。
Cloud Shell ターミナルから UI を起動します。
ターミナル出力の http://127.0.0.1:8000 リンクをもう一度クリックします。
新しいブラウザタブが開き、ADK 開発 UI が表示されます。左側の [Select an agent] プルダウンから、[slide_content_agent] を選択します。
次のようなスライドのアイデアを記述して、エージェントに対してクエリを行います。
次のような内容が出力されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このラボでは、ADK エージェントを A2A サーバーとしてデプロイし、A2A エージェントの機能が記述された JSON エージェント カードを準備しました。また、デプロイした A2A エージェントのエージェント カードを別の ADK エージェントが読み取ってサブエージェントとして使用できるようにしました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2025 年 10 月 6 日
ラボの最終テスト日: 2025 年 10 月 6 日
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください