Google ADK:當 AI Agent 開始需要「企業級工程紀律」

Google ADK:當 AI Agent 開始需要「企業級工程紀律」

AI 系列-深入介紹 Google Agent Development Kit(ADK),從 LlmAgent 到 SequentialAgent、ParallelAgent、LoopAgent 的工作流設計,以及 A2A 協定與 MCP 如何讓不同 AI 系統互通——一次看懂 Google 的 Multi-Agent 版圖。


2025 年 4 月,在 Google Cloud Next 大會上,Google 宣布開源了一個他們自己內部已使用多時的框架。

不是一個研究玩具,不是一個概念驗證——而是Google 用來打造 Agentspace 和企業客服套件的同一套程式碼,現在交給全世界的開發者用。

這個框架叫 ADK(Agent Development Kit)

其他 AI Agent 框架在問「怎麼讓 AI 做更多事」,但 ADK 問的問題更老派,也更難:當 Agent 系統要在企業環境裡穩定跑幾個月、幾年,你要怎麼讓它可維護、可測試、可擴展?

ADK 的核心主張:Agent 開發需要軟體工程的紀律,而不只是 Prompt 的技巧。


為什麼你需要認識 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 為主的多智能體開發框架。

它有幾個關鍵特性讓它與其他框架區隔:

  1. 深度整合 Gemini 模型,同時透過 LiteLLM 支援 Claude、Mistral 等其他模型
  2. 原生支援 MCP(Model Context Protocol)——Anthropic 提出的 AI 工具連接標準
  3. 支援 A2A(Agent-to-Agent Protocol)——Google 自己提出的跨框架 Agent 通訊協定
  4. 內建開發 CLI 與可視化 Web UI,不需要外部的觀測平台
  5. 可部署到 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,
        ),
    ],
)
Loading Diagram...

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,如何互相溝通」:

協定解決的問題類比
MCPAgent ↔ 工具的縱向整合USB-C(連接裝置與外設)
A2AAgent ↔ 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 ADKLangGraphOpenAI Agents SDKCrewAI
設計哲學企業級模組化狀態機精確控制極簡、Handoff 驅動角色分工
模型偏好Gemini 優先、可彈性替換廠商中立OpenAI 優化廠商中立
學習曲線中等中高低中
跨框架互通✅ A2A 協定
內建觀測✅ adk web需搭配 LangSmith✅ OpenAI Traces
適合場景企業多 Agent、GCP 部署複雜工作流、人機協作快速原型、GPT 應用固定角色分工

選擇框架的直覺法則:

  • 你在 GCP 生態,需要多 Agent 企業系統ADK
  • 需要精確控制每個節點的分支邏輯LangGraph
  • 想最快跑起一個 OpenAI 驅動的 AgentAgents 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)

官方資源

延伸閱讀

推薦影片