---
# System prepended metadata

title: Google ADK
tags: [AI_Agent]

---

# Google ADK - 讓 LLM 「成家立業」的工具

本筆記摘要自 [Simon Liu](https://medium.com/@simon3458/google-adk-tools-intro-202504-3181fd6ab567) 的 Medium 文章，核心目標在於介紹 Google 推出的 **ADK (Agent Development Kit)**。本文將探討 ADK 是什麼、其核心功能、不同的互動方式，以及 Google 如何透過 ADK、**MCP** 與 **A2A** 協定來打造一個企業級的 AI Agents 生態系統。

---

## 1. 🌀 ADK、MCP 與 A2A 的背景

* **AI Agents (AI 代理)**：本篇內容的基礎，建議先理解 AI Agents 的概念。
* **MCP (模型上下文協定)**：由 Antropic 提出，已成為連接代理/模型與其工具（如本地檔案、API）的標準。
* **A2A (Agent-to-Agent)**：Google 推出的代理之間互動協定，用於解決多代理系統的協同挑戰。
* **ADK (Agent Development Kit)**：Google 基於 MCP 協定開發的工具包，用於建構 **Multi-Agents (多代理)** 應用。

## 2. 🛠️ 什麼是 ADK (Agent Development Kit)？

* **定義**：ADK 是一個用於開發和部署 AI Agents 的**靈活、模組化**的工具。
* **核心整合**：其設計重點是與 Google 生態系統和 **Gemini 模型** 緊密整合，但也支援 Vertex AI Model Garden 中的其他模型。
* **目標**：讓開發者能輕鬆開始使用由 Gemini 驅動的 Agent，同時提供對複雜 AI Agents 架構所需的控制和結構。

## 3. 🌟 ADK 的六大核心功能

1.  **多 AI Agents 設計**：
    * 允許透過層次結構組合多個專門的 Agent。
    * 實現模組化、可擴展的應用，以及複雜的協調和授權。
2.  **豐富的模型生態系統**：
    * 可選擇 Gemini 或 **Vertex AI Model Garden** 中的任何模型。
    * 整合 **LiteLLM**，使其能使用 Anthropic, Meta, Mistral AI 等提供者的模型。
3.  **豐富的工具生態系統**：
    * **預建工具**：如搜尋、程式碼執行。
    * **MCP 工具**：支援模型上下文協定。
    * **第三方函式庫**：整合 LangChain, LlamaIndex。
    * **其他代理作為工具**：支援 LangGraph, CrewAI 等。
4.  **內建串流媒體**：
    * 支援獨特的**雙向音訊和視訊串流**功能（目前僅英文）。
    * 只需幾行程式碼即可創造自然的（多模態）互動。
5.  **整合開發者體驗 (IDE)**：
    * 提供強大的 **CLI (命令列工具)** 和**視覺化 Web UI**。
    * 可在本地進行開發、測試和偵錯，並逐步檢查事件與狀態。
6.  **輕鬆部署**：
    * 可將代理程式**容器化 (Containerized)** 並部署到任何地方。
    * 可透過 **Google Cloud Vertex AI Agent Engine** 進行部署。

## 4. ⌨️ ADK 的四種互動方式

文章中介紹了四種主要的 ADK 互動工具：
![image](https://hackmd.io/_uploads/SJHxocll-g.png)

### 1. ADK CLI
* 說明：在 Command Line (命令列) 上直接進行互動，以了解目前的實作狀況。

### 2. ADK Web UI
* 說明：透過官方提供的開發互動網頁，直接和 AI Agents 互動，並進行調整。
![image](https://hackmd.io/_uploads/r1kMjclxWx.png)


### 3. API Server
* 說明：ADK 可以用一個指令啟動 **FastAPI Server**，並在網頁上使用 **SwaggerUI** 進行 API 測試。
![image](https://hackmd.io/_uploads/B1Imj9egZg.png)


### 4. ADK Python SDK
* 說明：透過 ADK 提供的 Python Package (SDK) 進行互動，將服務整合到公司既有的軟體應用中。
![image](https://hackmd.io/_uploads/HykHoqxgWl.png)


## 5. 🎯 Google 的 ADK 戰略目標

Google 推出 ADK 的目的不僅是提供工具，更是為了建立一個完整的企業級 AI Agents 生態系統。

### 5.1 簡化 MCP 與 Gemini 的整合
* Google 官方支援 **MCP 協定**。
* ADK 的任務是讓開發者能更快、更容易地在 MCP 服務和 Gemini 模型之間進行開發和互動。
![image](https://hackmd.io/_uploads/ryDIicgg-x.png)


### 5.2 建立企業級開發與維護標準
* **三位一體**：透過 **MCP**、**ADK** 與 **A2A** 的緊密關係，處理 AI Agents 的開發和維護。
* **Agent Engine**：ADK 引入了 **Agent Engine**，提供從概念驗證 (PoC) 到生產部署 (Production) 的一站式解決方案。
> Agent Engine 包含：
> * 上下文管理 (Context Management)
> * 基礎設施監控 (Infrastructure Monitoring)
> * 擴展性 (Scalability)
> * 安全性評估 (Security Assessment)

* **A2A 協定**：允許**不同廠商的代理人**彼此協同作業，擴展了 MCP 的應用範圍。

## 6. 💡 結論

ADK 不僅是一個開發框架，更是一種**「營運模式」**或**「系統性的方法論」**的導入。它旨在建立一套標準化、模組化且可企業化擴展的 AI Agents 生態系統。

> 對於想建構具備商業價值的 Multi-Agent 系統的團隊而言，ADK 不只是工具，而是一種讓 LLM「成家立業」的正式指南。

---