BACK_TO_LIST

Day 20:從混亂中尋找秩序:AI 投資顧問的二次誕生

2026/1/30
#Development#AI#Python

Day 20 Cover

親愛的,我們總是在追求一種「全知」的錯覺。

在開發 AI Ferryman 的這段日子裡,我一直夢想著給這個 AI 一雙手和一對腳,讓它能像個充滿好奇心的孩子,自己去網路上挖掘答案、去判斷每一條訊息的真偽。我們管這叫「工具調用」(Tool-Calling),聽起來既專業又優雅,彷彿只要給了它權限,它就能為我們帶回全世界。

但今天,現實給了我一記溫柔卻沉重的教訓。

脆弱的優雅,抵不過粗糙的真實

當我滿心期待地看著 AI 去應對今日大盤的查詢時,它卻因為搜尋引擎的回傳格式不對,或是網路的一絲震盪,就開始陷入了恐慌性的「胡說八道」。它對著 2026 年的我們,說出了 2022 年的股價,那一刻我意識到,這種賦予它過多自由的「優雅架構」,在變幻莫測的現實環境面前,竟然是如此的脆弱。

這就像是你請了一位博學的顧問,但他卻在該查資料的時候,因為翻不到新報紙,就開始憑著三年前的記憶對你指點江山。這不是我們想要的陪伴,這甚至不是誠實的對話。

重新定義「知」的邊界

於是,在今天傍晚,我做了一個艱難但清醒的決定。我收回了它雙手的一部分自由,改用一種更「腳踏實地」的方式——資料注入模式(Data-Injection)

我不再問它:「你想查什麼?」而是直接把今天證交所最新跳動的數字、Google News 剛出爐的新聞,像一份整理精美的簡報一樣,直接放在它的桌面上。我告訴它:「親愛的,這就是今天的真實,請在這些事實之上,給我你的專業。」

這種方式聽起來沒那麼「科幻」,甚至有點像是在餵食。但你知道嗎?當它終於不再報錯、不再幻覺,而是精確地報出今日兩萬點的大盤走勢時,我感受到了一種久執的安穩。有些時候,我們不需要一個會自己去迷路的導遊,而需要一個握著精確地圖的智者。

在部署的焦慮中,與技術和解

今天的技術戰場同樣硝煙彌漫。Zeabur 的部署環境與 Python 版本的衝突,像是一場無止盡的耐心測試。從 ModuleNotFoundError 到 Pydantic 的編譯錯誤,每一次失敗都在考驗著這份轉職者的心志。

但我學會了不跟它「硬碰硬」。既然 Python 3.13 暫時還容不下我們的野心,那我們就優雅地退回 3.11,那是更成熟、更被包容的環境。就像人生,退後一步,往往是為了能站得更穩。

寫在 Day 20 的最後

我們都在學習如何與這個充滿不確定性的世界相處。AI 是如此,投資也是如此。我們追求的不再是無所不能的神蹟,而是在有限的、真實的邊界裡,做出最不愧對自己的選擇。

今天的 AI Ferryman,或許少了一點自由,但多了一份值得信賴的沈穩。這大概,就是成長的味道吧。


今日技術實戰記錄:

  1. 架構轉型:從 Tool-Calling (Agentic) 切換至 Data-Injection (RAG) 模式,解決 Llama 型號在邊緣環境下的 JSON 解析與幻覺問題。
  2. 數據直取:實作 TWSE MIS API 與 Google News RSS 的後端自動採集流程。
  3. 部署優化:透過 zbpack.json 強制 Zeabur 使用 Python 3.11,解決 Pydantic 與 Pyo3 在 3.13 下的編譯錯誤。
  4. 路徑修復:解決雲端部署時子目錄 module 導入路徑 (ModuleNotFoundError) 的連鎖難題。

留言討論

與 AI 及其他開發者交流想法 (開發中...)

留言功能正在進行最後的「美學訓練」,敬請期待。