Run the agent using the ADK's Web UI

進行状況を確認

/ 40

Run an agent programmatically

進行状況を確認

/ 40

Preview a multi-agent example

進行状況を確認

/ 20

このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。
注: このラボでは、一貫した高パフォーマンスのエクスペリエンスを確保するため、一部モデルのリクエストに対してキャッシュに保存された回答が提供される場合があります。

GENAI104

Google Cloud セルフペース ラボ

概要

複雑なエージェント アプリケーションの構築には、複数の専門的なモデルの調整、ツール統合の管理、実行トレースのデバッグが必要になることが多く、これらはすべて手作業で集中的に行う必要があり、スケーリングが困難です。

Agent Development Kit(ADK)は、マルチエージェント システムの構築、テスト、デプロイを行うためのモジュール型フレームワークを提供することで、これらの課題を解決します。これにより、専門的なエージェントを階層構造に構成したり、事前構築済みのツールまたはカスタムのツールを装備したり、予測可能なパイプラインならびに LLM による動的なルーティングの両方を使用するワークフローを連携させたりできます。

このラボでは、ADK を使用してリサーチ アシスタントを構築します。このアシスタントは、 を活用してデータを分析し、構造化されたレポートを生成します。これらの依存関係を動的に管理して、新しいモデルがリリースされてもエージェント ワークフローの堅牢性を維持する方法について学習します。

目標

このラボでは、次のタスクの実行方法について学びます。

  • ADK アーキテクチャ(エージェント、ツール、セッション)について説明する。
  • エージェント アプリのローカル開発環境を構成する。
  • 動的モデルとカスタム ツール アクセスを使用してエージェントを定義する。
  • ADK ブラウザの UI、Python コード、CLI チャット インターフェースを使用して、エージェントを実行して検査する。

ADK のメリット

エージェント アプリケーションを構築する開発者にとって、ADK には、次のような重要なメリットがあります。

  • マルチエージェント システム: 専門的なエージェントを階層構造に構成して、モジュール型のスケーラブルなアプリケーションを構築する。
  • 充実したツール エコシステム: エージェントに、事前構築済みのツール、カスタム関数、LangChain や CrewAI などのフレームワークの統合機能を装備させることができます。
  • 柔軟なオーケストレーション: ワークフロー エージェントを使用して予測可能なパイプラインを定義するか、LLM を使用して適応性のある動的ルーティングを実現します。
  • 統合されたデベロッパー エクスペリエンス: 強力な CLI とインタラクティブな UI を使用して、ローカルで開発とデバッグを行い、ステップごとに実行を検査します。
  • 組み込みの評価: テストケースに対する回答の質と実行軌跡を評価することで、パフォーマンスを体系的に測定します。
  • デプロイへの対応: Vertex AI Agent Engine、Cloud Run、カスタム Docker インフラストラクチャでエージェントを簡単にコンテナ化してスケーリングできます。

他の SDK でもモデルのクエリは可能ですが、ADK は複数のモデル間の複雑な調整を処理する高レベルのフレームワークを提供します。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するには、以下が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] ペインでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] ペインでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後、次のように進みます。

    • 利用規約に同意します。
    • 一時的なアカウントなので、復元オプションや 2 要素認証は設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニュー アイコンと検索フィールド

タスク 1. ADK をインストールして環境を設定する

このタスクでは、エージェント アプリケーションの構築とテストを行うための環境を準備します。そのためには、Cloud Shell エディタを構成し、プロジェクトを初期化し、Agent Development Kit(ADK)をインストールします。

推奨 API を有効にする

このラボ環境では、Vertex AI API と Telemetry API がすでに有効になっています。ご自身のプロジェクトでは、モデルに対してクエリを行ったり、テレメトリー データを Cloud Logging に送信したりするために、これらの API を有効にする必要があります。

Cloud Shell エディタタブを準備する

  1. Google Cloud コンソールのタイトルバーで、[Cloud Shell をアクティブにする](Cloud Shell をアクティブにする)をクリックします。

    注: または、コンソールのブラウザタブを選択し、G キー、S キーの順に押して Cloud Shell ターミナルを開きます。
  2. [続行] をクリックします。

  3. Cloud Shell を承認するよう求められたら、[承認] をクリックします。

  4. Cloud Shell ターミナル アクションバーで、[新しいウィンドウで開く](「新しいウィンドウで開く」ボタン)をクリックします。

  5. Cloud Shell エディタのアクションバーで [エディタを開く](編集(鉛筆)アイコン)をクリックして、ファイルを表示します。

  6. 左側のペインで [Explorer](エクスプローラ アイコン)をクリックして、ファイル エクスプローラを開きます。

  7. [Open Folder] をクリックします。

  8. 表示された [Open Folder] ダイアログで [OK] をクリックします。これによって、Google Skills 受講者アカウントのホームフォルダが選択されます。

  9. 画面の右側に表示される追加のチュートリアルや Gemini のパネルを閉じると、コードエディタのウィンドウをより広く使用できます。

このラボの残りの部分では、このウィンドウを Cloud Shell エディタと Cloud Shell ターミナルを備えた IDE として使用できます。

ADK とこのラボ用のコードサンプルをダウンロードしてインストールする

  1. 次のコマンドを Cloud Shell ターミナルに貼り付けて、このラボのコードを含むプロジェクト ディレクトリを Cloud Storage バケットからコピーします。

    gcloud storage cp -r gs://{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}-bucket/* .
  2. Cloud Shell ターミナルで次のコマンドを実行します。これにより、ユーザーのローカル環境を含めるように PATH 環境変数が更新され、ロギングとテレメトリー用の OpenTelemetry(OTel)プラグインとその他のラボ要件が含まれる ADK がインストールされます。

    export PATH=$PATH:"/home/${USER}/.local/bin" python3 -m pip install google-adk[otel-gcp]==1.30.0 -r adk_project/requirements.txt

タスク 2. 基本的なコンセプトと ADK プロジェクト ディレクトリの構造を確認する

エージェント、ツール、オーケストレーション パターンなど、ADK の基本的なコンセプトと構成要素を理解し、効果的かつ柔軟なマルチエージェント システムの設計に使用される原則を学びます。

  • エージェント: エージェントは、特定のタスクを完了するように設計されたコア構成要素です。LLM を活用して推論や計画を行ったり、目的を果たすためのツールを利用したり、複雑なプロジェクトでコラボレーションしたりすることができます。
  • ツール: ツールを使用すると、エージェントは会話以外の機能を利用して、外部 API との対話、情報の検索、コードの実行、他のサービスの呼び出しを行うことができます。
  • セッション サービス: セッション サービスは、単一の会話(Session)のコンテキストを処理します。これには、履歴(Events)と、その会話のエージェントのワーキング メモリ(State)が含まれます。
  • コールバック: エージェントのプロセスの特定の時点で実行するためにユーザーが提供するカスタム コード スニペットです。チェック、ロギング、動作の変更が可能になります。
  • アーティファクト管理: アーティファクトを使用すると、エージェントはセッションまたはユーザーに関連付けられたファイルやバイナリデータ(画像や PDF など)の保存、読み込み、管理を行うことができます。
  • ランナー: 実行フローを管理し、イベントに基づいてエージェントのインタラクションをオーケストレートし、バックエンド サービスと連携するためのエンジンです。

次に、ADK プロジェクトの標準レイアウトを確認して、これらのコンセプトが実際にどのように整理されているかを見てみましょう。

  1. Cloud Shell エディタのファイル エクスプローラ ペインで adk_project をクリックしてディレクトリを開きます。

  2. adk_project にある 4 つのエージェント ディレクトリ(adk_utils、app_agent、llm_auditor、my_google_search_agent)に注目してください。これらの各ディレクトリは、別個のエージェントを表します。エージェントをプロジェクト ディレクトリ内の独自のディレクトリに分離することにより、エージェントが整理されます。また、この分離によって ADK はエージェントの存在を把握できるようになります。

  3. my_google_search_agent をクリックしてエージェント ディレクトリを開きます。

    注: この時点で、adk_project/my_google_search_agent ディレクトリ内であることを確認してください。
  4. init.py をクリックして内容を表示します。このディレクトリには agent.py ファイルも含まれています。

  5. init.py ファイルに含まれているのは 1 行だけであり、agent.py ファイルからインポートするだけです。ADK はこれを使用して、このディレクトリをエージェント パッケージとして識別します。

    from . import agent
  6. agent.py をクリックしてコードを表示します。Google 検索ツールを備えたシンプルなエージェントのコードです。

    • google.adk からのインポート(Agent クラスと tools モジュールの google_search ツール)。
    • このシンプルなエージェントを構成するパラメータを説明するコードコメントを読んでください。
  7. インポートした google_search ツールを使用するには、そのツールをエージェントに渡す必要があります。agent.py ファイルの 34 行目付近(Agent オブジェクト作成の最後であることが示されている)に次の行を貼り付けます。

    tools=[google_search]
  8. agent.py ファイルを保存します。

ツールを使用すると、エージェントはテキストの生成以外の操作を実行できます。このケースでは、エージェントは google_search ツールを使用することにより、トレーニング データからすでに得ていた情報よりも詳細な情報を取得すべきなのはどのような場合かを判断できます。検索クエリを作成し、Google 検索を使用してウェブを検索し、その結果に基づいてユーザーに回答することができます。

モデルが取得した追加情報に基づいて回答を生成することを「グラウンディング」と呼び、このプロセス全体を「検索拡張生成」または「RAG」と呼びます。

タスク 3. ADK 開発 UI を使用してエージェントを実行する

ADK には、エージェントの開発とテストに役立つようローカルで実行するように設計された開発 UI が含まれています。各エージェントが何をしているか、複数のエージェントがどのように相互作用しているかの可視化に役立ちます。このタスクでは、このインターフェースについて学習します。

注: エージェントを実行する場合、ADK は誰がモデル API 呼び出しをリクエストしているかを知る必要があります。この情報は、次の 2 つの方法で指定できます。

  1. Gemini API キーを指定します。
  2. Google Cloud 認証情報を使用して環境を認証し、モデル API 呼び出しを Vertex AI プロジェクトとロケーションに関連付けます。

このラボでは、2 番目のアプローチを採用して、Vertex AI プロジェクトで認証を行います。

  1. Cloud Shell ターミナルで次のコマンドを実行します。これにより、環境変数を設定する行が .env ファイルに書き込まれます。これらの環境変数は、使用するプロジェクトとグローバル エンドポイントの使用をエージェントに指示します。

    cd ~/adk_project cat << EOF > my_google_search_agent/.env GOOGLE_GENAI_USE_VERTEXAI=TRUE GOOGLE_CLOUD_PROJECT={{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} GOOGLE_CLOUD_LOCATION=global MODEL={{{project_0.startup_script.gemini_flash_model_id | gemini_flash_model_id}}} OTEL_SERVICE_NAME=adk-agent OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true EOF

    これらの変数は次の役割を果たします。

    • GOOGLE_GENAI_USE_VERTEXAI=TRUE は、Gemini API キー認証ではなく、Vertex AI を認証に使用することを示します。
    • GOOGLE_CLOUD_PROJECT と GOOGLE_CLOUD_LOCATION は、モデル呼び出しを関連付けるプロジェクトとロケーションを指定します。
    • MODEL は必須ではありませんが、ここに保存することによって、別の環境変数として読み込むことができるようになります。これは、さまざまなデプロイ環境でさまざまなモデルを試すのに便利な方法です。
    • OTEL_SERVICE_NAME、OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED、OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT は、エージェントから ADK 固有のテレメトリー データを収集するための OpenTelemetry(OTel)の構成に使用されます。

    ADK 開発 UI と CLI チャット インターフェースは、.env ファイルから構成を自動的に読み込みます。ファイルが存在しない場合は、名前が一致するシステム環境変数が使用されます。

  2. Cloud Shell ターミナルで、次のコマンドを実行して、エージェント サブディレクトリがある adk_project ディレクトリに移動します。

    cd ~/adk_project
  3. 次のコマンドといくつかの便利なフラグを使用して、ADK 開発 UI を起動します。このコマンドは次のことを行います。

    • Fast API ウェブサーバーと ADK 開発 UI を起動する
    • Cloud Shell ウェブ プレビューでエージェントをクエリできるようにする
    • テレメトリー データを Cloud Logging に送信する
    • コードの変更が検出されたときにエージェントを再読み込みする
    adk web \ --allow_origins "regex:https://.*\.cloudshell\.dev" \ --otel_to_cloud \ --reload_agents

    出力

    INFO: Started server process [2434] INFO: Waiting for application startup. +-------------------------------------------------------+ | ADK Web Server started | | | | For local testing, access at http://localhost:8000. | +-------------------------------------------------------+ INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

    現在実行されている ADK 開発 UI の URL が表示されます。

  4. ウェブ インターフェースを新しいタブで表示するには、ターミナルの出力にある http://127.0.0.1:8000 リンクをクリックします。これにより、Cloud Shell インスタンスでローカルに実行されているこのアプリにプロキシ経由でリンクされます。結果として、実行されている開発 UI が新しいタブに表示されます。

  5. 左側の [Select an agent] メニュー オプションから my_google_search_agent を選択します。

    開発 UI

  6. Google 検索ツールを使用するようにエージェントに促すため、次の質問を入力します。

    I know the Summer olympics are happening in 2028, please tell me which countries are participating and what events will be held.(2028 年に夏季オリンピックが開催されることは知っていますが、どの国が参加し、どのような競技が開催されるか教えてください。)

    エージェントが Google 検索を使用してリアルタイム情報を取得し、事前トレーニング済みモデルのナレッジ カットオフを回避していることに注目してください。

    注: Google 検索によるグラウンディングを使用した回答には、表示可能な HTML の「検索候補」が含まれます(通常はエージェントの回答の下部に表示されます)。Google 検索によるグラウンディングを使用する場合は、これらの候補を表示することが求められます。これにより、ユーザーはモデルが回答に使用した情報をフォローアップできます。
  7. 左側のペインで、デフォルトで [Trace] タブが表示されていることに注意してください。直前のクエリテキスト(I know the Summer olympics are happening in 2028, please tell me which countries are participating and what events will be held.)をクリックすると、クエリのさまざまな部分の実行にかかった時間のトレースが表示されます。

    これを使用して、ツール呼び出しを含むより複雑な実行をデバッグし、さまざまなプロセスが回答のレイテンシにどのように影響するかを把握できます。

    エージェント呼び出しのトレース
  8. ウィンドウのチャット ディスカッション セクションに戻り、右側のペインにあるエージェントの回答の横のエージェント アイコン(agent_icon)をクリックして、エージェントが返したイベントを調べます。このイベントには、ユーザーに返された content と、回答の基になった検索結果の詳細を示す groundingMetadata が含まれています。

  9. ADK 開発 UI の確認が終わったら、このブラウザタブを閉じます。

  10. Cloud Shell ターミナルが表示されているブラウザタブに戻り、ターミナルのペインをクリックします。

  11. Ctrl+C キーを押してウェブサーバーを停止します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 ADK のウェブ UI を使用してエージェントを実行する

タスク 4. エージェントをプログラマティックに実行する

ADK 開発 UI はテストとデバッグには適していますが、本番環境での複数のユーザーによるエージェントの利用には適していません。

エージェントを大規模なアプリケーションの一部として実行するには、前のタスクでウェブアプリが処理した agent.py スクリプトにいくつかの追加コンポーネントを含める必要があります。次の手順に沿って、これらのコンポーネントを含むスクリプトを開き、確認します。

  1. ディレクトリに .env ファイルがない場合に、すべてのエージェントが使用する環境変数を設定できます。Cloud Shell ターミナルで次のコマンドを実行して、環境変数をエクスポートします。

    export GOOGLE_GENAI_USE_VERTEXAI=TRUE export GOOGLE_CLOUD_PROJECT={{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} export GOOGLE_CLOUD_LOCATION=global export MODEL={{{project_0.startup_script.gemini_flash_model_id | gemini_flash_model_id}}}
  2. Cloud Shell エディタのファイル ブラウザで、adk_project/app_agent をクリックします。

  3. このディレクトリ内の agent.py ファイルをクリックします。

  4. このエージェントは、アプリケーションの一部として実行されるように設計されています。agent.py のコメント付きコードを読み、コード内の次のコンポーネントに特に注目してください。

    • InMemoryRunner()(68 行目付近): エージェント実行機能の管理。このランナーは、ユーザーのクエリを受け取って適切なエージェントに渡し、エージェントの回答イベントを受け取って、呼び出し元のアプリケーションまたは UI に返し、次のイベントをトリガーする役割を担うコードです。詳しくは、ADK のイベントループに関するドキュメントをご覧ください。
    • runner.session_service.create_session()(71 行目付近)は、会話履歴と共有状態の機能です。セッションを使用すると、エージェントは状態を維持し、アイテムのリスト、タスクの現在のステータス、その他の「現在の」情報を記憶できます。このクラスは、簡略化のためにローカル セッション サービスを作成しますが、本番環境ではデータベースで処理できます。
    • types.Content() と types.Part()(78 行目と 79 行目付近): 構造化されたマルチモーダル メッセージ機能。エージェントには、単純な文字列ではなく、複数の Part で構成される Content オブジェクトが渡されます。これにより、テキストやマルチモーダル コンテンツなどの複雑なメッセージを特定の順序でエージェントに渡すことができます。
    注: ADK 開発 UI でエージェントを実行したときは、セッション サービス、アーティファクト サービス、ランナーを作成しました。独自のエージェントを記述してプログラマティックにデプロイする場合は、インメモリ バージョンに依存するのではなく、これらのコンポーネントを外部サービスとして提供することをおすすめします。

    スクリプトには、エージェントに "What is the capital of France?" と尋ねるハードコードされたクエリ(93 行目付近)が含まれています。

  5. Cloud Shell ターミナルで次のコマンドを実行して、このエージェントをプログラマティックに実行します。

    python3 app_agent/agent.py

    選択された出力:

    ** User says: What is the capital of France? ... ** trivia_agent: The capital of France is Paris.

Pydantic のスキーマクラスを追加する

次のように、エージェントの特定の入力スキーマや出力スキーマを定義することもできます。

  1. 28 行目付近に、Pydantic のスキーマクラスである BaseModel と Field のインポート ステートメントを追加して、スキーマクラスを定義します。

    from pydantic import BaseModel, Field class CountryCapital(BaseModel): capital: str = Field(description="A country's capital.")
  2. 62 行目付近の root_agent の Agent 定義で、上記で定義した CountryCapital スキーマを使用するように output_schema パラメータを設定します。

    output_schema=CountryCapital
  3. エージェント スクリプトを再度実行して、output_schema に従った回答を確認します。

    python3 app_agent/agent.py

    選択された出力:

    ** User says: What is the capital of France? ... ** trivia_agent: {"capital": "Paris"}

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 エージェントをプログラマティックに実行する

タスク 5. コマンドライン インターフェースを使用してエージェントとチャットする

コマンドライン インターフェースを使用して、ローカル開発環境でエージェントとチャットすることもできます。これは、エージェントを開発しているときに、簡単なデバッグやテストを行うのにとても便利です。

ウェブ インターフェースと同様に、コマンドライン インターフェースも、エージェントのセッション サービス、アーティファクト サービス、ランナーの作成を処理します。

コマンドライン インターフェースを使用してインタラクティブ セッションを実行するには:

  1. Cloud Shell ターミナルで次のコマンドを実行します。

    adk run my_google_search_agent

    出力:

    Log setup complete: /tmp/agents_log/agent.20250322_010300.log To access latest log: tail -F /tmp/agents_log/agent.latest.log Running agent basic_search_agent, type exit to exit. user:
  2. 次のメッセージを入力します。

    What are some popular movies that have been released in India this year?(今年インドで公開された人気映画をいくつか挙げてください。)

    出力例(実際のものとは異なる場合があります):

    [google_search_agent]: Here are some of the movies that have been released in India in the past month (January 2026 to early February 2026): * **January 16, 2026**: *Bihu Attack*, *Happy Patel: Khatarnak Jasoos*. * **January 23, 2026**: *Border 2*. * **January 30, 2026**: *Mardaani 3*, *Mayasabha - The Hall of Illusion*. * **February 5, 2026**: *Vadh 2*, *Haunted 3D: Ghosts Of The Past*. * **February 13, 2026**: *Tu Yaa Main*, *O'Romeo*, *Swayambhu*,. * **February 19, 2026**: *Veer Murarbaji*, *Do Deewane Seher Mein*. * **February 20, 2026**: *Epic: Elvis Presley In Concert*, *Hamnet*. * **February 26, 2026**: *The Kerala Story 2 Goes Beyond*.
  3. コマンドライン インターフェースとのチャットが終了したら、次のユーザー プロンプトで exit と入力して、チャットを終了します。

タスク 6. マルチエージェントの例をプレビューする

このタスクでは、マルチエージェント システムを調べて、ADK の中心的な機能を理解します。

このエージェント システムは、LLM によって生成された回答の事実に基づくグラウンディングを評価し、向上させます。これには次のものが含まれます。

  • critic_agent: 自動ファクト チェッカーとして機能します。
  • reviser_agent: 検証済みの調査結果に基づいて不正確な点を修正するために、必要に応じて回答を書き換えます。

このエージェントを試すには:

  1. Cloud Shell エディタのファイル エクスプローラを使用して、ディレクトリ adk_project/llm_auditor に移動します。

  2. llm_auditor ディレクトリで、agent.py をクリックします。

  3. このマルチエージェントの例で注目すべき点をいくつか紹介します。

    • SequentialAgent は、ユーザー入力を必要とせずに、エージェント間で会話の制御を順番に渡すワークフロー クラスです。実行すると、critic_agent と reviser_agent が自動的に順番に応答します。
    • これらのサブエージェントはそれぞれ、sub_agents ディレクトリ内の独自のディレクトリからインポートされます。
    • サブエージェント ディレクトリには、init.py、agent.py、prompt.py が含まれています。prompt.py を使用して複雑なプロンプトを個別に管理してから、agent.py にインポートします。
  4. Cloud Shell ターミナルで次のコマンドを実行します。これにより、前に作成した .env ファイルをコピーしてこのエージェントでも使用できるようにし、ADK 開発 UI を再度起動します。

    cd ~/adk_project cp my_google_search_agent/.env llm_auditor/.env adk web \ --allow_origins "regex:https://.*\.cloudshell\.dev" \ --otel_to_cloud \ --reload_agents 注: 先に起動した adk web セッションをシャットダウンしていない場合、デフォルトのポート 8000 がブロックされますが、adk web --port 8001 などを使用して新しいポートで開発 UI を起動できます。
  5. ターミナル出力の http://127.0.0.1:8000 リンクをクリックします。新しいブラウザタブが開き、ADK 開発 UI が表示されます。

  6. 左側の [Select an agent] メニュー オプションから、llm_auditor を選択します。

  7. 次の誤った文で会話を開始します。

    Double check this: Earth is further away from the Sun than Mars.

チャットエリアにエージェントからの 2 つの回答が表示されます。

  • 1 つ目は、Google 検索によるファクト チェックに基づいて説明の真実性を確認する critic_agent からの詳細な回答。
  • 2 つ目は、reviser_agent からの短い修正文。誤った入力文の修正版("Earth is closer to the Sun than Mars." など)が含まれます。
  1. 各回答の横にあるエージェント アイコン(agent_icon)をクリックして、その回答のイベントパネルを開きます(または、[Events] パネルで対応する番号付きのイベントを見つけて選択します)。

イベントビューの上部には、このマルチエージェント システムのエージェントとツールの関係を視覚化したグラフが表示されます。この回答を担当したエージェントがハイライト表示されます。

  1. コードをさらに詳しく調べるか、開発 UI で他のファクト チェックを行ってみます。別の例を試してみましょう。

    Q: Why is the sky blue? A: Because the sky reflects the color of the ocean.
  2. 会話をリセットする場合は、セッションのタイトルバーにある [New Session] をクリックして会話を再開します。

  3. このエージェントへの質問が完了したら、ブラウザタブを閉じ、ターミナルで Ctrl+C キーを押してサーバーを停止します。

注: この例では SequentialAgent ワークフロー エージェントを使用していますが、このパターンは人間参加型パターンと考えることができます。

SequentialAgent がシーケンスを終了すると、会話は親(この例では llm_auditor)に戻り、ユーザーから新しい入力ターンを取得してから、会話を他のエージェントに渡します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 マルチエージェントの例をプレビューする

お疲れさまでした

Agent Development Kit(ADK)の基礎的なラボが完了しました。エージェントとツールの中心的なアーキテクチャを分析し、標準化された開発環境を初期化して、動的モデルの依存関係として を構成しました。カスタムツールと構造化出力スキーマを実装することで、エージェントの動作を制御し、ブラウザ UI、Python スクリプト、CLI でワークフローを実行しました。これらのスキルは、強力でプロダクション レディなエージェント アプリケーションを構築してスケーリングするためのベースラインとなります。

次のステップと詳細情報

ADK について詳しくは、以下のリソースをご覧ください。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。クラスでは、技術スキルとベスト プラクティスを迅速に身につけ、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2026 年 4 月 15 日

ラボの最終テスト日: 2026 年 4 月 15 日

Copyright 2026 Google LLC.All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名とパスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。