
Google ADK:當 AI Agent 開始需要「企業級工程紀律」
AI 系列-深入介紹 Google Agent Development Kit(ADK),從 LlmAgent 到 SequentialAgent、ParallelAgent、LoopAgent 的工作流設計,以及 A2A 協定與 MCP 如何讓不同 AI 系統互通——一次看懂 Google 的 Multi-Agent 版圖。
WRITTEN BY

- Name
- Harry Chang
2025 年 4 月,在 Google Cloud Next 大會上,Google 宣布開源了一個他們自己內部已使用多時的框架。
不是一個研究玩具,不是一個概念驗證——而是Google 用來打造 Agentspace 和企業客服套件的同一套程式碼,現在交給全世界的開發者用。
這個框架叫 ADK(Agent Development Kit)。
其他 AI Agent 框架在問「怎麼讓 AI 做更多事」,但 ADK 問的問題更老派,也更難:當 Agent 系統要在企業環境裡穩定跑幾個月、幾年,你要怎麼讓它可維護、可測試、可擴展?
ADK 的核心主張:Agent 開發需要軟體工程的紀律,而不只是 Prompt 的技巧。
- 為什麼你需要認識 Google ADK?
- Google ADK 是什麼?
- ADK 的核心積木
- Google 的生態系佈局:MCP + A2A
- 開發體驗:CLI + 可視化 Web UI
- ADK vs 其他框架:選誰的關鍵問題
- 經典語錄
- 實用建議:三個起步行動
- 我的反思
- 參考資料 (References)
為什麼你需要認識 Google ADK?
在這個系列裡,我們已經認識了各種 Agent 框架:
- LangChain:把 LLM 接進真實世界的管道標準化
- CrewAI:把 Agent 組織化、角色化
- LangGraph:用狀態機精確控制工作流
- AutoGen:讓 AI 透過對話互相協作
- OpenAI Agents SDK:把最佳實踐直接烘焙進框架
Google ADK 站在不同的位置:它是第一個由主要雲端平台直接提供、且已在自家產品中驗證過的 Agent 框架。
這意味著它不是在告訴你「Agent 可以這樣做」,而是在說:「Google 的工程師就是這樣做 Agent 的。」
Google ADK 是什麼?
ADK 於 2025 年 4 月在 Google Cloud Next 正式開源,是一個以 Python 為主的多智能體開發框架。
它有幾個關鍵特性讓它與其他框架區隔:
- 深度整合 Gemini 模型,同時透過 LiteLLM 支援 Claude、Mistral 等其他模型
- 原生支援 MCP(Model Context Protocol)——Anthropic 提出的 AI 工具連接標準
- 支援 A2A(Agent-to-Agent Protocol)——Google 自己提出的跨框架 Agent 通訊協定
- 內建開發 CLI 與可視化 Web UI,不需要外部的觀測平台
- 可部署到 Cloud Run、Kubernetes、Android 裝置
它的設計哲學用一句話總結:把 Agent 當成微服務來設計。
ADK 的核心積木
1. LlmAgent:會思考的節點
from google.adk.agents import LlmAgent
def search_competitor_data(company: str) -> dict:
"""搜尋指定公司的市場資料"""
# 呼叫搜尋 API
return {"company": company, "revenue": "100M", "growth": "25%"}
research_agent = LlmAgent(
name="market_researcher",
model="gemini-2.0-flash",
instruction="""
你是一位市場研究專員。
收到公司名稱後,使用 search_competitor_data 工具蒐集資料,
並整理成結構化的市場分析報告。
""",
tools=[search_competitor_data],
)
LlmAgent 是有「思考能力」的節點——它背後是 Gemini 模型,能根據上下文判斷要呼叫哪個工具、何時該回答、何時應該等待更多資訊。
ADK 的工具定義極其簡潔:任何有型別標注(type hints)的 Python 函數,就是一個工具。框架自動把函數簽名轉成 LLM 能理解的 schema,不需要手動定義。
2. Workflow Agent:三種確定性的「指揮官」
ADK 最有設計感的部分,是把「思考」與「流程管理」分開:
from google.adk.agents import SequentialAgent, ParallelAgent, LoopAgent
# Sequential:依序執行,前一步的輸出是下一步的輸入
pipeline = SequentialAgent(
name="analysis_pipeline",
sub_agents=[
data_collector_agent, # Step 1:蒐集資料
cleaner_agent, # Step 2:清理資料
analyzer_agent, # Step 3:分析
writer_agent, # Step 4:撰寫報告
],
)
# Parallel:同時執行多個 Agent,等所有人完成再繼續
market_scan = ParallelAgent(
name="market_scanner",
sub_agents=[
us_market_agent, # 同時執行
asia_market_agent, # 同時執行
europe_market_agent # 同時執行
],
)
# Loop:反覆執行直到條件成立(適合 Reflection 模式)
refine_loop = LoopAgent(
name="quality_loop",
sub_agents=[draft_agent, critic_agent],
max_iterations=3, # 最多跑 3 輪
)
| Workflow Agent | 執行邏輯 | 最適合的場景 |
|---|---|---|
| SequentialAgent | 依序、輸出接輸入 | 多步驟流水線 |
| ParallelAgent | 並行、同時執行 | 獨立任務(多市場同步掃描) |
| LoopAgent | 循環直到條件成立 | Reflection、自我修正 |
這三個 Workflow Agent 本身不呼叫 LLM——它們是純粹的流程控制器,確定性強、可預測、易測試。真正的推理工作交給 LlmAgent 在每個步驟裡完成。
3. 混合架構:確定性外殼 + 智能內核
ADK 推薦的最佳實踐是混合架構(Hybrid Architecture):
# 外層用 Workflow Agent 定義確定性的流程骨架
# 內層用 LlmAgent 處理需要判斷的步驟
investment_pipeline = SequentialAgent(
name="investment_research",
sub_agents=[
# Step 1:並行蒐集三個市場的資料
ParallelAgent(
name="data_collection",
sub_agents=[tw_market, us_market, cn_market]
),
# Step 2:LLM 整合分析(需要推理)
LlmAgent(
name="synthesizer",
instruction="整合三個市場的資料,找出投資機會",
model="gemini-2.0-pro",
),
# Step 3:反覆優化報告品質
LoopAgent(
name="quality_control",
sub_agents=[report_drafter, quality_checker],
max_iterations=3,
),
],
)
Google 的生態系佈局:MCP + A2A
ADK 不只是一個框架,它是 Google 更大 Agent 生態系戰略的一部分。
MCP(Model Context Protocol):縱向整合工具
MCP 是 Anthropic 提出的開放標準,解決的是「Agent 如何標準化連接工具」的問題。ADK 原生支援 MCP,讓你能直接使用社群已建立的數千個 MCP 工具:
from google.adk.tools.mcp_tool import MCPToolset, StdioServerParameters
# 直接使用 MCP 協定連接外部工具(如 Filesystem、Slack、GitHub)
tools = MCPToolset(
connection_params=StdioServerParameters(
command="npx",
args=["-y", "@modelcontextprotocol/server-filesystem", "/data"],
)
)
A2A(Agent-to-Agent Protocol):橫向連接 Agent
A2A 是 Google 於 2025 年 4 月提出的跨框架 Agent 通訊協定,解決的是「不同框架打造的 Agent,如何互相溝通」:
| 協定 | 解決的問題 | 類比 |
|---|---|---|
| MCP | Agent ↔ 工具的縱向整合 | USB-C(連接裝置與外設) |
| A2A | Agent ↔ Agent 的橫向通訊 | HTTP(連接不同伺服器) |
| ADK | 開發框架,實現以上兩者 | Web 應用框架 |
用 A2A,你的 ADK Agent 可以呼叫一個用 LangGraph 寫的 Agent,或者一個用 AutoGen 寫的 Agent——只要它們都支援 A2A 協定。這是框架層面的「互通性」,目前業界唯一有這個設計的是 Google。
開發體驗:CLI + 可視化 Web UI
ADK 最貼心的工程設計,是把開發體驗也一起做進去:
# 建立新 Agent 專案
adk create my_agent
# 在終端機測試
adk run my_agent
# 啟動本地 Web UI(http://localhost:8000)
# 可以看到對話、工具呼叫、Agent 決策過程
adk web
adk web 啟動的 Web 介面,讓你能像用 Postman 測試 API 一樣測試 Agent:
- 輸入對話、即時看到 Agent 的思考過程
- 查看每次工具呼叫的輸入輸出
- 多輪對話追蹤(Session 管理)
- 不需要任何第三方服務——在本地就能完整運行
ADK vs 其他框架:選誰的關鍵問題
| 面向 | Google ADK | LangGraph | OpenAI Agents SDK | CrewAI |
|---|---|---|---|---|
| 設計哲學 | 企業級模組化 | 狀態機精確控制 | 極簡、Handoff 驅動 | 角色分工 |
| 模型偏好 | Gemini 優先、可彈性替換 | 廠商中立 | OpenAI 優化 | 廠商中立 |
| 學習曲線 | 中等 | 中高 | 低 | 低中 |
| 跨框架互通 | ✅ A2A 協定 | ❌ | ❌ | ❌ |
| 內建觀測 | ✅ adk web | 需搭配 LangSmith | ✅ OpenAI Traces | ❌ |
| 適合場景 | 企業多 Agent、GCP 部署 | 複雜工作流、人機協作 | 快速原型、GPT 應用 | 固定角色分工 |
選擇框架的直覺法則:
- 你在 GCP 生態,需要多 Agent 企業系統 → ADK
- 需要精確控制每個節點的分支邏輯 → LangGraph
- 想最快跑起一個 OpenAI 驅動的 Agent → Agents SDK
- 任務角色明確、流程固定 → CrewAI
經典語錄
"We're not just open-sourcing a tool. We're open-sourcing the way we think about building agents at scale."
我們不只是在開源一個工具,而是在開源我們對「如何規模化建構 Agent」的思維方式。
"The key insight of ADK is that agents should be treated like microservices: specialized, testable, and composable."
ADK 的核心洞見:Agent 應該像微服務一樣設計——專精、可測試、可組合。
實用建議:三個起步行動
步驟 1:先跑 adk web,感受開發體驗
pip install google-adk
adk create hello_agent
adk web
打開 http://localhost:8000,你會看到一個完整的 Agent 測試介面。在這裡和你的 Agent 對話,觀察工具呼叫的細節——這個視覺化體驗是 ADK 最大的入門優勢。
步驟 2:先用 SequentialAgent,再加入 ParallelAgent
不要一開始就設計複雜的混合架構。先把你的任務用 SequentialAgent 線性串起來,確保每一步都正確。當你發現某幾個步驟彼此獨立時,再把它們包進 ParallelAgent——這樣你能清楚感受到並行帶來的速度提升。
步驟 3:用 LoopAgent 實現 Reflection 模式
把「草稿 Agent + 評審 Agent」包進 LoopAgent(max_iterations=3),看看 AI 如何透過自我批評改善輸出品質。這是理解 Andrew Ng 的 Reflection 模式最直覺的實作方式。
我的反思
看到這裡,你可能會問:框架那麼多,我到底該用哪個?
我的答案是:你選的框架,決定了你的 Agent 系統長得像什麼。
- LangGraph 讓你的系統長得像流程圖——每條邊、每個節點都由你定義
- CrewAI 讓你的系統長得像組織架構圖——角色清晰、分工明確
- AutoGen 讓你的系統長得像會議室——Agent 自由對話、動態決策
- OpenAI Agents SDK 讓你的系統長得像客服中心——前台接單、後台分工
- Google ADK 讓你的系統長得像微服務架構——每個 Agent 是一個服務,有輸入輸出規格、有測試、有部署流程
如果你的背景是後端工程師,ADK 的思維方式會讓你感到非常熟悉——因為它把 Agent 開發,拉回了你已經很擅長的軟體工程領域。
回顧這個系列走過的路:理論(Andrew Ng + Shunyu Yao)→ 工程化(LangChain)→ 角色化(CrewAI)→ 流程控制(LangGraph)→ 對話協作(AutoGen)→ 最佳實踐(Agents SDK)→ 企業工程紀律(ADK)。
這條路,正是 AI Agent 整個領域從「實驗室」走向「生產環境」的縮影。
參考資料 (References)
官方資源
延伸閱讀
推薦影片