Google の ADK を使用して見込み顧客を発掘するための Deep Research エージェントを構築する方法
Neeraj Agrawal
Solution Acceleration Architect
Ashwini Kumar
Solution Acceleration Architect
※この投稿は米国時間 2025 年 8 月 13 日に、Google Cloud blog に投稿されたものの抄訳です。
見込み顧客を発掘する従来の方法は、適応能力や推論能力に欠ける、脆弱なスクレイパーや静的なスクリプトに依存することがよくあります。エージェントがデータを取得するだけでなく、市場調査チームの分析プロセスをエミュレートするように設計できたらどうでしょうか。成功の定義を動的に理解し、この理解に基づいて、パターンを検出して情報を検証し、有望な見込み顧客を発掘できるエージェントです。
このガイドでは、Agent Development Kit(ADK)を使用して構築された、このようなエージェントのアーキテクチャについて詳しく説明します。複雑なタスクを連携エージェントの階層に応じて構造化する方法、インタラクション全体で状態を管理する方法、並列処理を設計して強力かつ効率的なシステムを作成する方法について説明します。
ステップ 1: ルート エージェントを見つける
複雑なエージェント システムの中核となるのは、「プライマリ オーケストレーター」と呼ばれるものです。このアーキテクチャでは、InteractiveLeadGenerator がこの中心的なハブとして機能します。その目的は、低レベルのタスク自体を実行することではなく、ワークフローを管理し、専門のサブエージェントにタスクを委任し、ユーザーとやり取りすることです。Python スクリプトは次のとおりです。
このルート エージェントのアクションは、全体的な目標と仕組みを定義するメインの指示によって決定されます。
ルート エージェントの指示:
「あなたは見込み顧客の発掘アシスタントです。あなたの目的は、成功している企業のパターンを発見して、ユーザーが新しい見込み顧客を見つけられるようにすることです。プロセスは次のとおりです。1. ユーザーの意図を理解する。2. パターン検出ワークフローを実行する。3. ユーザーと調査結果を確認する。4. 確認されたパターンに基づいて、見込み顧客発掘ワークフローを実行する。インタラクティブでプロアクティブな、徹底したアプローチを維持します。」
ステップ 2: 問題を分解して意図を抽出する
複雑な問題は、個別のフェーズに分解して解決するのが最善です。下の図に示すように、見込み顧客の発掘タスクは、必然的に 2 つの主要なワークフローに分かれます。
-
過去から学ぶ(パターンの発見): 過去を分析して成功のシグナルを見つけるには、調査チームが必要です。
- 未来の予測(見込み顧客の発掘): これらのシグナルを使用して将来の成功を見つけるハンターチームが必要です。


どちらのワークフローを開始するにしても、ルート エージェントはまずユーザーの具体的な要件を理解する必要があります。これは、ユーザーの最初のリクエストを構造化データに解析する、専用の intent_extractor_agent に委任されます。
ステップ 3: パターン検出ワークフロー
企業を見つけて検証し、その歴史を掘り下げる必要があります。これを 1 つずつ行うのは時間がかかり、非効率的です。
チームとして同時に作業してもらいましょう。ResearchOrchestratorAgent は、各企業向けにミニパイプラインを動的に作成し、それらをすべて並行実行します。これは、単一の SequentialAgent によって管理される、高速なマルチスレッドの調査チームです。
このシーケンスの主なエージェントは次のとおりです。
- CompanyFinderAgent: ユーザーが指定した業界と国に基づいて調査し、企業リストの初期版を作成します。
- CompanyFormatterAgent: CompanyFinderAgent からの未加工の出力を受け取り、これを標準化された構造にフォーマットして、データがクリーンで次の段階に進む準備ができていることを確認します。
- ResearchOrchestratorAgent: 調査フェーズの並列実行を管理します。調査で検出された各企業に対して、検証パイプライン(ValidatorAgent を使用)を動的に実行し、厳格な基準に照らして企業を精査します。
- SynthesizerOrchestratorAgent: 並列調査パイプラインから検証済みのすべてのデータを収集して統合し、最終分析ステップのための統合データセットを準備します。
- PatternSynthesizerAgent: オーケストレーターから集計データを受け取ります。その主な手順は、共通のスレッドを特定し、それらを明確なエビデンスベースのレポートに統合することです。特定されたすべてのパターンについて、参照元を引用します。
ステップ 4: 制御メカニズムと状態管理
ルートエージェントがこれらの複雑なワークフローを管理し、一貫性のある会話を維持できるようにするには、2 つの ADK 機能が重要です。
- 委任のための AgentTool: SequentialAgent オーケストレーターは、呼び出し可能な単一の AgentTool に抽象化されます。これにより、ルートエージェントは、マルチステップのワークフロー全体を 1 回の関数呼び出しのように呼び出すことができます。
2.状態管理のコールバック: コールバックは、複数のターンにわたってセッションの状態を管理するために不可欠です。
- before_agent_run: 各エージェントがセッション状態を初期化または更新する前に実行されます。
- after_tool_run: ツールの実行が完了した後に実行されます。これにより、ツールの出力が処理され、セッション状態のステージ変数が更新されます。これは、ルートエージェントの次の意思決定を導くために重要です。
ステップ 5: 見込み顧客の発掘ワークフロー
成功パターンが特定され、確認されると、InteractiveLeadGenerator は 2 つ目の主要なワークフローをデプロイします。このプロセスは、検出フェーズの構造を反映しており、一貫性と再利用性が重視されています。
このシーケンスにおける主要なエージェントは次のとおりです。
- LeadFinderAgent: これまでに合成されたパターンを新しい検索クエリとして使用し、同様の特性を示す企業を見つけます。
- LeadFormatterAgent: LeadFinderAgent からの未加工データを標準化して構造化し、後続の並列処理に備えます。
- LeadResearchOrchestratorAgent: コア分析タスクの並列実行を管理します。このエージェントは、潜在的な見込み顧客ごとに、再利用可能な ValidatorAgent と LeadSignalAnalyzerAgent という 2 つの重要なサブエージェントを同時に実行します。
使ってみる
実際に構築してみる準備は整いましたか?以下は、構築する過程で役に立つ公式リソースとソースコードです。
- Google Agent Development Kit(ADK): GitHub で、ADK が提供するすべての機能、ツール、構成を確認できます。
GitHub のプロジェクト ソースコード: このエージェントを機能させる完全なコードにアクセスできます。リポジトリをクローンして、独自の構築の基盤として使用してください。
ー ソリューション アクセラレーション アーキテクト、Neeraj Agrawal
ー ソリューション アクセラレーション アーキテクト、Ashwini Kumar