我的 AI 助理差點炸了我的 iPhone:關於 openclaw 同步、衝突與治理的血淚教訓

閱讀偏好
我的 AI 助理差點炸了我的 iPhone:關於 openclaw 同步、衝突與治理的血淚教訓

前言:當自動化變成災難

最近身邊很多朋友,不管有沒有工程背景,都開始玩 OpenClaw ── 一種可以真正執行任務的 AI 代理(agent)。一開始我以為安裝與使用只是幾行程式碼的過程,但當整個系統延伸到三台設備(MBA、iMac、Oracle Cloud)時,我才發現:沒有治理的自動化,只在加速災難。

在系統建置的前幾天,我遭遇了 Google Drive 同步卡死,以及 Git 衝突高達 148,000 個檔案的慘況(苦笑)。那一刻我深刻體會到:一個沒有「憲法」的 AI 系統,就像一個沒有交通規則的城市,車子跑得越快,車禍就越慘烈。

因此,我想分享我的  Personal AI Operating Platform (PAIOP) 個人化 AI 應用平台治理想法。


1. 核心憲法:主權至上

我在系統中先定義了 AI 的權力邊界,我戲稱它為「憲法」(constitution.md)。這不是哲學,而是穩定性與安全性的基礎。:

原則一:主權至上
AI 僅為輔助。所有自動化流程必須受控、可中止。AI 不得擅自修改「正式記憶(Structured Memory)」。

原則二:角色分離 (Separation of Concerns)
權限應附著於角色,而非設備。這樣可在治理上保有彈性與清晰責任界線。

2. 三權分立的物理實踐

為了落實,我依照自己的使用習慣,將硬體資源劃分為三個邏輯節點,在儘量不額外花錢的前提下,形成了一個穩定可運作的三角架構:

節點角色設備 / IP職責與限制
Authoritative (大腦)MBA (M2)MacBook Air M2 是我平常的工作幾,也是唯一具備主動 Git Push 與修改憲法的權限。AI 負責陪我做策略制定與代碼開發。
Operational (肌肉)iMac 2019AI 清洗站。這是一台我女兒的老電腦,想說平常也沒在用,所以我設定他為運行 Qwen 2.5 7B 模型,負責吃進 PDF, DOC, PPT, EXCEL 等格式檔案,清洗後轉成 Markdown。無權寫入正式庫。
Sentinel (哨兵)Oracle CloudGhost Bot。這是免費的雲端主機,24 小時監控、執行 Crontab 爬蟲、市場情緒分析、自動同步與 Git 備份等。

3. 記憶的生命週期 (The Memory Pipeline)

為了避免 RAG(檢索增強生成)產生幻覺或不可靠內容,我將資料依處理階段分為五個層級:

  • 📥 Inbox/Drop: 原始資料進入點(如銀行對帳單 PDF)。
  • ⚙️ Processing: 由 iMac 進行清洗格式化,此階段由自動化腳本接管。
  • 📋 Staging (候選區): 產出 Markdown 草稿並定時通知我。我會介入審核的唯一關卡。
  • 📚 Structured (正式區): 經過審核的乾淨數據。這是 AI 唯一被允許引用的知識來源,確保準確率 99%。
  • 📦 Archive (冷資料): 處理完畢的原始檔,定期歸檔以保持系統輕量化。

這個架構確保了即使 AI 發瘋(例如模型更新後邏輯壞掉),它也只能破壞 Staging 區的草稿,而永遠無法汙染我相對依賴的長期記憶。

軟硬體:不花錢(?)的個人企業級架構

有了憲法,還是需要軟硬體搭派的基礎設施,很多人都在買 Mac mini,目前連蝦皮上的二手機都較半年前漲了上千元,也有人租用雲端伺服器,這相對可能便宜一些,不過我的重點在於如何榨乾家中現有資源的效能 XD。

所以我最後選擇讓 OpenClaw 利用舊 iMac 2019 與免費 Oracle Cloud 構建混合雲。

1. 混合雲與算力控制 (Hybrid Cloud Strategy)

Oracle Cloud:穿著防彈衣的哨兵

我使用 Oracle Free Tier 作為永遠在線的哨兵。其實類似的免費雲端服務,包括 AWS 和 Google 都有提供,不過有些有免費限期限制,或是效能不是那麼好,Oracle Cloud 的免費方案相對來說是比較好的選擇,有興趣的朋友可以參考 文皓寫的 OpenClaw 部署成本全攻略:$0-8/月打造你的私人 AI 助理,他寫的很清楚,我就不贅述這部分了。

不過因為我在這台上採用的 AI 模型 (Ollama/Qwen) 會佔 CPU 資源  實務上為了防止佔滿 CPU 導致系統不穩定、連線中斷,我在 systemd 層級設定了嚴格的限流,目前這樣運作和管理都還算順暢:

[Service]
CPUQuota=300%  # 限制最多使用 3 顆核心,保留 1 顆給系統通訊
MemoryLimit=20G # 防止記憶體溢出 (OOM)

iMac 2019:本地重型工廠

這台主要做的就是資料清洗這種相對精實的工作,資料整理等都可以靠 Python 等處理,AI 只有用在幫忙核對資料細節、加標籤等工作,目前主要是靠運行 Qwen 2.5 7B 模型。相較於 3B 模型,7B 在識別複雜稅務表格(如「股利及盈餘合併計稅」)時,有更好一點的表現。透過 Tailscale 內網穿透,iMac 變成了私有運算節點。

2. 神經網路:Tailscale 與 Syncthing

資料同步是多機架構的惡夢,剛開始我用的是 Google Drive 搭配 Git,但因為我檔案夾名稱改過、路徑改過、規則改過,導致同步出現大災難,Git 又將程式碼同步,最後當我手機上安裝了 Mobuis Sync 一起同步的時候,iPhone 本機就炸了,然後 Google Drive 同步也炸了 XD 。

後來決定放棄使用 Google Drive,全面改採「模組化排除規則」來解決 Git 與 Syncthing 的衝突:

  • .stignore_global:全域規範(由 Git 追蹤)。強制排除 venv/, .git/, *.log 等
  • .stignore_local:本地例外(Git 忽略)。允許每台機器有自己的小秘密(例如 iPhone 排除大型備份檔)。
  • Oracle 會定時執行 git 的備份與更新,確保可回朔性。

另外也採用了 Tailscale 來讓整個環境成為內網協作,這樣的好處是我在外地也可以安全的連上家裡的 iMac,也減少了一些 Oracle Cloud 的防火牆設定,讓整個網路環境更安全。

3. 開發環境:VSCodium 與 Google Antigravity 的協作

Gooele 的 Antigravity 真是個好東西,我現在都完全靠它來編寫程式碼與運作,但它的 AI 模型還是會有用量限制,所以我同時也裝了 VSCodium,依靠 Continue 外掛接上 ollama/qwen2.5-coder:3b,這樣可以在同一份代碼上工作而不打架,也不用花額外的錢升級 Antigravity,不過以聰明程度來說當然是差很多,不過至少可以做一點基本的協助。

🤝 人機交接流程 XD:

  1. 人工智慧 下班: 進行 Commit & Push。
  2. 等待綠燈: 確認 Syncthing 狀態為 “Up to Date”。
  3. 工人智慧 接手: 打開 VSCodium,執行 Git Pull
  4. 工人智慧 下班: 在 VSCodium 執行 Commit & Push,並在 Chat 中告知 Antigravity:「我更新了,怕我亂搞搞壞環境,請讀取 Git 並確認。」

審計概念:數位哨兵與自癒力

在多機協作的 AI 架構中,我現在覺得最令人擔心的不是 AI 不夠聰明,而是「系統當機了卻沒人知道」,任何環節的斷裂都可能導致資訊遺失。

1. 獨立審計代理人:Ghost Bot 的角色

  • 職責分離:確立了 Oracle Ghost Bot 作為獨立審計代理人的地位。
  • 全時運作:即便 MBA 離線或沒電,Oracle 的 Ghost 小組仍會持續依照《憲法》運作並準時回報。

2. 系統執行官:PM2 進程管理

為了確保這些機器人腳本不會因為終端機關閉或 Gateway 崩潰而失效(openclaw 還滿容易一位改了 config 檔案就掛了),我使用了 PM2 作為跨機器的進程管理工具。

  • 集中化管理:透過 PM2,可以統一查看所有節點的運行狀態、CPU 佔用與重啟次數。

  • 常用維護狀況

    • pm2 list:快速查看各節點 Bot 是否在線。
    • pm2 restart [name]:當腳本更新或出現連線衝突時進行重啟。
    • pm2 save:保存目前進程清單,確保機器重啟後自動恢復運行。

3. 看門狗:自動療傷機制

我部署了 system_watchdog.py 作為系統的守護者,它每小時基本會執行以下動作:

  • Bot 存活監控:自動偵測並透過 PM2 或系統指令重啟斷線的機器人。
  • 同步修復:自動偵測並修復 Syncthing IP,確保 P2P 同步鏈結不中斷。
  • 排除規則保護:自動還原缺失的 .stignore,防止碎檔案意外上傳。

實作:當理論遇上現實

規劃再完美,真正執行起來還是一堆 Bug,沒有別人的小龍蝦這麼聰明。

1. 帳單流水線清洗 (The Finance Pipeline)

我的想法很簡單,去 Gmail 檢查銀行寄來的對帳單,並自動下載回來後解密,再做資料辨識(PDF 轉換)與清洗(刪除裡面一堆廣告行銷或是警語等沒用的資料),然後通知我有新轉換好的檔案可以檢視,並轉入記憶區當作給 AI 分析的資料源。

我會做這件事的起因是原本這些 PDF 檔案,我都扔到 Google Notebooklm 分析使用,但常常發現會有漏資料的狀況,管理上也很麻煩,要自己手動做一堆事情,所以想透過自動化來處理。

當然這件事情其實完全不用 AI 也可以做,不過想試試加了 AI 是不是可以更聰明。

這個過程中,傳統 RAG 最大的痛點是「表格詛咒」—— PDF 轉文字後表格亂掉。在經過比對後,最後我採用「雙引擎清洗」設計:

🚀 Finance PDF Pipeline

  1. Drop: 自動抓取或 PDF 丟入 Inbox
  2. Engine 1 (pdfplumber): 針對標準表格,使用座標精確提取數據。
  3. Engine 2 (MarkItDown): 針對複雜或非標準文件,使用 Microsoft 的 MarkItDown 進行語意轉換。
  4. AI Tagging (Qwen 2.5): iMac 讀取檔名與內容,自動標記 #信用卡 #永豐銀行,並根據內容摘要。
  5. Review & Ingest: 我在 Staging 區確認後,自動歸檔至 Structured Memory。

2. 踩坑紀錄 (Troubleshooting Logs)

💀 殭屍程序殲滅戰 (The Zombie War)

有時候可能因為檔案比較多或複雜,AI 就將記憶體和 CPU 卡滿了,然後我又手賤的繼續下指令或是和 Telegram Bot 聊天,導致 Python 的程序在背景也進入了死結。

教訓: 在所有自動化腳本中還是必須加入 timeout 機制,並定期執行 system_watchdog.py 進行自我復原的基本功。

📂 路徑陷阱

腳本在 MBA 這邊執行都沒問題,但放在 iMac 或 Oracle 跑排程就失敗。原因其實也很簡單,因為環境變數路徑在一開始我沒有定義好,AI 在編寫的時候有時會搞錯三機的環境,現在也為每台機器設計了自己的身分證,確保不會搞錯。

📄 工具選擇的災難

我其實也不確定用哪個工具比較好,所以和 AI 討論後實作了很多不同的工具測試效果,但這些測試過程中,往往不小心又留下了不乾淨的環境,導致測試花更長的時間在找問題。
教訓: 更多依賴 git,並在三機當中各自定義好環境與變數等,不要讓 Syncthing 同步覆蓋,確保環境的獨立與完整性。

省 Token 小技巧:雲端大腦與在地肌肉的結合

在操作複雜的 AI 代理系統時,我常遇到兩個問題:免費額度用完 以及 Context Window(上下文窗口)不足。即便模型再聰明,一旦忘記了兩週前的系統變更紀錄,產出的代碼就可能與現有架構產生衝突,而老是挑選相對便宜的模型改來改去,也不適合我這個懶人。

所以我整理了自己的「雙層循環協作法」,將 Google NotebookLM 作為全知的大腦,並將 Antigravity (OpenClaw) 作為執行與討論指令的肌肉。

1. 第一層循環:雲端知識建模

我將所有系統地圖(SYSTEM_MAP.md)、憲法(constitution.md)以及每天累積的工作日誌(Journals/)等全部餵入 Google NotebookLM

  • 突破記憶上限:透過 Google Gemini 網頁版載入這個 NotebookLM 資料夾,Gemini 就能在超過 100 萬 Token 的超大窗口中檢索我過去幾個月的所有技術決策。
  • 全域架構規劃:在與網頁版 Gemini 討論新功能或修正 Bug 時,它能精確地指出「你在 2 月 9 日曾為了效能移動過路徑,所以現在的腳本應該…」。這讓雲端 AI 成為一個完全了解我系統現況的「資深架構師」。

2. 第二層循環:在地代理執行

在雲端討論出結論(例如一段精煉後的 Python 腳本或部署計畫)後,就可以讓 Antigravity 再接手。

  • 在地自動化:Antigravity 透過 OpenClaw 在我的 MBA 或 Oracle , iMac 上執行具體操作。
  • 地端模型協作:對於重複性高、邏輯較單純的執行任務,就用 Qwen 2.5:7B 地端模型。這不僅保證了隱私數據不外流,更達成了「零 Token 成本」的在地運算。

3. 為什麼這套技巧能節省大量 Token?

傳統做法是直接在 Bot 對話框中餵入所有文件,這會導致每次對話都可能重覆消耗數萬 Token。而「雙層循環」法:

  1. 髒活雲端化:大量的文件閱讀與雜亂的日誌分析由 Google 提供的長文本環境處理。
  2. 結論地端化:只傳輸「相關的規劃」回我的地端系統,避開了中間討論過程的 Token 浪費。
  3. 異地協作:將複雜或不用太聰明的工作(例如表格清洗任務)交給地端模型,完全不佔用付費 API 的額度。

結語:從自動化到自主化

目前已經從單純的「自動化腳本」進化為「多代理人系統」。整套運作起來,目前花費如下:

硬體 / 雲端環境:

Oracle Cloud Free Tier:免費,但我有綁信用卡,避免機器被重置就是了。

iMac 2019:老機器。

Macbook Air M2:原本的工作機。

Tailscale:基本個人使用免費。

Syncthing:完全免費。

AI 相關工具:

Ollama / qwen 地端模型:免費。但我主要只用 3B 做和 7B,再大的我電腦和雲端都跑不動。

VSCodium:免費。

Google AI Studio 和 Google Antigravity:我原本就有這個方案,所以每個月有免費的一點點額度可以使用,目前看起來搭配上一個章節的用法還算堪用。

Obsidian:免費。

Möbius Sync Pro:為了讓 iPhone 上可以透過 Syncthing 加入同步,這好像是目前唯一有付錢的地方(150元台幣)。

心得:沒有規範的自由不是真正的自由

這樣講可能很得罪人,而且我也知道目前我的這種規劃方式,無法發揮 Openclaw 的去中心化超能力,小龍蝦能自動進化的幅度緩慢有限,不是那種給它一些想法,它第二天就給你全世界那種用法 XD

我應該算是人機協作當中的保守派,知道世界可能會往這個方向前進,但還是希望在其中有我自己能參與的部分,不希望全部都被 AI 做好,而我只看到結果,卻不知道中間是怎麼規劃與執行。透過憲法式治理架構、清晰的責任分離與資料生命週期控制,我能把原本可能失控的系統,變成可管理、可審計、可恢復的 AI 平台。

另外我已經快六十歲了,腦力和反應都跟不上,常常在這些 AI 協作過程的錯誤當中滿挫折的,但我同時也很期待與興奮能夠學習這些,希望這篇文章能讓大家在自己的 AI 旅程中少走一些彎路。

⚠️ 安全與治理警示:OpenClaw 的本質與風險

OpenClaw 並非一般聊天機器人,它是一個能在本地運行、執行 shell、存取檔案、連結通訊工具的 AI agent,這種「自主執行本地任務」能力使它非常強大,但也帶來安全風險。

常見風險包括:

  • 社群技能包含惡意指令或惡意程式碼(類似套件惡意安裝)
  • 錯誤的權限可能導致敏感資料洩露(API 金鑰、憑證等)
  • 本地執行代理若暴露在網路上可能成為入侵入口
作者 Jacobmei:帶領街口支付對接國際巨頭 Apple,推動台灣金融科技國際化實踐。

← 回文章列表