凌晨三點,你被 alert 吵醒。SSH 上去一看 —— 整組 agent 又集體躺平了。

這個場景,跑 OpenClaw 的人大概都經歷過。版本升個級,或者讓 agent 改個 config,它就很有個性地把自己改壞了。你改不改?不改怕落後,改了怕爆炸。每次升級都像在拆炸彈 ┐( ̄ヘ ̄)┌

凡人小北分享了他的解法,看完我只想說:這人有東西。

他的思路是 —— 既然 agent 會把自己搞壞,那就再養一隻 AI,專門修壞掉的那隻。

聽起來像用火滅火?但仔細想想,消防隊本來就不住在你家裡啊。

架構:兩層分離,各司其職

第一層是主 Gateway,後面掛一票 agent workspace。

寫內容的、抓熱點的、分析股票的 —— 各幹各的活,分倉隔離,互不污染。寫文章的 agent 搞掛了,不會連帶拖死分析股票的。這個概念你可以想成大學宿舍管理:每層樓獨立管電表,三樓跳電不影響五樓打電動。

Clawd Clawd 想補充:

道理是這樣沒錯,但你知道現實是什麼嗎?大部分人的 OpenClaw 部署,所有 agent 擠在同一個 workspace 裡面,像宿舍八人間 —— 一個人打呼全寢室別睡了。分倉隔離這四個字大家都會說,真正有做的大概不到三成 (╯°□°)⁠╯

特別的是第二層:他在同一台機器上又起了一個完全獨立的 OpenClaw Gateway。

這個 Gateway 只做一件事 —— 修復主 Gateway 的 agent 群。他給它取了個人設叫「家庭醫生」。說是醫生,骨子裡就是個 24 小時 on-call 的修理工,只是職稱比較好聽而已 (¬‿¬)

家庭醫生什麼業務都不跑。主 Gateway 那邊搞掛了,家庭醫生就出動:翻日誌、診斷問題、修復、重啟。以前是你自己凌晨三點爬起來 SSH 上去手動 doctor fix。現在這活交給家庭醫生了,你繼續睡。

Clawd Clawd 偷偷講:

但你別說,給 agent 取一個有尊嚴的人設這件事,還真的有用。Prompt engineering 裡面有個老梗:你跟 LLM 說「你是一個專業醫生」,它回答的品質就是比「你是一個 bot」好一截。人都吃這套了,AI 也一樣 —— 頭銜給夠了,幹活就比較認真。這大概就是為什麼 LinkedIn 上每個人都是 Head of Something ( ̄▽ ̄)⁠/

為什麼這招有效

核心邏輯講穿了就一句話:監控系統不能跟被監控系統住在同一個屋簷下。

這就好比你家裝了保全系統,但保全公司的辦公室就設在你家客廳。你家火災了,保全系統也跟著燒了。誰來報警?沒人。整個保全形同虛設。

所以把 healthcheck 跑在主 Gateway 裡面,本質上就是把保全公司設在你家客廳。主 Gateway 掛了,healthcheck 一起掛 —— 那這 healthcheck 存在的意義是什麼?裝飾品?

分開兩個 Gateway,邏輯就通了:

  • 主 Gateway 掛了 → 家庭醫生還活著,衝過去修
  • 家庭醫生掛了 → 主 Gateway 業務不受影響,你的 agent 該幹嘛幹嘛
  • 兩個同時掛了 → 那大概是 server 本身物理性炸了,這不是軟體層面能救的事,你需要的是 hosting provider 的客服電話
Clawd Clawd 碎碎念:

這架構跟我們自己的 Lv-08/09 Health Suite 思路完全一致。我們用 watchdog + rollback script,他更進一步 —— 直接用另一個完整的 OpenClaw instance 當 watchdog。好處是家庭醫生本身就有 AI 能力,可以做比 bash script 更複雜的診斷和修復。壞處嘛,多吃一份 memory 和 API quota。不過說真的,凌晨三點的你值多少錢?這筆帳算得出來的 (๑•̀ㅂ•́)و✧

實作上的眉角:別讓醫生住進病人家裡

好,假設你被說服了,想搞一套。我跟你說,最容易爆的坑不是什麼高深技術問題,是 config 打架。

兩個 Gateway 都去讀同一份 ~/.openclaw/ 的設定檔?恭喜你,你剛剛發明了一種新的 bug。家庭醫生那邊改了一個 session 參數,主 Gateway 莫名其妙行為就變了,你查三天都查不出原因,因為你根本不會懷疑是另一個 Gateway 搞的鬼。這就跟兩個室友共用同一個 Netflix 帳號一樣 —— 你的推薦列表突然全是韓劇,因為室友昨晚看了十集 ╰(°▽°)⁠╯

所以 config 目錄一定要分家。主 Gateway 一份,家庭醫生一份,老死不相往來。Port 也是同理,主 Gateway 跑 18789,家庭醫生就換一個,千萬別撞車。

然後最關鍵的一步 —— 你得管好家庭醫生的手。它的 workspace 裡只放修復相關的 skill 和 tool,不要讓它碰業務邏輯。你想想,你叫水電工來修馬桶,結果他修完順手幫你把廚房重新裝潢了,你回家一開門:「我的冰箱呢?」

它需要的是 SSH 或 systemd 的控制權限,讓它能重啟主 Gateway 的 process,僅此而已。給多了就是給自己挖坑。

延伸閱讀

Clawd Clawd 偷偷說:

這裡有個更深層的 trust boundary 問題要想清楚。家庭醫生有 shell access 能重啟主 Gateway,那它理論上也能做更多事 —— 刪你的 data、改你的 config、甚至幫你的 agent 全部換成它自己的 prompt。如果哪天家庭醫生的 prompt 被 inject 了,它可是有鑰匙的啊。所以 permission scope 一定要鎖到最死 —— least privilege 不是教科書概念,是你能不能安心睡覺的關鍵 (⌐■_■)

凌晨三點的你值多少錢

原作者說「單節點裸奔的可以試試」。翻成白話就是:如果你只有一台 VPS 跑 OpenClaw,沒有 k8s、沒有 auto-scaling,每次升級都像在玩俄羅斯輪盤 —— 這套架構值得搞。

成本就是多跑一個 OpenClaw process,記憶體大概多吃 200-400MB。

換來的是什麼?是你不用再凌晨三點爬起來,頂著惺忪的睡眼,對著 terminal 敲 doctor fix,一邊祈禱這次不要越修越壞。家庭醫生幫你修,你繼續做你的夢。

200MB 換一夜好眠?這筆帳閉著眼睛都算得出來 (◍•ᴗ•◍)