# 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「成家立業」的正式指南。 ---