「從最初的一個想法,到寫下每一行 FastAPI、RAG 向量檢索、Gemini 三階段推理與 Linux systemd 自動化運維程式碼,這 30 天的旅程不只是一套 AI Agent 的開發紀錄,更是一次將 LLM 真正落地為 Production-Ready 生態系的實戰演練。」
今天是 《打造零成本企業級 AI Agent:以 Gemini 2.5 Flash 構建金融分析助手與維運實戰》 30 天鐵人賽的最終章!
在這 30 天裡,我們從零開始,打造了一套兼具「盤後定時主動推播」與「即時雙向對話學習」的雙核心 AI 金融專家系統。 我們不使用高階框架的黑盒子,而是用最純粹的 Python、FastAPI、ChromaDB 與 Linux 原生工具,一步步建構出高可用、高韌性且具備自我進化能力的 AI 生態系。
今天,讓我們站在終點線前,重新梳理這 30 天的架構精髓、分享 Production 部署的血淚心得,並展望 Angelina Agent 未來邁向 GCP 雲端原生、多模態分析與跨平台應用的全新 Roadmap!
回顧整個專案,Angelina AI Agent 的核心價值建立在「雙模組解耦與閉環」之上:
1. 核心一:單次執行 CLI 盤後自動化管線
(1) 7 步完整數據流:[1/6] 台股/美股/新聞數據擷取 $\rightarrow$ [2/6] 知識庫脈絡查詢 $\rightarrow$ [3/6] Gemini 三階段推理 $\rightarrow$ [4/6] 數字正則格式化 $\rightarrow$ [5/6] Telegram Byte-Safe 訊息切割推播 $\rightarrow$ [6/7] Google Sheets 試算表同步 $\rightarrow$ [7/7] 分析報告回寫知識庫。
(2) 解耦排程架構:腳本保持純粹 Single-run CLI 屬性,離線執行完即釋放資源,觸發時機完全交由 Linux 作業系統(Crontab / systemd.timer)掌控,徹底杜絕記憶體洩漏。
2. 核心二:即時 Web/RAG 與自主學習服務
(1) FastAPI 異步託管:透過 Lifespan 統一管理 Singletons,支援 /chat、/health、/stats 與特權指令(/learn、/fetch-url)。
(2) ConversationMemory 對話記憶:以 aiosqlite 為底層,設計 idx_session_created 複合索引,提供 20 輪 Sliding Window 與滿 101 輪自動記憶壓縮(summarize_if_needed)。
(3) RAGEngine 向量心臟:結合在地化 sentence-transformers/all-MiniLM-L6-v2 與 ChromaDB(hnsw:space: cosine),以 tiktoken 500-token 切分、0.5 相似度門檻過濾,並具備 _auto_rebuild 毀損自癒能力。
(4) LearningModule 自主學習:以 asyncio.create_task 在背景非阻斷萃取知識點,透過 0.85 相似度門檻去重,並在累積 50 筆新知識時自動觸發索引重構,達成自我進化 cycle。
(5) GeminiGateway 防禦閘道:具備 15 RPM / 10 佇列限流、UTC 午夜 Quota 自動重置,以及結構化金融專家 System Prompt 硬性注入。
將 AI Agent 部署到真實的 RedHat Linux 伺服器上,我們積累了四個最珍貴的 Engineering Insights:
1. 徹底分離「應用程式邏輯」與「基礎設施排程」
切勿在 Python 程式碼內部寫死 while True: sleep()。把定時排程交給 Linux 原生工具(Crontab 或 systemd),不僅服務掛掉時會由 OS 自動拉起,日誌也能透過 journalctl 統一管理。
2. 永遠要為大模型 API 設下「降級防護網(Fallback)」
LLM API 會斷線、會 Rate Limit、也會有 Quota 耗盡的一天。我們的 GeminiGateway 與 RAGEngine 透過自訂 Exception 映射、Fail-open 去重策略與 used_general_knowledge 降級標記,確保了即便外部 API 抖動,系統依然能優雅吐出對話,絕不拋出 500 Unhandled Exception。
3. 嚴格控管 Context Window 與 Token 經濟性
不論是盤後分析報告的 _fmt() 數字預清洗、ConversationMemory 的 20 輪滑動視窗,還是 LearningModule 的 0.85 相似度去重,目的都在於「只把最精練、最相關的資訊餵給大模型」。這不僅降低了 API 費用,更大幅提高了推理品質。
4. 結構化日誌是除錯的唯一燈塔
採用 structlog 輸出 JSON 格式日誌至 /var/log/angelina/app.log,讓每一筆 request、RAG 搜尋結果與背景學習任務都帶有 session_id 與 ISO 時間戳記,使線上問題定位變得極度輕鬆。
30 天的完結不是終點,而是 Angelina Agent 下一個階段的起點。未來預計朝向以下四大維度進行升級:
1. 多模態圖表分析與視覺化產出
(1) 多模態視覺辨識:支援使用者直接上傳 K 線圖、財報圖表或新聞截圖,透過 Gemini 2.5 Flash 的 Vision 能力進行技術指標(如 K 線型態、MACD 背離)與財報數據的自動解讀。
(2) 動態圖表繪製:結合 Python 視覺化工具,讓 Agent 在產出文字分析報告的同時,自動生成精美的 K 線與籌碼走勢圖表回傳給使用者。
2. 全面深度整合 GCP 雲端原生解決方案
(1) Serverless & 託管部署:將 FastAPI Web 服務與 Cron 任務無痛遷移至 Google Cloud Run 與 Cloud Scheduler,實 Serverless 與 Auto-scaling。
(2) 企業級向量與儲存:將本地 ChromaDB 升級託管至 Vertex AI Vector Search,並使用 Cloud Storage 儲存歷史圖片與 NotebookLM 導出檔,大幅提升向量檢索的吞吐量與可靠性。
(3) 資安與金鑰託管:導入 Secret Manager 與 Cloud IAM,實現零金鑰外洩風險的雲端原生資安防禦。
3. 跨平台行動端應用與全渠道推播
(1) 專屬手機 App 開發:規劃使用 Flutter 或 React Native 開發跨平台行動端 App,提供即時推播通知(FCM)、K 線圖互動與語音對話功能。
(2) Multi-channel:不局限於 Telegram,未來將擴充支援 LINE Official Account (LINE Bot)、Discord Bot 以及 Slack App,讓使用者能在自己最習慣的社群軟體上隨時喚醒 Angelina。
4. 多代理人協作架構
(1) 專家分工體系:將系統重構為由 Orchestrator 協調的多代理人架構,包含專門負責籌碼數據的「Data Agent」、負責技術面繪圖的「Chart Agent」與負責總體經濟的「Macro Agent」,實現更精準的平行思考與報告彙整。
感謝這 30 天來陪伴這套專案成長的每一位讀者與社群夥伴!
打造一個真正的 AI Agent,難點往往不在於 Prompt 寫得多漂亮,而在於如何圍繞著大模型建構出穩定、安全、可擴充且易維運的軟體工程架構。 希望這 30 天的原始碼剖析與架構分享,能為同樣在 AI Agent 落地道路上探索的你,提供一份實用且接地氣的參考指南。
Angelina AI Agent 的程式碼已經完全開源並穩定運作於 Production 伺服器上。讓我們一起期待下一個 AI 技術革命的到來!
—— 全篇完。