AI Agent
實作報告

阮文孟 1111310035 LangChain · OpenAI · Firebase Telegram Bot

實作一個能整合三個工具的 AI Agent:行事曆待辦事項天氣查詢。歷經環境衝突、憑證設定、API 金鑰驗證等多重挑戰,最終成功啟動 AgentExecutor 思考鏈。

查看實作過程 ↓
文件全覽

原始文件頁面

點擊任一頁面可放大,使用 ← → 鍵或按鈕切換頁面

Page 1
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8
Page 9
Page 10
Page 11
實作流程

問題排除時間軸

Step 01

環境初始化 & 依賴衝突

安裝 langchainopenai 時遇到 ResolutionImpossible 錯誤。Python 3.14 版本過新,套件版本衝突。

ERROR: ResolutionImpossible
# 解決:切換至 Python 3.12 + uv 重建 venv
$ uv venv --python 3.12 && uv pip install langchain openai
Step 02

VS Code 啟動器連接超時

Debug 模式出現 "Timed out waiting for launcher to connect",調試器與 Python 解釋器通訊失敗。

Warning: Timed out waiting for launcher to connect
# 解決:改用 Terminal 直接執行
$ python agent.py
Step 03

Firebase 憑證設定

FileNotFoundError:找不到 serviceAccountKey.json。需安全存取 Firebase 資料庫管理待辦事項與行事曆。

FileNotFoundError: serviceAccountKey.json not found
# 解決:從 Firebase Console 下載私鑰
$ mv ~/Downloads/key.json ./serviceAccountKey.json
Step 04

API 金鑰驗證

ValidationError:未找到 OPENAI_API_KEY。需確保 .env 含 OpenAI API Key、Telegram Bot Token 及 Chat ID。

ValidationError: OPENAI_API_KEY not found
# 修正 .env 檔案
OPENAI_API_KEY=sk-...
TELEGRAM_BOT_TOKEN=...
TELEGRAM_CHAT_ID=...
Step 05 ✓

Agent 成功啟動!

AgentExecutor chain 成功啟動,Agent 能自主判斷調用天氣查詢、行事曆規劃或待辦事項管理工具。

> Entering new AgentExecutor chain...
✓ Weather tool: ready
✓ Calendar tool: ready
✓ Todo tool: ready
⚠ Stopped: insufficient_quota (API 配額不足)
# 邏輯架構已完全驗證成功
心得

實作反思

誠如實作過程中所遇見的種種困難,這份作業的完成過程確實相當繁瑣。尤其是在解決了所有代碼邏輯後,最後卻因為 insufficient_quota(API 配額不足)而面臨阻礙,這讓我明白在現實工程中,除了技術實現,成本與資源管理同樣關鍵。

雖然過程中有過挫敗,但看著程序最終成功進入思考鏈(AgentExecutor Chain),這種成就感是難以言喻的。這不僅僅是一次編程練習,更是一次對耐心與解決問題能力的磨煉。