❇️

ADK Visual Builder と Gemini Enterprise で実現する「全社員が使える」エージェント開発

に公開

はじめに: "作って終わり" から "使われる" エージェントへ

生成 AI エージェントの開発は、今や過渡期にあります。「LLM を使って面白いデモができた」というフェーズから、「実際の業務フローに組み込み、ビジネスインパクトを出す」フェーズへと移行しつつあります。

Google が提供する Agent Development Kit (ADK) は、Python/Java/Go コードで柔軟かつ強力なエージェントを定義できるオープンソースフレームワークです。しかし、すべてをコードで記述するアプローチには、「非同期処理やクラス設計の学習コスト」「複雑なワークフローの可視化」といったハードルがありました。

そこで登場したのが ADK Visual Agent Builder です。 ドラッグ&ドロップの直感的な GUI でエージェントを設計でき、Gemini 搭載の AI アシスタントが構築をサポートしてくれます。これにより、エンジニアだけでなくビジネスサイドのメンバーも開発に参加できる「エージェント開発の民主化」が進みました。

しかし、ローカルで動くだけでは意味がない

Agent を作ったけど、別の Web アプリとしてデプロイして、認証を通して...とやっているうちに『これ、みんなに使ってもらうのハードル高いな』と感じたことはありませんか?
「全社員が普段使っているチャットツールで、そのエージェントを使えるようにする」
ここまで到達して初めて、エージェントは真の価値を発揮します。

本記事のゴールは、ブラウザで作ったエージェントを、全社員が使う「Gemini Enterprise」のチャット UI 画面に登場させるまで の一気通貫フローを解説することです。


Step 1: ADK Visual Agent Builder で爆速プロトタイピング

環境準備

ADK をインストールし、開発環境を整えます。

前提条件 (Prerequisites)

デプロイを行う前に、以下のリソースとツールが設定されていることを確認してください。

  • Google Cloud アカウント: 管理者権限を持つアカウント。
  • Google Cloud プロジェクト: 課金が有効になっているプロジェクト。
  • Python 環境: Python 3.10 〜 3.13。
  • Google Cloud CLI (gcloud): Google Cloud リソースの操作に使用します。

1. 仮想環境の作成と有効化

Python の仮想環境 (venv) を使用することを推奨します。

python -m venv .venv

OS に合わせて仮想環境を有効化します。

# Mac / Linux
source .venv/bin/activate

# Windows CMD:
.venv\Scripts\activate.bat

# Windows PowerShell:
.venv\Scripts\Activate.ps1
環境変数の設定

.env ファイルを作成し、実行環境を Vertex AI に設定します。
これにより、Google Cloud プロジェクト上の Vertex AI API が使用され、AI Assistantが動き始めます。

GOOGLE_GENAI_USE_VERTEXAI=1
GOOGLE_CLOUD_PROJECT=<YOUR_PROJECT_ID>
GOOGLE_CLOUD_LOCATION=us-central1
GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY=true

Gemini API Key を使用する場合

GOOGLE_API_KEY=YOUR_API_KEY
GOOGLE_CLOUD_LOCATION=us-central1
GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY=true

2. ASP のインストール

Agent Starter Pack (ASP) は、ADK での開発を加速させるための公式ツールセットです。
これを使うことで、プロジェクトの雛形作成からデプロイまでを標準化できます。
★ 詳しいセットアップ手順は Shingo さんの記事でわかりやすく解説されています!
https://zenn.dev/google_cloud_jp/articles/adk-on-gemini-ent-with-asp

pip install agent-starter-pack

3. Agent プロジェクトを作成

# my-adk-agent のところに作成するエージェントの名前に入れ替える
agent-starter-pack create my-adk-agent -a adk_base -d agent_engine

4. 必要なライブラリのインストールと ADK Web UI の起動

cd my-adk-agent && make install && make playground

作成された新しいプロジェクトディレクトリ(my-adk-agent)には、以下のファイルが含まれています:

  • app/: エージェントのバックエンドコード(設定によりディレクトリ名は異なる場合があります)。
  • deployment/: Terraform によるインフラ構成コード。
  • tests/: エージェントの単体テストおよび結合テスト。
  • notebooks/: 評価(Evaluation)を始めるための Jupyter Notebook。
  • frontend/: (該当する場合)エージェントと対話するための Web UI。
  • README.md: ローカル実行やデプロイに関するプロジェクト固有の手順書。

➡️ ローカルで実行するには、作成されたプロジェクト内の README.md の手順に従ってください。

Visual Builder の使い方

ターミナルで以下のコマンドで ADK Web UI を起動します。

make playground

ターミナルに表示されたリンクをクリックすると、ブラウザが自動的に立ち上がり (通常は http://localhost:8000)、キャンバスが表示されます。
ADK Web UI が起動したら、左メニューの上部にある「+」ボタンをクリックします。

Agent 名を入力して作成します。

Visual Agent Builder UI

Visual Builder の UI は、効率的な AgentOps (エージェント運用・開発) を実現するために、以下の 3 つの主要なパネルで構成されています。

A. Configuration Editor (左パネル:設定エディタ)

ここでは、選択したエージェントノードの詳細なプロパティを設定します。

  • Agent Name & Type: エージェントの名前と種類。
  • Model Selection: 使用する LLM モデル(例: gemini-2.5-pro, gemini-2.5-flash)を選択します。
  • Instructions: システムプロンプト(System Instruction)を記述します。エージェントの役割(ペルソナ)、制約事項、行動指針を自然言語で定義する場所です。
  • Descriptions: ルートエージェントやほかのエージェントに見せるエージェントの役割説明(名刺のようなもの)。
  • Tools Configuration: エージェントが使用するツールの有効化/無効化や、引数の設定を行います。
B. Agent Canvas (中央パネル:ビジュアルキャンバス)

エージェントの構造をグラフとして可視化・編集するメインエリアです。

  • 階層構造の可視化: Root Agent (ワークフローの起点) を頂点とし、そこから呼び出される Sub-Agents や Tools がノードとして接続されます。
  • インタラクティブな操作: ドラッグ&ドロップでノードの配置を変更したり、接続線を繋ぎ変えたりすることで、エージェント間の呼び出し関係 (委譲フロー) を直感的に設計できます。
C. AI Assistant (右パネル:生成 AI アシスタント)

開発者を支援するための、Gemini 搭載チャットボットです。

  • Architecture Generation: 「ユーザーの曖昧な要望を聞き出し、要件が固まったら検索を実行するエージェントを作って」といった自然言語の指示を受け取り、キャンバス上に適切なエージェント構造(ノードとリンク)を自動生成します。
  • Code & Configuration Assistant: ツール定義の Python コードのひな形を作成したり、YAML 設定の最適化提案を行ったりします。
  • Q&A: ADK の仕様や機能に関する質問に答え、ドキュメント検索の手間を省きます。

Agent Pattern の紹介: 複雑なタスクをこなすための「型」

Visual Builder は、単一の LLM エージェントだけでなく、複数のエージェントを組み合わせる Workflow Component をサポートしています。

デモ: 競合調査エージェント (Competitor Analysis Agent)

このデモでは、Main Workflow という一つの Sequential Agent の中に、以下の3つのパターン(サブエージェント)を組み込んで、指定した企業の詳細レポートを作成するエージェントを作ります。

  1. Parallel Agent (並列処理)

    • ユースケース: 複数の情報源から同時にデータを集めたいとき。
    • デモ構成: 「ニュース検索」「製品分析」「財務データ取得」の3つのエージェントを並列に走らせ、待ち時間を短縮します。
    • Visual Builder: Parallel ノードを追加し、その下に3つの LLM Agent をぶら下げるだけで並列化が完了します。
  2. Sequential Agent (順次処理)

    • ユースケース: 前のステップの結果を使って次の処理を行いたいとき。
    • デモ構成: 集まったデータを「統合 (Synthesize)」し、その後に「レポート執筆 (Drafting)」を行います。
    • Visual Builder: Sequential ノードの中に、順番にエージェントを配置します。データの受け渡しは Session State を通じて行われます。
  3. Loop Agent (反復処理)

    • ユースケース: 品質が基準に達するまで推敲を繰り返したいとき。
    • デモ構成: 作成されたレポートを「レビュワー (Reviewer)」が採点し、合格点が出るまで「修正 (Refiner)」エージェントとループします。
    • Visual Builder: Loop ノードを設定し、終了条件(例: score > 8)を記述します。

これらを GUI 上でパズルを組み立てるように配置するだけで、複雑なロジックを持つエージェントが完成します。

エージェントの構造 (Agent Structure)

このデモは、Visual Builder がサポートする主要なエージェントパターンをすべて網羅しています:

  1. Root Agent: CompetitorAnalyst (全体のオーケストレーター)
  2. Parallel Agent: InformationGathering
    • データ収集を高速化するために、複数のサブエージェントを並列実行します。
    • Sub-Agent ニュース検索: NewsSearcher
    • Sub-Agent 製品分析: ProductAnalyst
    • Sub-Agent 財務分析: FinancialAnalyst
  3. Sequential Agent: ReportGeneration
    • 収集したデータを順序立てて処理します。
    • Sub-Agent 情報統合: Synthesizer
    • Sub-Agent ドラフト作成: DraftWriter
  4. Loop Agent: QualityAssurance
    • レポートを反復的に改善します。
    • Sub-Agent レビュー: Reviewer
    • Sub-Agent 反復的改善: Refiner
    • 終了条件: Reviewerexit_loop を呼び出す(スコア > 8)か、最大 3 回繰り返すまで。
  5. Final Report Agent: FinalReportAgent
    • ユーザー向けに最終出力を整形します。

処理ワークフローのイメージ

こちらの用件をまとめて、右側の Gemini Assistant に投げます。

Create a multi-agent system for "Competitor Analysis" with the following structure:

1.  **Root Agent**: Named "CompetitorAnalyst". It takes a company name as input.
2.  **Main Workflow**: Executes the following three processes **sequentially**:
    *   **Step 1: Parallel Agent**: Named "InformationGathering". It runs three agents concurrently to gather data:
        *   "NewsSearcher": Searches for recent news, strategic moves, and partnerships from the last 6 months.
        *   "ProductAnalyst": Identifies core products, value propositions, and target markets.
        *   "FinancialAnalyst": Retrieves financial health, revenue trends, and stock performance.
    *   **Step 2: Sequential Agent**: Named "ReportGeneration". It processes the gathered data:
        *   "Synthesizer": Consolidates all raw data into a structured SWOT analysis.
        *   "DraftWriter": Writes a comprehensive professional business report based on the SWOT analysis.
    *   **Step 3: Loop Agent**: Named "QualityAssurance". It iterates to improve the report quality:
        *   "Reviewer": Grades the report (1-10) on clarity, depth, and tone. Outputs JSON with "score" and "feedback". If the score is 10, it calls the `exit_loop` tool.
        *   "Refiner": Rewrites the report based on the feedback.
        *   **Condition**: Loop until the Reviewer calls `exit_loop` (score > 8), or up to 3 iterations.
    *   **Step 4: Final Report Agent**: Named "FinalReportAgent". It cleans up the final output, removing metadata and scores to present a polished report to the user.

Ensure all agents use the "gemini-2.5-flash" model. Assign the "Google Search" and "URL Context" tools to the NewsSearcher, ProductAnalyst, and FinancialAnalyst. Assign the "exit_loop" tool to the Reviewer.

すると、あっというまにこのようなマルチエージェントシステムが作成されます。

うまく行かない場合は、普通に Gemini Assistant に確認したり、修正してもらったりできます。

作成すると {agent_name} tmp ディレクトリ以下に Agent Config(YAMLファイル)が作成されます。

生成されたファイルを覗いてみると、非常にシンプルな構成が見られます。

name: information_gathering
agent_class: ParallelAgent
description: A workflow agent that gathers information from news, product, and
  financial sources in parallel.
sub_agents:
  - config_path: ./news_searcher.yaml
  - config_path: ./product_analyst.yaml
  - config_path: ./financial_analyst.yaml

※この YAML ファイルは自動生成されていますが、手動で微調整することも可能です。

Gemini Assistant にエージェントを作成してもらう以外にも、ADK Web 上の GUI で直接 Agent を追加・定義できます。

例:

  1. エージェントの定義
  2. ツールの追加(built-in Tool, Function Tool, Agent Tool)
ツール統合:エージェントの能力拡張

エージェントが実世界で価値を発揮するためには、外部環境への作用(Action)が不可欠です。Visual Builder では、ツール統合のプロセスが大幅に簡素化されています。

  • Built-in Tools: Google があらかじめ提供している高品質なツール群です。検索ウィンドウから選択するだけで即座に利用可能です。

    • google_search: Google 検索を実行し、最新情報を取得する(Grounding)。
    • load_memory / save_memory: 会話履歴や特定の情報を永続化・読み出しするメモリ管理ツール。
    • vertex_ai_search: 自社データ(RAG)へのアクセスを提供するツール。
  • Custom Tools: 独自のビジネスロジック(社内 API へのアクセス、データベース操作など)を Python 関数として実装し、ツールとして登録できます。Visual Builder 上で定義すると、プロジェクト内の tools/ ディレクトリに対応する Python ファイルが自動生成されます。

  • Agent as a Tool: ADK の強力な概念の一つです。あるエージェントを、別のエージェントから「ツール」として呼び出すことができます。これにより、例えば「数学専門エージェント」という機能をカプセル化し、「宿題ヘルパーエージェント」が計算が必要なときだけその専門エージェントをツールとして呼び出す、といった再利用性の高い設計が可能になります。

構築したエージェントのテスト

エージェントができたら、すぐにその場でテストできます。
ADK の Web UI を開き、チャットインターフェースにリクエストを入力します。

ここで「Google」といった企業名を入力してみましょう。

  1. まず Parallel Agent が並列で Google Search ツールで情報を集めます。
  2. Sequential Agent が集めた情報を統合し、レポートを書きます。
  3. Loop Agent が品質チェックを行い、評価基準に満たされたレポートが出来上がるまで改善していきます。(下記画像は記事作成↔️評価フローの一部です)
  4. 評価基準に満たされたレポートが出来上がったら、Reviewer Agent は exit-loop ツールを呼び出し、レビュー・修正ループを抜け出します。最後に Report Agent が最終チェックしてユーザーにレポートを提示します。

ADK Web UI にはトレース、デバッグ、評価などの強力な機能を備えています。
このような複雑なマルチエージェントシステムを構築・テストする際はとても便利です。
https://blog.g-gen.co.jp/entry/evaluation-and-debugging-with-adk


Step 2: Vertex AI Agent Engine へのデプロイ (The Runtime)

ローカルでの動作確認ができたら、次は Google Cloud のマネージド環境へ移行します。

Agent Engine とは

Vertex AI Agent Engine は、エージェントをサーバーレスでホストしてくれる実行環境です。
認証、ログ管理、スケーリングといったインフラの面倒事をすべて Google Cloud にお任せできます。自前でサーバーを立てたり、FastAPI でラップしたりする必要はありません。

デプロイ手順 (推奨: agent-starter-pack)

モダンな開発フローでは、agent-starter-pack を使用してプロジェクトを拡張します。
これにより、デプロイに必要な DockerfileMakefile が自動生成され、CI/CD パイプラインも構築しやすくなります。

デプロイ実行 (Deploy your ADK project)

Makefile が生成されているので、以下のコマンド一つでデプロイが完了します。
このコマンドは、必要な Google Cloud リソースをプロビジョニングし、コードをアップロードしてエージェントを実行状態にします。

make deploy

※ エージェント名を変更したい場合は、以下のように指定できます。

make deploy DISPLAY_NAME="My Custom Agent" DESCRIPTION="My Agent Description"

成果:
デプロイが成功すると、以下のような表示が出ます。

✅ Deployment successful!
Service Account: xxx@gcp-sa-aiplatform-re.iam.gserviceaccount.com

📊 Open Console Playground: Agent Engine Playground へのリンク

Open Console Playground をクリックして Agent Engine Playground でデプロイされたエージェントとの会話をテストできます。

Tips: 中間出力を隠してユーザー体験を向上させる

デフォルトでは、Gemini Enterprise 上ですべてのエージェントの思考プロセス(中間出力)が表示されてしまいます。
最終的なレポートだけを見せたい場合は、デプロイされたコード内の agent_engine_app.py を少し修正することで制御可能です。
streaming_agent_run_with_events メソッドをオーバーライドし、特定のイベント(例: FinalReportAgent からのイベント)のみをフィルタリングして返すように実装することで、ユーザーには洗練された最終結果のみを届けることができます。

    async def streaming_agent_run_with_events(self, request_json: str):
        """Overrides the default streaming run to filter events."""
        async for response in super().streaming_agent_run_with_events(request_json):
            if "events" in response:
                response["events"] = [
                    event
                    for event in response["events"]
                    if event.get("author")
                    in ("final_report_agent", "competitor_analyst")
                ]
            yield response

Step 3: Gemini Enterprise への登録 (The Distribution)

ここがクライマックスです。エンジニアリングの世界から、ビジネスの現場へと接続します。
最後に、デプロイしたエージェントを社内の Gemini ユーザーに公開します。
これまでは独自の Web UI を作る必要がありましたが、Gemini Enterprise を契約している組織なら、普段使っている Gemini Enterprise のチャット画面に、このエージェントを呼び出せます。
Gemini Enterprise とは、Google Workspace に統合された企業向け生成 AI アドオンです。ドキュメント、ドライブ、Gmail などの社内データと連携し、セキュアな環境で業務効率化を支援します。

連携設定

  1. Google Cloud コンソール へ移動します。
  2. Gemini Enterprise のアプリを作成します。
    IDE に戻り、下記のコマンドを実行します。
make register-gemini-enterprise 

コマンドを実行すると連携先を聞かれるので、使用する Gemini Enterprise の App ID を選択します。
連携する Gemini Enterprise を指定できたら、あとは待つだけです。

全社員のチャット画面へ

登録が完了すると、社員が普段使っている Gemini Enterprise の Agent Gallery 画面に、今回作った「競合調査エージェント」が登場します。

@マークでエージェントをメンションし、リクエストを送信すると処理が始まります。

しばらくすると、マルチエージェントにより生成された最終レポートが返されます。

Tips: エージェントを更新したいときは?

一度登録してしまえば、以降の更新は非常に簡単です。
コードを修正して Agent Engine に再デプロイ(make deploy)するだけで、Gemini Enterprise 側のチャットにも即座に最新の挙動が反映されます。修正のたびに登録コマンドを叩き直す必要はありません。


まとめ

  1. Visual Builder (設計): 直感的な GUI で、複雑なワークフローを爆速でプロトタイピング。視覚的なグラフ構造は、複雑なロジックを整理するのに最適です。
  2. Agent Engine (運用): サーバーレスで堅牢なホスティング。インフラ管理不要。
  3. Gemini Enterprise (利用): 全社員がアクセス可能なインターフェースへ即座に配信。

次のステップ

Google Cloud は、この 「作る → 動かす → 届ける」 というエコシステムが一気通貫で繋がっている点が強みです。
GUI で作ったプロトタイプが、クラウドにデプロイされ、企業の公式チャットツールの中で息づく。このシームレスな接続こそが、Google Cloud の生成 AI エコシステムの真骨頂です。
ぜひ、あなたのアイデアを「動くエージェント」にして、社内の仲間に届けてみてください。

Google Cloud のアドベントカレンダー 2025 として、この記事が皆様の「Agentic AI への第一歩」を後押しし、2026 年に向けた革新的なアプリケーション開発のインスピレーションとなることを願っています。

Let's build the future of Agents with ADK!

Google Cloud Japan

Discussion