Google Agent Development Kit (ADK) Web UI とは?

ADKとは?

Google の Agent Development Kit (ADK) Web UI は、Google が提供するオープンソースのフレームワークである Agent Development Kit (ADK) の一部として提供される、AI エージェント開発のためのブラウザベースのインターフェースです。

これは、主に Gemini などの大規模言語モデル(LLM)を活用した AI エージェントの設計、開発、デバッグ、テストをより直感的かつ効率的に行うために作られています。簡単に言えば、AI エージェントをコードで記述しつつ、その動作をブラウザ上で視覚的に確認・調整できる「開発環境」です。

ADK Web UI でできること

ADK Web UI は、以下のような機能を提供することで、AI エージェント開発のプロセスを効率化します。

  • エージェントの定義と構成の視覚化: エージェントがどのような役割を持ち、どのようなツールを使用し、どのように動作フローをたどるのかを、グラフィカルに把握できます。
  • プロンプトのテストとデバッグ: エージェントに与えるプロンプト(指示文)を Web UI 上で直接入力し、エージェントの応答や内部の思考プロセスをリアルタイムで確認できます。これにより、プロンプトの調整や問題点の特定が容易になります。
  • ツール利用の監視: エージェントが外部ツール(例: 検索ツール、データベースアクセス、API呼び出しなど)をどのように利用しているかをステップバイステップで確認できます。ツールが意図した通りに動作しているか、またはエラーが発生していないかを把握できます。
  • ワークフローの実行と検証: 複雑なマルチエージェントシステムや複数のステップからなるタスクの実行をシミュレーションし、各段階でのエージェントの判断や結果を検証できます。
  • 評価と分析: エージェントのパフォーマンスを評価するための機能や、ログ、メトリクスなどの分析データにアクセスできる場合があります。

なぜ ADK Web UI が重要なのか?

生成AI を活用したエージェント開発は、従来のプログラミングとは異なり、モデルの「思考」や「判断」がブラックボックスになりがちです。ADK Web UI は、このブラックボックスの一部を可視化し、開発者がエージェントの挙動を理解し、制御するための重要な手段となります。

  • 開発効率の向上: エージェントの動作やツールの利用状況を視覚的に確認できるため、問題の特定と修正が迅速に行えます。
  • 複雑なエージェントの管理: マルチエージェントシステムなど、複数のエージェントが連携する複雑な構成でも、その全体像や各エージェントの役割を把握しやすくなります。
  • プロンプトエンジニアリングの支援: 試行錯誤が必要なプロンプトエンジニアリングにおいて、即座に結果を確認できる環境は非常に有用です。

ADK と Vertex AI の関連

ADK は、Google Cloud の AI/ML プラットフォームである Vertex AI と深く連携するように設計されています。ADK Web UI で開発されたエージェントは、最終的に Vertex AI Agent Engine や Cloud Run などの Vertex AI サービスにデプロイされることを想定しています。これにより、エンタープライズレベルのスケーラビリティ、セキュリティ、および MLOps の機能を利用できるようになります。

簡単にまとめると、Google ADK Web UI は、開発者が Google の生成 AI モデルを使って賢い AI エージェントを効率的に作り、動かし、改善していくための、視覚的で使いやすい「開発用コックピット」のようなものです。

Google ADKクイックスタートガイド:数分でAIエージェントを動かす方法

Googleが提供するオープンソースフレームワークADK(Agent Development Kit)を使えば、簡単にAIエージェントを作り、その動作をテストできます。

ADK公式ドキュメントのクイックスタートを元に、わずか数ステップでAIエージェントを動かす方法を解説します。

1. 開発環境の準備

ADKはPythonライブラリなので、まずは開発環境を整えましょう。

仮想環境の作成と有効化:
(Mac/Linuxの場合) これにより、プロジェクトごとに依存関係を管理でき、環境をクリーンに保てます。

python -m venv .venv
source .venv/bin/activate

ADKのインストール:

pip install google-adk

このコマンド1つで、ADKとそれに必要なすべてのライブラリがインストールされます。

プロジェクトフォルダ構成

parent_folder/
    multi_tool_agent/
        __init__.py
        agent.py
        .env
from . import agent
import datetime
from zoneinfo import ZoneInfo
from google.adk.agents import Agent

def get_weather(city: str) -> dict:
    """Retrieves the current weather report for a specified city.

    Args:
        city (str): The name of the city for which to retrieve the weather report.

    Returns:
        dict: status and result or error msg.
    """
    if city.lower() == "new york":
        return {
            "status": "success",
            "report": (
                "The weather in New York is sunny with a temperature of 25 degrees"
                " Celsius (77 degrees Fahrenheit)."
            ),
        }
    else:
        return {
            "status": "error",
            "error_message": f"Weather information for '{city}' is not available.",
        }


def get_current_time(city: str) -> dict:
    """Returns the current time in a specified city.

    Args:
        city (str): The name of the city for which to retrieve the current time.

    Returns:
        dict: status and result or error msg.
    """

    if city.lower() == "new york":
        tz_identifier = "America/New_York"
    else:
        return {
            "status": "error",
            "error_message": (
                f"Sorry, I don't have timezone information for {city}."
            ),
        }

    tz = ZoneInfo(tz_identifier)
    now = datetime.datetime.now(tz)
    report = (
        f'The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}'
    )
    return {"status": "success", "report": report}


root_agent = Agent(
    name="weather_time_agent",
    model="gemini-2.0-flash",
    description=(
        "Agent to answer questions about the time and weather in a city."
    ),
    instruction=(
        "You are a helpful agent who can answer user questions about the time and weather in a city."
    ),
    tools=[get_weather, get_current_time],
)
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=PASTE_YOUR_ACTUAL_API_KEY_HERE

認証設定

gcloud auth application-default login

adk web コマンド

adk web

ADKの強力な機能の1つが、このadk webコマンドです。 adk webを実行すると、ブラウザ上で動作する開発者向けのUIが起動します。このUIを使えば、エージェントの応答だけでなく、「思考プロセス(Chain of Thought)」や、どのツールを呼び出したか、といった内部の動作がすべて可視化されます。

  • ターミナルで以下を実行します。 adk web
  • ブラウザで表示されたURLにアクセスします。
  • UIに質問を入力してみましょう。例えば、「今日のニューヨークの天気は?」と聞いてみてください。エージェントがGoogle検索ツールを使って情報を取得し、応答する様子を確認できます。

まとめ

わずか数ステップで、Geminiモデルを搭載し、Google検索ツールを活用するAIエージェントを構築できました。ADKは、このようにAIエージェント開発の複雑な部分を抽象化し、プロンプトの調整やツールの連携といった本質的な部分に集中できるように設計されています。

関連記事

カテゴリー

アーカイブ

Lang »