Google ADK 實測:Google 開源智能體開發套件,MCP + 工作流編排全解析

Google ADK 實測:Google 開源智能體開發套件,MCP + 工作流編排全解析

如果你關注 AI 智能體開發領域,一定聽過 LangChain、CrewAI、AutoGen 這些名字。但 2025 年 Google 開源的 ADK(Agent Development Kit) 正在改變遊戲規則——它是第一個將 MCP 協定原生支援圖執行引擎Gemini 深度整合三者合一的框架。

本文不是泛泛的功能介紹,而是一次深度實測。我們將從 MCP 工具整合、工作流編排、動態路由三個核心能力入手,用真實程式碼驗證 Google ADK 到底能不能取代你手頭的智能體框架。

一、Google ADK 是什麼?為什麼值得關注?

Google ADK 2.0 是 Google 開源的程式碼優先(code-first)AI 智能體開發框架,用純 Python 定義智能體行為、工具呼叫和多智能體編排邏輯。

與 LangChain / CrewAI / AutoGen 的本質區別

維度Google ADK 2.0LangChainCrewAIAutoGen
設計理念程式碼優先 + 圖執行引擎鏈式呼叫 + YAML 設定角色扮演 + 任務委派多智能體對話
MCP 支援✅ 原生內建⚠️ 需第三方外掛❌ 無❌ 無
工作流編排✅ 圖結構(順序/並行/迴圈/條件)⚠️ LangGraph 單獨使用⚠️ 順序執行為主⚠️ 對話驅動
模型綁定Gemini 優先,支援任意模型模型無關模型無關模型無關
Google 生態✅ Vertex AI / Cloud Run / BigQuery 原生
類型安全✅ 完整 Python 類型提示⚠️ 部分⚠️ 弱⚠️ 弱

一句話總結:如果你已經決定用 Gemini 作為主力模型,或者需要 MCP 協定連接外部工具,Google ADK 是目前最順滑的選擇。如果你需要模型無關的靈活性,LangChain 仍然是更成熟的選擇。

二、核心特性深度解析

2.1 MCP 協定原生支援——告別膠水程式碼

MCP(Model Context Protocol)是 Anthropic 提出的開放協定,讓 AI 模型以標準化方式呼叫外部工具和資料來源。Google ADK 是第一個原生內建 MCP 客戶端的主流框架。

from google.adk.tools.mcp_tools import MCPToolset
from google.adk import Agent

# ✅ ADK 方式:一行接入 MCP 伺服器
mcp_tools = MCPToolset.from_url("http://localhost:3000")

agent = Agent(
    name="mcp_agent",
    model="gemini-2.5-flash",
    instruction="你是一個可以使用外部工具的助手。",
    tools=[mcp_tools],
)

2.2 工作流編排——圖執行引擎

ADK 2.0 最強大的能力是 Workflow 類——一個基於圖結構的執行引擎,支援四種編排模式:

順序執行

from google.adk import Agent, Workflow

researcher = Agent(
    name="researcher",
    model="gemini-2.5-flash",
    instruction="蒐集使用者問題的相關資訊,返回關鍵事實。",
)
writer = Agent(
    name="writer",
    model="gemini-2.5-flash",
    instruction="根據提供的事實撰寫一篇簡潔的文章。",
)
reviewer = Agent(
    name="reviewer",
    model="gemini-2.5-flash",
    instruction="審查文章品質,修正錯誤,最佳化表達。",
)

pipeline = Workflow(
    name="content_pipeline",
    edges=[("START", researcher, writer, reviewer)],
)

並行執行(扇出/扇入)

sentiment_agent = Agent(name="sentiment", instruction="分析情感傾向。")
topic_agent = Agent(name="topic", instruction="提取核心話題。")
entity_agent = Agent(name="entity", instruction="識別關鍵實體。")
summary_agent = Agent(name="summary", instruction="匯總以上分析結果。")

parallel_workflow = Workflow(
    name="parallel_analysis",
    edges=[
        ("START", sentiment_agent, topic_agent, entity_agent),  # 扇出
        (sentiment_agent, topic_agent, entity_agent, summary_agent),  # 扇入
    ],
)

2.3 LLM 驅動的動態路由

coordinator = Agent(
    name="coordinator",
    model="gemini-2.5-flash",
    instruction="""你是一個任務協調者。根據使用者需求,將任務委派給合適的專家:
    - 資料分析問題 → data_analyst
    - 程式碼相關問題 → code_expert  
    - 文件撰寫需求 → writer
    直接輸出委派目標和原因。""",
    sub_agents=[data_analyst, code_expert, writer],
)

三、快速上手教學

3.1 安裝

python3 -m venv adk-env && source adk-env/bin/activate
pip install "google-adk[cli]"
export GEMINI_API_KEY="your-key-here"

3.2 實戰:建構多步驟工作流智能體

from google.adk import Agent, Workflow
from google.adk.tools.mcp_tools import MCPToolset

search_tools = MCPToolset.from_url("http://localhost:3001")

collector = Agent(
    name="collector",
    model="gemini-2.5-flash",
    instruction="根據使用者主題搜尋 3-5 個關鍵資訊點,以 JSON 列表返回。",
    tools=[search_tools],
)
analyst = Agent(
    name="analyst",
    model="gemini-2.5-flash",
    instruction="分析蒐集到的資訊,提取關鍵洞察和趨勢。",
)
writer = Agent(
    name="writer",
    model="gemini-2.5-flash",
    instruction="將分析結果整理為結構化報告,包含摘要、正文、結論。",
)
reviewer = Agent(
    name="reviewer",
    model="gemini-2.5-flash",
    instruction="審查報告:檢查事實準確性、邏輯連貫性、語言品質。給出修改建議。",
)

root_agent = Workflow(
    name="research_pipeline",
    edges=[("START", collector, analyst, writer, reviewer)],
)

四、與競品的詳細比較

vs LangChain + LangGraph

LangGraph 是 LangChain 生態系統中的工作流解決方案,功能上與 ADK Workflow 類似。核心區別:ADK 是一個框架搞定智能體 + 工具 + 工作流 + MCP,而 LangChain 需要組合多個套件,設定更複雜,但生態更豐富。

vs CrewAI

CrewAI 擅長「角色扮演」式的多智能體協作,上手極快。但在以下場景不如 ADK:需要確定性執行流程、需要 MCP 工具整合、需要條件分支和迴圈

五、適用場景與侷限性

最適合的場景

  1. Google Cloud 技術堆疊:Vertex AI、Cloud Run、BigQuery 的原生整合
  2. MCP 工具生態:需要接入大量外部工具,且希望用標準化協定管理
  3. 可預測的工作流:客服管道、資料處理流水線、內容產生鏈
  4. 混合編排:部分步驟需要確定性(圖結構),部分步驟需要靈活性(LLM 路由)

當前侷限性

  1. Gemini 綁定傾向:雖然支援其他模型,但最佳體驗仍需 Gemini API
  2. 社群生態尚在成長:相比 LangChain 的數千個整合,ADK 的第三方工具還較少
  3. 文件不夠完善:部分進階功能的文件還在補全中
  4. 僅 Python / Java / Go:JavaScript/TypeScript 版本剛起步

六、FAQ

Q1: Google ADK 是免費的嗎?

A: ADK 框架本身完全免費開源(Apache 2.0 協定)。但使用 Gemini 模型需要 Google AI API 費用,有免費額度可用。你也可以接入其他模型來避免費用。

Q2: ADK 支援哪些 LLM 模型?

A: 原生最佳化了 Gemini 2.5 系列(Flash / Pro)。透過自訂 Model Provider,也可以接入 OpenAI GPT-4o、Anthropic Claude、本機 Ollama 模型等。

Q3: MCP 工具在哪裡找?

A: MCP 協定已有數千個社群貢獻的伺服器實現。可以在 MCP Servers GitHub 找到官方倉庫,涵蓋檔案系統、資料庫、瀏覽器自動化、Slack、GitHub 等常見場景。

Q4: ADK 工作流和 LangGraph 有什麼區別?

A: 功能上類似,都是圖結構執行引擎。區別在於 ADK 是內建能力(零設定),LangGraph 需要額外安裝和設定。ADK 的 API 更簡潔,LangGraph 的視覺化除錯工具更成熟。

Q5: 生產環境部署推薦什麼方案?

A: 最簡方案是 Docker + Cloud Run。ADK 提供了內建的 Runner.serve() 方法啟動 HTTP 服務,配合 Dockerfile 即可容器化部署。大規模場景推薦 Vertex AI Agent Engine,自動處理擴縮容和監控。

七、總結評價

Google ADK 2.0 是目前對 MCP 協定支援最好的智能體框架,沒有之一。它的工作流編排能力——順序、並行、迴圈、條件路由——讓複雜的智能體管道變得可預測、可測試。

推薦指數:⭐⭐⭐⭐(4/5)

扣分項:對非 Gemini 模型的支援還不夠平滑,社群生態相比 LangChain 仍有差距。

一句話推薦:如果你用 Gemini + 需要 MCP + 需要確定性工作流,ADK 是當前最優解。否則,LangChain 仍然是更通用的選擇。


相關資源: