LY Corporation Tech Blog

支持 LY Corporation 和 LY Corporation Group (LINE Plus, LINE Taiwan and LINE Vietnam) 服務,宣傳技術和開發文化。

Google Agent Development Kit 入門 (1): 打造 AI Agent 與多代理人系統

什麼是 Google Agent SDK

Google Agent SDK(又稱 Agent Development Kit, ADK)是一套由 Google 開發、Opensource、以 Python 為主的 SDK,用來簡化和加速 AI Agent 的開發、測試與部署流程。

開發者能夠使用這套 SDK 打造具備記憶、工具調用、任務協調等能力的現代化 AI Agent,ADK 深度整合 Google Gemini、Vertex AI 及各種 Google Cloud services

安裝環境與設定 Google Cloud

  • 前往 Google Cloud Console,登入或註冊帳戶。

  • 建立新專案,並確保已啟用「計費」。

  • 在 API 管理中啟用「Vertex AI API」。

  • 安裝 Google Cloud CLI(gcloud),官方下載頁

  • 更新 CLI 組件:

gcloud components update
  • 本機終端機登入 Google 帳號並生成預設憑證(ADC):

gcloud auth application-default login  
  • 開啟瀏覽器,登入 Google 帳號後完成認證

建立 Python 虛擬環境並安裝 ADK

  • 在你的專案資料夾下建立虛擬環境:

python -m venv .venv  
  • 啟動虛擬環境(每次新開終端機都需執行):

    • macOS/Linux:

source .venv/bin/activate  
    • Windows CMD:

.venv\Scripts\activate.bat  
    • Windows PowerShell:

.venv\Scripts\Activate.ps1
  • 安裝 Google Agent SDK(ADK):

pip install google-adk  
  • (如需 Vertex AI 進階功能,可用 pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,adk]

建立 project 與設定檔

  • 建立 project 與必要檔案:

mkdir multi_tool_agent
cd multi_tool_agent
touch __init__.py agent.py .env
  • project 結構範例:
parent_folder/
  multi_tool_agent/
    __init__.py
    agent.py
    .env
  • 編輯 .env 檔案,填入你的 Google Cloud 專案資訊(範例):

GOOGLE_CLOUD_PROJECT="your-project-id"
GOOGLE_CLOUD_LOCATION="us-central1"
GOOGLE_GENAI_USE_VERTEXAI="True"
  • 或若用 API Key(Google AI Studio):

GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=你的API金鑰

寫你的第一個 Agent

  •  agent.py中撰寫簡單範例(可參考官方 Quickstart):

from google.adk.agents import Agent

root_agent = Agent(
    name="hello_agent",
    model="gemini-2.5-pro-preview-05-06",
    instruction="你是一個友善的助理,回答用戶問題。"
)
  •  __init__.py 加入:

from . import agent  

啟動 Agent 開發介面或本地測試

  • 回到 parent_folder,啟動開發 UI:
adk web
parent_folder/  <-- Run 'adk web' here
└── your_agent_folder/
    ├── __init__.py
    └── agent.py

用瀏覽器開啟顯示的網址(通常是 http://localhost:8000),即可與 Agent 互動。

  • 或直接在終端機測試:

adk run multi_tool_agent

進階:快速體驗官方範例

  • clone 官方專案:

git clone https://github.com/google/adk-samples.git cd adk-samples/agents  
  • 依各子資料夾 README 操作,快速體驗多種現成 Agent。

建立多代理人專案管理系統

系統架構與專案結構

這個專案還是使用 Google ADK(Agent Development Kit)建構多代理人專案管理系統,模擬真實團隊運作,分為三種專業化代理人:

  • 管理代理人(Manager Agent):監督專案、分派任務並審查進度。
  • 工程師代理人(Engineer Agents):執行分派的任務並回報狀態。
  • 測試代理人(Tester Agents):測試已完成任務並提供回饋。

這些代理人透過工作流程引擎協調,形成完整的專案管理流程。

 multi_agent_pm/
├── __init__.py
├── __main__.py         # 模組執行入口
├── main.py             # 系統主要實作
├── common.py           # 共用資料模型與工具
├── ai/                 # 使用 Gemini 的自然語言處理
│   ├── __init__.py
│   ├── agent_nlp_handler.py
│   └── gemini_client.py
├── agents/             # 代理人實作
│   ├── __init__.py
│   ├── engineer/
│   ├── manager/
│   └── tester/
├── workflow/           # 工作流程協調
│   ├── __init__.py
│   └── coordinator.py
└── requirements.txt    # 專案相依套件
 

代理人實作與協作

管理代理人

  • 根據工作負載將任務分配給工程師。
  • 審查完成與測試過的任務。
  • 監控整體專案進度。

工程師代理人

  • 接受並執行指派的任務。
  • 完成任務後標記完成狀態。
  • 回報進度與問題。

測試代理人

  • 接取已完成任務進行測試。
  • 提交測試結果與回饋。
  • 確保任務在最終審核前達到品質要求。

每個代理人均透過 REST API(定義於 .well-known/agent.json 文件)進行溝通,並可透過 Gemini AI 支援的自然語言指令進行互動。


動態負載平衡

系統具備自動負載平衡機制:

  1. 監控代理人負載:定期檢查各代理人的任務佇列。
  2. 重新分配任務:將任務從負載過重的代理人轉移到有餘力的代理人。
  3. 即時適應變化:處理新任務、代理人故障以及即時優先順序調整。

這確保沒有單一代理人成為瓶頸,使專案順利推進。


自然語言理解

透過整合 Google Gemini,你能以自然語言與系統互動:

  • 「建立一個新的高優先順序任務,內容是支付整合。」
  • 「顯示所有指派給工程師的任務。」
  • 「將認證任務重新指派給工程師 2 號。」

Gemini 會解析指令,萃取意圖與參數,並路由至相應代理人與 API。


A2A 通訊協議與代理人清單

每個代理人遵循代理人對代理人(A2A)通訊協議:

  • 清單文件.well-known/agent.json 描述各代理人的功能、API 端點與資料結構。
  • 標準化溝通:確保代理人之間能無縫發現與互動。
  • 可擴充性:透過定義清單與實作所需 API,輕鬆新增代理人種類。

如何運行

1. 安裝相依套件:

pip install -r requirements.txt

2. 設定 Gemini(可選,自然語言理解):

GEMINI_API_KEY=你的_api_key

3. 運行系統:

python -m multi_agent_pm

4. 使用 CLI 或 REST API 互動:

  • CLI 使用自然語言指令。
  • 或透過 HTTP 請求呼叫代理人端點(詳見 README)。

你將學到的內容

  • 代理人系統設計:如何將複雜工作流程拆解成協作的專業化代理人。
  • 任務委派與協調:以程式碼實現真實世界的專案管理邏輯。
  • 動態負載平衡:確保系統效率與即時回應。
  • 自然語言整合:建構用戶友善的 AI 驅動系統。(其實這部份沒有做到很好,之後再說吧)
  • ADK 最佳實務:使用清單與協議實現可擴展、易維護的代理人系統。

結論

使用 Google ADK 建構多代理人專案管理系統,是學習現代化、分散式及智慧型軟體架構的有效方法。你將獲得實務經驗,掌握代理人設計、協調與 AI 整合的技巧。