春假養龍蝦記

這個春假大部分的時間都在下雨,下雨天很適合玩龍蝦。首先,我設定好 Google 應用,讓龍蝦自己寫一篇文章發表到部落格 。不是這篇啊,我給了它獨立的網誌 [1] ,唯一的指示就是看著 memory 寫 ,然後寄到我的信箱給我審核。我說可以了,它就用自己的帳號 email to post 發表。

我想說寫文章這麼容易,乾脆叫它以後加圖片,才不會太單調。結果一測試就成功。它可以寫得圖文並茂,只差沒有好主題。另外它在機器人社群 Moltbook 中也是混得不錯;到了這裡,我的企圖心就變大了,想做來做個機器人 Youtuber 吧! 然後悲劇就此發生了。

首先龍蝦說它不會做影片,然後我就找到 comfyUI 這個可以跑本地模型以圖生視頻的軟體。按照網站上講的,按部就班地做,然後就看到下面這個 (不小心按到 “子 graph")。天啊! 這是要有多專業才搞得定?於是我把這件事交給龍蝦,請它幫我處理。龍蝦說它可以給我步驟,但是 ComfyUI 是 Windows 軟體,它在 virtual machine,它得借我的手。

不幸中之大幸是:龍蝦的步驟是正確的,所以我搞定了圖生視頻。大不幸的部分是 LTX-2.3 的效果距離 SeeDance 2.0 差太遠了,雖然視頻做得還行,但是對於文字的理解能力非常堪慮。而且視頻根本沒有善用第一幀提示,竟然是生出完全不同的第二幀。因此我只能等模型變得更進步了。雖然龍蝦還很熱心地分鏡 17 場叫我 review,我只做出第一場就放棄了。

另一方面,龍蝦關在 virtual box 雖然安全,但是它完全碰不到 GPU 也是個問題。因此我又花了半天時間,把它轉移到 Windows WSL。重灌只是其中的一小部份工作,重點是 cron task、memory、crendential 這些沒有上 git hub 備份 (不適合放上去) 的東西,要用另外一套機制來還原。搬完家後,我先點名 agents 有沒有到齊?嗯?真的遍插茱萸少一人,我的 HR Bot 因為沒有自己的 memory ,搬家後大家都不記得它了 (龍蝦只會看最近兩天的記憶)。

接下來就是 GPU 戰力大考驗。我有一張 RTX3090 12GB,它能跑的模型弱到讓人有點挫折。不過,我還有一張 RTX4090 24GB 可以折騰自己。故事是這樣的,有些 Model 是 MOE (Mixture of Experts),所以雖然看著參數多,其實 run-time 會有專家交換,或許 30 腰也塞得下 24 吋的牛仔褲。那我當然得跨界試一試…

結果就是自己做死不能怨別人, 小 model gemma4-E4B 只要 9.6GB,但是沒把 VRAM 用滿時,我覺得虧。大 model 像是 gemma4:31b、 mirage335/Nemotron-3-Nano-30B-A3B-virtuoso 都是勉強能塞進去,但是一聊天就掛了。最後無奈叫 AI 自己推薦一個,它說 Gemma4:26b 好,我正在試 [2]。

Model上下文輸入Note
gemma4:31b262Ktext剛好滿、會當機
gemma4:E4B131Ktext塞不滿、不甘心
glm-4.7-flash128Ktext很弱
mirage335/Nemotron-3-Nano-30B-A3B-virtuoso1Mtext剛好滿、會當機
黃仁勳力推
MiniMax-M2.7204Ktext+image雲端、要花錢

或曰,還有沒有 RTX5090 呢?其實我真的有訂 Apple Studio 512GB 當作終極武器,不過刷卡後,它拖了一兩個月才請款,我原本以為買現貨,變成買期貨。導致我雖然刷卡額度夠,但是分期額度不夠,還差 3 萬多,單子就這樣被 “斷頭"了。幸好 M3 本來就是比較弱的 IC,本來也不是首選,既然這次無緣,就讓我們等年中的 M5 出來吧! 這題已經叫龍蝦幫我追蹤新聞了。

畢竟龍蝦有很多地方值得玩,可以持續實現大家各種以前不敢想的 idea。像是可以利用做夢的時候整理長期記憶,這個對聊天機器人來說,根本是不存在的概念。當然龍蝦可以擬人化的地方還不只是這樣,等我想清楚我要去申請專利,哈!

話說回來,搞了半天龍蝦有做什麼正事嗎?它目前主要是提醒我一些事情,包括 to do 事項、提醒要交錢、有配息之類。我想,除非等那個 Youtuber 機器人做出來,不然相關投資大概都是負報酬、負資產。畢竟要做正事的話,還有很多別的專業工具可以用。像是 Claude code + MCP 辦公就很方便,用龍蝦反而好處不大。

舉例來說,如果要統計全 BG 解 bug 的狀況,在 3 年前那會是個浩大的工程,想到就無力。但現在只要打開 claude code,交代完工作,看到有 (1) Yes (2) No 時都按 1,有 (1) Yes (2) Yes and 從此以後都這樣按 和 (3) No 時, 一定按 2。就這樣 1、2、1、2… 往下走,只要別不小心按到 esc = cancel 跳出來就搞定了。

更別說,事情只要做過一次還可以變得更無腦,"把剛剛做的事寫成 skill.",這樣立馬就又從 prompt 工程師晉身為 slash 工程師。假設看到兩次跑出來數據差很多,那也不用想了、直接叫 AI 分析。1、2、1、2 就可以得知 – 喔,原來是統計的時間區間不同!2018 年以前就是那樣。當然 AI Coding 應該還可以有更無恥的 mode,我 harness 的功力也還大大有待提升就是了。

[REF]

  1. 打通 Gmail 與 Google Calendar:Farah 團隊的艱辛之路
  2. 撐到極限

2026 年 Q1 投資回顧

61 歲生日前後,剛好是美以伊打得最激烈的階段,害得我才上攻新里程碑才沒幾天,就差點一路跌破去年底的數字。好在不只是我要寫每季回顧、川普投顧也要交季報做帳,所以 3/31 美股收了大漲,算是 “雙贏" (?)。

先講結論,Q1 的投資總值比 25 年年底增加 2.19%,其中美元匯率上漲 2.09%,連日幣匯率都上漲 1.26%。換言之,本人在 Q1 其實毫無長進,說是 “一季回到解放前" 也不為過。那麼我在這一季做了什麼 “虛功" 呢?

最大的改變是我把部分 QQQ 換成了 QQQm。這兩家的投資標的都一樣是納斯達克 100 指數,只是 QQQm 作為後起之秀 (2020 年 vs 1999 年),管理費用 0.15% 比 QQQ 的 0.2% 低了一點,對長期投資人更為友善。然而,這個換手的動作只能在 Firstrade 做,因為它不收交易手續費,也不需要匯回台灣變成海外所得,只要當沖就可以了。趁著股價下跌,先賣後買就變得容易,中間甚至能賺一點點。

第二個改變是賣出部分 PFF。我不知道和市場缺錢、私募基金最近限制贖回是否有關 [1],總之先記錄一下。在 PFF 最近 3 次的配息中,1 月和 3 月的配息特別低,從大約 0.17 降到 0.065 和 0.031,這對追求收益來源穩定的我有點難以接受。因此我把部分 PFF 賣掉,轉到觀望一段時間的 JEPQ,以確保所得替代率。如果 4 月配息還是不好,那就只好出清了。

  • 全名:JPMorgan Nasdaq Equity Premium Income ETF
  • 代號:JEPQ
  • 發行公司:J.P. Morgan(摩根大通)
  • 上市時間:2022 年
  • 追蹤標的性質:偏重 Nasdaq 成長股 + 選擇權覆蓋收入策略

JEPQ 主要投資成長股,但是也對 Nasdaq 相關指數或 ETF 賣出買權 (Covered Calls),所以也能配息。缺點是 QQQ 大漲的話,因為上漲利益已經先賣掉了,就享受不到大漲的好處。考慮到 Nasdaq 100 已經佔我資產的一半了,把美好的未來讓利給別人,預先拿現金也是可以接受的。

改變二:同樣是考慮到 Nasdaq 100 (QQQ / QQQm) 和 S&P 500 (SPY) 佔比太大,所以我新開啟 VXUS 的定期定額投資,多投資一點歐洲和日本、甚至是中國。由於這才剛剛開始,它和其他幾筆微小投資一樣小到在圓餅圖沒標籤。

  • 全名:Vanguard Total International Stock ETF
  • 代號VXUS
  • 發行公司:Vanguard(先鋒)
  • 類型國際股票型 ETF(不含美股)
  • 指數性質:被動式,追蹤
    • FTSE Global All Cap ex US Index
    • 意思是:全球股票,扣掉美國

第三個改變是,按照原定計畫,在可口可樂 (KO) 年初創新高時,我把它賣光了。其他持股基本上都是維持 buy and hold。美以伊戰爭導致 QQQ 下跌一成我沒跑、SHEL 大漲 26% 我也沒加碼。因為我並不追求最大利益,只希望投資標的有未來性、並且配息能夠提供我比較舒適的日常生活開銷。至於為何我沒有抄底 QQQ?主要是我的錢都在上述轉換中用光了,只留下保底、繳稅和換車的錢 ,我可不想舊車再戰 10 年啊 ^^

底下附上圓餅圖,沒有標籤的分別是另外一隻美債、SGOV (0~3 個月美債)、VXUS、敝螃蟹公司半買半相送、乾脆湊一湊的 2379。

[REF]

  1. 2026年初私募信貸市場因流動性緊張爆發限制贖回潮。貝萊德、阿波羅(Apollo)、黑石等巨頭因投資人申請贖回量超標,限制季度贖回額在5%左右,此舉旨在避免賤賣資產,但引發對私募信貸透明度與風險的擔憂,被喻為「金融完美風暴」前兆。

龍蝦寫信小筆記

我請龍蝦幫我摘要 arxiv 的論文,然後寄給我。但龍蝦說它不會寫信,還想出一堆替代方案 – 這簡直就是不負責任。剛才好不容易教會它,因此我也要趕在記憶揮發前,做個筆記把過程寫下來。

幫龍蝦增加收發 mail 的能力。看攻略應該是在 config 設定就可以了,但我在 Ubuntu 上顯然沒那麼簡單。

[階段 0 – 申請帳號]

首先登出自己的 google account,幫龍蝦申請一個 “個蝦" 帳號。像是 Claw123XYZ@gmail.com.

[階段 1 – 編 gog]

    安裝 Go 語言環境 (如果尚未安裝) ,gogcli 需要用 Go 來編譯。在 Ubuntu 上執行:

    udo apt update
    sudo apt install golang

    下載並編譯 gogcli 依照您提供的指令,將原始碼抓下來並編譯

    git clone https://github.com/steipete/gogcli.git
    cd gogcli
    make

    然而,此時應該編不過。我裝好龍蝦 2026.3.13 版本時,系統預設 tidy 是 1.23。所以我試著更新 go 到最新的 1.25.8 和 1.26.1,結果都沒用。問了 AI 可以退版,所以我到 gogcli 下面,找到 go.mod. 用 editor (e.g. vi) 手動 hack.

    // go 1.25.8
    go 1.18

    重新 make 後, 雖然多跑了一點,還是 build error。 我變成在 1.18、1.23、1.25.8、1.26.1 四個版本中掙扎了。總之,我的解法是來回改,最後確認版本和位置,統一到最新版。

    go version // 最後是 1.26.1
    which go // 把正確的 go 加到 PATH

    此時還會看到最後一次error,但是可以用 mod 搞定。

    go mod tidy
    make

    產生 gog 之後,才能對 gmail 做 auth。這完全是另外一件工作。

    [階段 2 – 申請憑證]

    • 前往 Google Cloud Console
    • 登入龍蝦本蝦的 google 帳號。
    • 點擊左上角建立一個新專案 (New Project),名稱可自訂。
    • 在左側選單進入 「API 和服務」 > 「程式庫」,搜尋 Gmail API 並點擊「啟用 (Enable)」。
    • 進入 「API 和服務」 > 「OAuth 同意畫面」,選擇「外部」,隨便填寫必填的應用程式名稱與龍蝦的電子郵件,然後儲存。(其實「內部」根本不能選。)
    • 進入 「API 和服務」 > 「憑證」
      • 點擊上方「建立憑證」 > 「OAuth 用戶端 ID」。
      • 應用程式類型選擇 「網頁應用程式 」
      • 點擊建立後,從下方的紅色圈起來的地方下載 JSON 檔案
    • 將這個名字很長的 JSON 檔案重新命名為 client_secret.json,並移到好保管的目錄下。接著認證這個憑證
    gog auth credentials ~/Downloads/client_secret.json
    • 對 email 加上這個憑證。
    gog auth add Claw123XYZ@gmail.com
    • 因為我把 APP 登記為網頁應用程式,所以 auth 的時候,忽然自動開了一個網頁。原來是我忘記先 enable Gmail API,但這時做都還來得及。後續再把這個email 設為預設帳號。
    export GOG_ACCOUNT=Claw123XYZ@gmail.com
    • 測試信箱是否建立? 看到收件夾這些都在,表示沒問題。
    gog gmail labels list
    • 發個信給別人
    gog gmail send --to="Claw456@gmail.com" --subject="蝦一跳" --body="我是龍蝦。"

    收到信了,表示 account 大功告成。

    古風 Manifold 小筆記

    文天祥的正氣歌 [1] 說:"天地有正氣,雜然賦流形。" 這個 “流形" 就是 Manifold 的中文翻譯。後兩句 “下則為河嶽" 就是說一般人站在地球上,還以為地球是平的,"上則為日星" 就是抬頭一看,感到世界大到甚至不只是 3D。

    正經地說,流形是一個局部看起來像歐幾里得空間(平坦的空間),但整體結構可能非常複雜且彎曲的拓樸空間。一張 1024×1024 的彩色照片,在數學上是一個高達 300 萬維度的空間,但「有意義的貓狗照片」只佔據這個 300 萬維空間裡一個極小的低維流形,不是每個空間中的值都有特殊意義。這種群聚就像是太陽系裡面的星球彼此靠得很"近",若是出了太陽系,宇宙就顯得很稀疏,直到遇到其他星系。

    對 AI 來說,世界模型充滿雜訊且計算量太大。模型會透過編碼器(Encoder),將高維的觀測數據「壓縮」並映射到一個低維度的潛在空間(Latent Space) 中。這個潛在空間本質上就是在捕捉數據所在的流形。一旦 AI 掌握了這個低維流形的潛在空間,它就能在這個平滑、連續的流形上做計算。這也可以解釋 transformer – encoder、decoder 為何會有用。

    當初 DeepSeek 出來的時候,也用上了 latent space 壓縮的技術。我當時想,做完這個 lossy 的壓縮,雖然節省計算量,但是資訊丟掉就回不來了啊!? 因為那個 monent 我還沒有流形的觀念;如果有,我就不用緊張了。

    在數學上,流形不一定可以微分。但是要訓練 AI ,就要計算梯度。因此我們只能假設它可以被微分,也就是要假裝它更平坦一點。因此就算真實的流形不可微,我們也得製造出一個可微分的流形。所謂 “人心惟危,道心惟微" [2],人類明明知道會有危險的奇點 (Singularity),但是演算法只能讓它可微分。以目前 AI 強大的戰力來看,這個有意的忽略,似乎影響不大。

    [REF]

    1. 正氣歌
    2. 十六字心傳

    養龍蝦的小筆記

    龍蝦 OpenClaw 最近很紅,安裝龍蝦後, 有幾個特別的小心得可以分享。像是龍蝦會燒 token 這種事,大家都知道就跳過。我裝的是 Intel X86 和 ARM 的 Ubuntu。

    1. 賜名 – 我把它取名為螃蟹, 不管是 AICrab、MyCrab,它都會把圖示改成螃蟹。也就是說它在乎自己的名字,而且理解其意義。

    2. 重新安裝

    如果出了大錯, 想要重新安裝的話:光是砍掉 ~.openclaw 目錄還不夠,因為有些東西放在 /usr/bin/.nvm、 /usr/bin/nodejs 下面。如果沒有斬草除根。就算重新安裝還是會記住一些錯誤的設定。此時就算叫出 doctor 也修不好。

    openclaw doctor --fix // 看醫生也治不好

    [Note] 安裝 nemoclaw 時, 還要順便清掉

    sudo apt-get remove -y nodejs
    sudo apt-get autoremove -y
    rm -f ~/.npmrc

    3. Telegram 設定好,龍蝦和 Telegram 串不起來。網路文章通常會少寫一步 pairing. XXX 就是一個短的 telegram paring token。

    openclaw pairing approve telegram XXXXXX

    4. 搞爛掉之後,會遇到 gateway 連不上。

    主要是 gateway token 出錯。就算用 openclaw config 重新設定成只看 password,它還是說 gateway API 錯,要去 UI 改。但是 UI 點進去啥都沒有,這條路子我修不好,最後選擇重灌。

    openclaw config // 看起來都對,跑起來不對

    5. Clawhub 安裝了還是找不到。這是因為 gloabl 安裝也不會自動加到路徑。

    npm install -g clawhub // 以為必成功
    npm list -g --depth=0 | grep clawhub // 什麼都撈不到
    npm list -g clawhub // 看看它裝到哪裡去了?
    echo $PATH // 果然沒有
    NPM_GLOBAL_BIN=$(npm bin -g) // 找出來
    echo "export PATH=\$NPM_GLOBAL_BIN:\$PATH\" >> ~/.bashrc // 加進去
    source ~/.bashrc // 重新執行

    6. 一把 key 不宜養太多隻龍蝦

    本來在 X86 還用得好好的,後來想試試看 ARM 的版本時,因為接到 LLM Oauth 的 toekn 都用同一個吧?! 結果兩隻龍蝦都掛了,靜置一晚後復活,不敢再同時養。

    API rate limit reached. Plase try again later.

    整體來說,養龍蝦還是滿好玩的。最後用一點篇幅歪樓到 skill。龍蝦其中一個厲害的地方是 skill [1]。Skill 主要是 prompt、又帶 metadata (簡短自述)、和可選用的 code,跟 MCP 的 prompt (可選)、metadata (資料)、加 tools 算是有異曲同工之妙。

    以我的認知,原本 MCP 的特色是好好描述目標、但在執行手段上保留彈性,好處是使用者可以對背後的操作一無所知。而 Claude Code / 龍蝦正面表列 skill,等於是把手段也大致講了,此時歪樓的機會更低。相對地、這個場景對使用者的知識水準要求更高,但 openClaw 的使用者正是龍蝦本人,這個門檻問題自然就不存在了 – 只需要擔心它拆家…就好?!

    [後記]

    我發現寄養家庭 (伺服器代管) 好像不能讓我免費嵌入 Youtube 影片,所以我做了一點調整。並補充一段內容。

    Skill 與 Tools

    我覺得現在人勝過 AI 的地方,主要是知識更新的速度。我問 AI Tools 和 Skills 有什麼差別的話,有的 AI 會說這是類似的東西,只是各家命名不同 (Claude 4.6 Sonnet 2026/3/5)。但如果你信了,就沒有機會聽到另外一個解釋 (文皓 blog 2026-02-05)[2]。

    Tools 可以想像為食材,Skill 可以想像為烹飪技巧、食譜。所以我們有時候會聽到 Agent Skill 這種說法,因為 Agent 確實可以實現 Skill,但是沒有人說 Agent tools。

    [REF]

    1. 程序員老王 – 10分钟弄懂 什么是大模型Skill
    2. https://yu-wenhao.com/zh-TW/blog/openclaw-tools-skills-tutorial/