部署多代理系統
課程概述
任務一複雜,單一 Agent 常常就撐不住了。多代理系統(Multi-Agent System)的做法是讓好幾個各自專精的 Agent 分工合作,就像一個團隊裡有人負責研究、有人負責撰寫、有人負責審核。Agent Development Kit 原生就支援多代理編排,Agent Engine 則負責把整套系統部署到雲端,幫你管好底層基礎設施。
你將學到
- 理解多代理系統的三種核心編排模式
- 使用 ADK 定義 Agent 之間的委派與通訊關係
- 掌握 Agent Engine 的部署架構與託管機制
- 設計 Agent 間的任務分工策略
- 監控多代理系統的執行流程與除錯技巧
核心概念
為什麼需要多個 Agent?
單一 Agent 搭配大量 Tool 會遇到幾個瓶頸:System Instruction 過長導致決策品質下降、Tool 數量超過模型有效處理範圍、不同任務需要不同的推理策略。多代理架構將複雜任務拆解給專精的子 Agent,每個 Agent 只需處理自己擅長的部分。
三種編排模式
| 模式 | 運作方式 | 適用場景 |
|---|---|---|
| Sequential(循序) | Agent A 完成後交給 Agent B,再交給 Agent C | 流水線式任務:研究 → 撰寫 → 審核 |
| Parallel(平行) | 多個 Agent 同時執行,結果彙整 | 多來源資料蒐集、多面向分析 |
| Hierarchical(階層) | 主 Agent 負責分派任務給子 Agent,彙整最終結果 | 複雜專案管理、需要動態決策的場景 |
ADK 中的委派機制
在 ADK 中,多代理系統透過「sub-agents」定義層級關係。主 Agent(Root Agent)知道每個子 Agent 的能力描述,根據使用者的需求決定將任務委派給誰。子 Agent 完成後,結果回傳給主 Agent 進行彙整。
Agent Engine 託管部署
Agent Engine 是 Vertex AI 上的全代管服務,專門用來託管 ADK 建構的 Agent。它處理了部署中最麻煩的問題:
- 自動擴縮容——根據請求量調整 Agent 實例數
- Session 管理——維持跨輪次的對話狀態
- 版本管理——可部署與管理多個 Agent 版本(A/B 測試需自行在前端/流量層實作,非 Agent Engine 內建)
- 監控與日誌——追蹤每一步推理過程與 Tool 呼叫
Agent 間的狀態共享
多個 Agent 一起協作時,狀態怎麼管就變得很關鍵。ADK 提供 Session State 機制,讓同一次對話裡的所有 Agent 共享上下文。舉例來說,研究 Agent 蒐集到的資料,可以透過 state 直接傳給撰寫 Agent,不用再重蒐一次。
實作重點
- 定義子 Agent 時,
description欄位要精確描述其能力範圍,主 Agent 靠這個決定委派 - Agent Engine 部署需要指定
requirements.txt列出所有依賴套件 - 使用
adk deploy指令可一鍵部署到 Agent Engine,部署後取得 API endpoint - 除錯多代理系統時,善用 Trace 功能追蹤任務在各 Agent 之間的流轉
- 常見陷阱:子 Agent 的能力描述過於相似,導致主 Agent 無法正確分派
Lab 導讀
Lab 連結:Deploy Multi-Agent Systems with ADK and Agent Engine — Google Cloud Skills Boost
這個 Lab 會帶你做出一個有三個子 Agent 的系統(資料查詢 Agent、分析 Agent、報告生成 Agent),用階層式編排,再透過 Agent Engine 部署到 Vertex AI。做的時候特別留意一件事:主 Agent 是怎麼看使用者的需求、動態決定把任務分派給誰。
延伸學習
- Agent Development Kit 智能代理開發 — 先掌握單一 Agent 的基礎
- Vertex AI MLOps 模型評估 — Agent 部署後的監控與評估
- Generative Playbooks 建構代理 — 另一種 Agent 建構方式