iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0

前言

我們大致了解完Agent後,今天我們要走向實踐~建立第一個真正能運作的 Python Agent!
☆*: .。. o(≧▽≦)o .。.:*☆


實踐

開啟VsCode

  • 沒有 VsCode,可去官網下載
    下載完需要繁中的可去延伸模組 查詢 Chinese,並下載中文(繁體),重新啟動就好了~
    https://ithelp.ithome.com.tw/upload/images/20250919/20168454o4g2FipcQC.png

  • 有VsCode建立新資料夾
    https://ithelp.ithome.com.tw/upload/images/20250919/20168454cQr6GtWokZ.png

環境設置

  • 開啟終端機, Ctrl+J 快捷鍵開啟
    https://ithelp.ithome.com.tw/upload/images/20250919/20168454izo0d2wJA2.png

  • 建立 requirements.txt, 並安裝
    https://ithelp.ithome.com.tw/upload/images/20250919/20168454fRDs9e9Ah5.png

google-generativeai>=0.3.0
typing-extensions>=4.5.0
python-dotenv>=1.0.0
requests>=2.31.0
aiohttp>=3.8.0
google-adk==1.6.1
pip install -r requirements.txt
  • 安裝 venv
    https://ithelp.ithome.com.tw/upload/images/20250919/20168454bhR4KYzBVm.png

  • 進入 venv

# Windows:
.venv\Scripts\activate

# macOS / Linux:
source .venv/bin/activate

https://ithelp.ithome.com.tw/upload/images/20250919/20168454JohgtX5RQ6.png

  • 建立一份 .envExample
    https://ithelp.ithome.com.tw/upload/images/20250919/20168454YhiWFisRq8.png

請依照 example.env 建立 .env 檔案於專案根目錄

cp .envExample .env

Google API KEY 複製API KEY,並貼上

  • 建立 .gitignore
# 環境變數檔案 - 包含敏感資訊
.env

# Python 相關
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
env/
venv/
.venv/

# IDE
.vscode/
.idea/

# 系統檔案
.DS_Store
Thumbs.db
  • 建立 init.py
from .root_agent import root_agent

__all__ = ['root_agent']

建立 hello_agent

  • 新增 hello_agent.py 與 hello_prompt.py
    https://ithelp.ithome.com.tw/upload/images/20250919/20168454JDVKAXzcpI.png

  • hello_agent.py

from google.adk.agents import Agent
from . import hello_prompt as prompt
from dotenv import load_dotenv

load_dotenv()

hello_agent = Agent(
    name="hello_agent",
    model="gemini-2.0-flash-exp",
    description=prompt.HELLO_AGENT_DESCRIPTION,
    instruction=prompt.HELLO_AGENT_INSTRUCTION
)
DESCRIPTION(代理描述)
功能 用途
提供代理的元數據描述 幫助開發者理解代理的功能
說明代理的用途和能力 在 ADK 開發工具中顯示代理資訊
用於系統內部識別和文檔記錄 用於代理之間的協調和選擇
INSTRUCTION(代理指令)
功能 用途
直接影響 LLM 的行為 告訴 LLM 如何思考和回應
定義代理的個性和回應風格 定義代理的角色和行為模式、 指導何時使用工具
提供具體的操作指導 設定回應的語調、格式和內容方向
  • hello_prompt.py
HELLO_AGENT_DESCRIPTION = """
當接收到這些關鍵詞時,這個代理將會回應友善的問候語:
1. hello
2. 嗨
3. 你好
4. 哈囉
5. 您好
6. hi

這個代理專門處理問候相關的對話。
"""

HELLO_AGENT_INSTRUCTION = """
你是一個專門處理問候的代理人。當使用者打招呼時,請用友善且自然的語氣回應。
你可以使用 get_hello_world 工具來獲取基本的問候語,然後根據情況擴展或個性化回應。
請保持回應簡潔、友善且符合中文使用習慣。
"""

建立 root_agent

  • 新增 root_agent.py 與 root_prompt.py
    https://ithelp.ithome.com.tw/upload/images/20250919/20168454HbVmngHsrd.png

  • 建立 root_agent

from google.adk.agents import Agent
from . import root_prompt as prompt
from dotenv import load_dotenv
from .hello_agent import hello_agent

load_dotenv()


root_agent = Agent(
    name="root_agent",
    model="gemini-2.0-flash-exp",
    description=prompt.ROOT_AGENT_DESCRIPTION,
    instruction=prompt.ROOT_AGENT_INSTRUCTION,
    sub_agents= [
        hello_agent
    ]
)
  • 建立 root_prompt
ROOT_AGENT_DESCRIPTION = """
這是一個根代理,負責協調和管理子代理。它可以根據用戶的需求將請求轉發給適當的子代理。
"""

ROOT_AGENT_INSTRUCTION = """
你是一個協調代理,負責處理用戶請求並將其轉發給適當的子代理。
當用戶提到問候、hello、你好、嗨、哈囉等關鍵詞時,請使用 hello_agent 來處理。
請根據用戶的輸入選擇最合適的子代理來回應。
"""

最後整體畫面

https://ithelp.ithome.com.tw/upload/images/20250919/20168454HiAE1cgjNa.png

實踐執行

回去上一層資料夾 cd ..
執行 adk web

https://ithelp.ithome.com.tw/upload/images/20250919/20168454yfWLq3rVqb.png

前往網址,選擇自己所建立的 agent 資料夾
https://ithelp.ithome.com.tw/upload/images/20250919/20168454GbhejynA2K.png

就可以輸入訊息了~
右邊Event ,可以看到他成功使用 hello_agent
https://ithelp.ithome.com.tw/upload/images/20250919/20168454U4bvhjUbZz.png

結尾廢話

恭喜成功寫出第一個 agent (/≧▽≦)/
寫過一次之後,發現其實應該不難吧?
我們下一篇見! (╯▽╰ )
reference link


上一篇
[Day 4] AI Agent Google ADK ?
下一篇
[Day 6] Agent 的挑戰與 Prompt 簡單技巧
系列文
AI Agent 開發養成記:做出屬於自己的Agent P8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言