Agent Development Kit 智能代理開發
課程概述
Agent Development Kit(ADK)是 Google 開源的框架,用來建構、測試和部署由大型語言模型驅動的智能代理(AI Agent)。它跟單純呼叫 LLM API 差在哪?ADK 讓你的 Agent 會用工具、會記住前面講過的事、能做多步驟決策,等於是從「聊天機器人」升級成「真的能幫你把事情做完的數位助手」。
你將學到
- 理解 AI Agent 與傳統 LLM 呼叫的本質區別
- 掌握 ADK 的核心架構:Agent、Tool、Memory、Orchestrator
- 使用 ADK 建構第一個具備工具呼叫能力的 Agent
- 在本機環境測試與除錯 Agent 行為
- 了解 Agent 部署至 Vertex AI 的基本路徑
核心概念
什麼是 AI Agent?
AI Agent 是一個拿 LLM 當「大腦」的自主系統。它不只是回答問題,還會根據目標規劃接下來要做什麼、呼叫外部工具、看結果,再決定下一步怎麼走。這種「思考 → 行動 → 觀察」的循環(ReAct 模式),就是現代 Agent 架構的核心。
ADK 架構四大元件
| 元件 | 角色 | 說明 |
|---|---|---|
| Agent | 決策中心 | 定義 Agent 的目標、人格、可用工具與行為規則 |
| Tool | 能力擴展 | Agent 可呼叫的函式,例如查詢資料庫、呼叫 API、讀取文件 |
| Memory | 狀態維持 | 儲存對話歷史與跨輪次的上下文,支援短期與長期記憶 |
| Orchestrator | 流程控制 | 管理 Agent 的推理迴圈,決定何時呼叫工具、何時回應使用者 |
Tool 的設計原則
Tool 設計得好不好,往往決定了 Agent 能不能順利運作。每個 Tool 應該:
- 功能單一且明確,一個 Tool 只做一件事
- 提供清晰的描述讓 LLM 知道何時該使用它
- 輸入輸出有明確的型別定義
- 錯誤處理完善,回傳有意義的錯誤訊息
Agent 與 Prompt Engineering 的關係
Agent 的 System Instruction 定義了它的角色和行為邊界。它跟一般 prompt 不太一樣,Agent 的指令還得多交代幾件事:什麼時候該用哪個 Tool、碰到模糊情境時優先怎麼判斷,還有哪些動作絕對不能做(也就是安全護欄)。
實作重點
- ADK 使用 Python 為主要開發語言,透過
google-adk套件安裝 - 定義 Agent 時需指定
model(建議gemini-2.5-flash,現為 ADK 推薦的預設模型;gemini-2.0-flash仍可使用)、instruction與tools清單 - Tool 函式需加上型別標註與 docstring,LLM 會依據這些資訊決定是否呼叫
- 本機測試可使用
adk web啟動互動式 Web UI,即時觀察 Agent 的推理過程 - 常見錯誤:Tool 描述不夠具體,導致 Agent 在不適當的時機呼叫錯誤工具
Lab 導讀
Lab 連結:Build Intelligent Agents with Agent Development Kit — Google Cloud Skills Boost
這個 Lab 會帶你從零做出一個能查天氣和匯率的 Agent。做的時候特別留意兩件事:Agent 怎麼根據使用者的問題自動挑對 Tool,還有推理過程中的 thought/action/observation 循環是怎麼跑的。
延伸學習
- Google Agentspace 入門 — 了解企業級 Agent 部署平台
- 部署多代理系統 — 進階:多個 Agent 協同工作
- Prompt Engineering 進階技巧 — Agent 的 System Instruction 設計基礎