小黃開發日記 03|第一個正式版 v1.0.0(2026-06-26~07-08)

總結摘要
Telegram 成為主力平台、持倉智慧整套、技術面警報、主動推送,以及一根 NaN K 線讓警報永遠不響。

7 月 8 日,第一個正式版 v1.0.0 發布,累計 581 個 commit。這一段把「投資夥伴」該有的東西補齊:一個好用的平台、看得懂你持倉的引擎,還有她會主動來找你。

ZOE 寫實畫風的小黃。陪你讀財報,是她最像老師的時候。

Telegram:後來成為唯一的聊天平台

6 月 27 日接上 Telegram,當時只是「第三個平台」,後來 Discord 和 Line 都封存了,只剩它。選它的理由很實際:

  • long polling,不需要公開網址,放在家裡的 Mac 上就能跑。
  • 原生指令選單:打 / 就跳出指令清單。
  • 論壇主題(Topics):回覆落回你發問的那個主題,不會掉到 General。
  • 引用回覆:你回覆某則訊息時,被引用的內容會當成這一輪的脈絡一起交給她。

持倉智慧:引擎算數字,她講人話

這一段最重要的設計是分工。數字一律由純 Python 引擎算,她只負責解讀:

指令做什麼
/risk集中度風險:單一標的、前幾大持股佔比
/movement波動、相關性、beta
/pnl損益歸因:誰在賺、誰在拖累,已實現與未實現分開
/rebalance再平衡建議:超標的修正、引導加碼方向
/sector產業曝險:「以為買了五檔很分散,其實七成壓在半導體」
/dca定期定額:每月提醒、回報後自動更新持倉、追蹤紀律

為什麼要這樣分?因為 LLM 算數會錯,而且錯得很有自信。讓程式負責「對」,讓她負責「好懂」。

她會主動來找你

  • 早晚報:每天早晚私訊持倉和自選股快照,加上她的解讀。
  • 大盤大跌安撫:SPY 或 QQQ 當日跌超過 3%,她會在美股盤中主動私訊你,先安撫、再陪你看下一步。
  • 財報日提醒:持股公布財報的前一天先提醒,免得被當天的大波動嚇到亂做決定。
  • 技術面警報:除了價格門檻,還有 RSI 超買超賣、20/50 日均線黃金交叉與死亡交叉。
  • 投資家教 /teach:陪你讀美股財報,把概念存成 wiki 複習筆記。

模型分層省成本

不是每件事都需要最強的模型。主腦從 Opus 換成 Sonnet,日常故事和選書下放給 Haiku。

順手撞到一個坑:Haiku 不支援 adaptive thinking,一律送同樣參數會直接 400。所以 run_agent 要依模型決定帶不帶思考參數。

這段的坑

  • 警報一直重複推播:條件成立時每次檢查都推一次。改成 edge-trigger:只在「從不成立變成成立」的那一刻推,回到不成立後才重新武裝,再加上防抖。
  • 均線交叉警報永遠不觸發(後來才發現):資料源偶爾會給一根 NaN 的 K 線。程式裡有「值是 None 就跳過」的保險,但 NaN 不是 None,直接繞過保險,讓之後的比較永遠是 False。同一個 bug 在兩份 RSI 實作裡還有兩種不同的下場。
  • master 受保護:第一次發版才發現不能本機直推,要開 PR 再 merge。從此發版流程固定為:release 分支 → PR → merge → tag → GitHub Release → 回灌 dev。

下一篇:她從雲端搬回家,長出耳朵、嘴巴和臉。