SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社の本(AD)

マネージャーエージェントにツールを持たせてはいけない ADKで学ぶマルチエージェント協調5パターン

為藤 アキラ[著]

マルチエージェント協調パターン

 単一のエージェントでは対応しきれない複雑なタスクには、複数のエージェントを協調させます。ADK v2.2.0では、階層的な sub_agents と Workflow Runtime(Workflow/@node/ctx.run_node())でマルチエージェント協調を構成します。SequentialAgent/ParallelAgent/LoopAgent はTemplate Workflowとして利用でき、単純な順次・並列・反復制御に向きます。主要な協調形態は次の5つです。

パターン1:マネージャー-ワーカー(Manager-Worker)

 1つのマネージャーエージェントがタスクを分解し、専門化されたワーカーエージェントに作業を委譲して結果を統合するパターンです(下図参照)。

マネージャー-ワーカーパターンの構造
マネージャー-ワーカーパターンの構造

 ADKでは、Agentのsub_agentsパラメータにワーカーエージェントを登録し、マネージャーのAgentがLLMの判断でタスクの委譲先を決定します。カスタマーサポートを例にすると、マネージャーが問い合わせ内容を判断し、技術サポート・請求関連・一般問い合わせのワーカーに振り分けます。

# python
# マネージャー-ワーカーパターンの概念コード
from google.adk import Agent

# 専門ワーカーエージェント
tech_support = Agent(
    name="tech_support",
    model="gemini-3.5-flash",
    instruction="技術的な問題を診断し、解決策を提示してください",
    tools=[search_logs_tool, check_system_status_tool],
)

# billing_support(請求対応)、general_support(一般問い合わせ)も同様に定義

# マネージャーエージェント
root_agent = Agent(
    name="support_manager",
    model="gemini-3.5-flash",
    instruction=(
        "ユーザーの問い合わせ内容を判断し、"
        "問い合わせ内容に対応する専門チームに振り分けてください。"
    ),
    sub_agents=[tech_support, billing_support, general_support],
)

 注目点は責務分離です。マネージャーはツールを持たずsub_agentsのみを持って判断と振り分けに特化し、ワーカーが専門ツールを実行します。これがこのパターンの本質です。

パターン2:専門家合議(Expert Panel)

 複数の専門エージェントが独立して分析を行い、結果を集約して最終判断を下すパターンです。医療診断、法務レビュー、投資判断など、複数の専門知識を統合するタスクに適しています。

 具体例として、企業のM&A(Mergers and Acquisitions)デューデリジェンス支援を考えます。財務・法務・技術の分析エージェントが並列に分析を行い、統合レポートエージェントが各分析結果をまとめます。

# python
# 専門家合議パターンの概念コード
from google.adk import Agent
from google.adk.agents import SequentialAgent, ParallelAgent

# 専門家エージェント群
financial_analyst = Agent(
    name="financial_analyst",
    model="gemini-3.5-flash",
    instruction="財務データを分析し、リスクと機会を評価してください",
    tools=[financial_data_tool],
    output_key="financial_analysis",
)

# legal_analyst(法務)、tech_analyst(技術)も同様にoutput_key付きで定義

# 並列分析
parallel_analysis = ParallelAgent(
    name="parallel_analysis",
    sub_agents=[financial_analyst, legal_analyst, tech_analyst],
)

# 統合レポート生成
report_generator = Agent(
    name="report_generator",
    model="gemini-3.5-flash",
    instruction=(
        "各専門家の分析結果を統合し、"
        "総合的なデューデリジェンスレポートを作成してください。"
    ),
)

# パイプライン:並列分析 → レポート生成
root_agent = SequentialAgent(
    name="due_diligence_pipeline",
    sub_agents=[parallel_analysis, report_generator],
)

 output_keyが分析結果のState書き込み先を指定し、レポート生成エージェントはそれを参照します。

パターン3:コンペティション/ディベート(Competition/Debate)

 同じタスクに対して複数のエージェントが異なるアプローチで解を生成し、評価エージェントが品質基準に基づいて最良の解を選定するパターンです。コード生成、文章校正、戦略立案など、複数の候補から最適解を選ぶタスクに適しています。ADKではParallelAgentで候補生成を並列化し、SequentialAgentで後段の評価を直列化する設計が典型的です。

パターン4:ブラックボード(Blackboard)

 共有のデータストア(ブラックボード)を中心に、複数のエージェントが非同期に情報を読み書きして問題を解決するパターンです。ADKではState機構がブラックボードの役割を果たし、output_keyで各エージェントの出力をStateに書き込み、他のエージェントが参照します。解決手順が事前に確定しない問題に有効です。複雑なバグの調査では、ログ分析エージェントが書き込んだ手がかりをもとにコード分析エージェントが関連コードを特定し、テスト生成エージェントが再現テストを作成するといった協調が自然に発生します。

パターン5:イベント駆動(Event-Driven)

 エージェントがWebhook受信、スケジュールトリガー、他のエージェントからの通知といった外部イベントに反応して起動するパターンです。A2A(Agent2Agent、エージェント間通信プロトコル)がこのパターンの実現基盤で、異なるランタイム上のエージェントがHTTP/SSE(Server-Sent Events)を通じて非同期にメッセージを交換できます(A2Aの詳細は第7章で扱います)。

 下表にマルチエージェント協調パターンの比較を示します。

マルチエージェント協調パターンの比較
パターン 構造 適するタスク ADKでの実現手段
マネージャー-ワーカー 階層型 タスク分解・委譲 Agent + sub_agents
専門家合議 並列型 多角的分析 ParallelAgent + 集約エージェント
コンペティション 競争型 最適解選定 ParallelAgent + 評価エージェント
ブラックボード 共有型 非同期協調 State + output_key
イベント駆動 分散型 非同期処理 A2Aプロトコル

 これらのパターンは排他的ではなく、マネージャー-ワーカー構造の内部で専門家合議を行うといった複合パターンが頻繁に登場し、ADKの合成可能なアーキテクチャ(書籍の1.2節で詳述)がそれを支えます。

 下図に代表的な3つの協調パターンのトポロジーを示します。

マルチエージェント協調パターン集
マルチエージェント協調パターン集

 マルチエージェントについて、体系的に解説した書籍が発売中です!

現場で役立つ マルチエージェントAI設計入門 Google A2A×ADKで実現する堅牢な運用システム
 

Amazon  SEshop  その他

 
現場で役立つ マルチエージェントAI設計入門 Google A2A×ADKで実現する堅牢な運用システム
 

著:為藤 アキラ
発売日:2026年08月20日(水)
定価:4,180円(本体3,800円+税10%)

本書について

本書は、AIエージェントをビジネスの現場で確実に稼働させるための実践的な解説書です。GoogleのADK・A2A・MCPを駆使し、複数エージェントが連携する高度なシステムの設計・実装手法を解説します。「実験環境では動いたけれど、本番運用に乗せられない」「複数のエージェントを連携させると途端に破綻する」「トークンコストが爆発してしまう」といった現場の課題を解決し、堅牢なマルチエージェントシステムを構築するためのノウハウをまとめました。

次のページ
品質特性と評価軸

この記事は参考になりましたか?

翔泳社の本連載記事一覧

もっと読む

この記事の著者

為藤 アキラ(タメトウ アキラ)

株式会社BLUEISH代表取締役CEO兼CTO。20年のソフトウェア開発と複数社でのCTO経験を経て、2013年より画像・映像の機械学習に従事。2023年からRAGを軸に生成AIの業務実装を重ね、2025年、法人向けAIエージェント基盤「BLUEISH Agents」を提供開始。Google ADK...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー