54KB 的 Agent Runtime:SubZeroClaw 如何用 C 改寫 Edge AI 遊戲規則
每年咁多場 AI conference,你總會見到同一張 slide:一個複雜到離晒譜嘅架構圖,箭嘴由 Orchestrator 射出嚟插去 Memory Layer、Tool Registry、Plugin System、Vector Store,仲有啲虛線代表啲乜嘢 event bus 同 lifecycle hook。成件事好似規劃緊一個新機場咁宏大。但你有冇諗過,如果你只係想喺 Raspberry Pi 上面行一個 agent,每日幫你 check disk usage、睇住隻 sensor 溫度、或者自動 backup 某個 folder——你真係需要咁多嘢?
SubZeroClaw 俾嘅答案係:唔需要。一份 380 行嘅 C 程式,編譯出嚟 54KB 嘅 binary,行起上嚟食 2MB RAM,零 plugin、零 middleware、零 dependency injection、零 vector DB。得一個 loop:讀一個 Markdown 檔做 skill → call LLM → popen() 執行 shell command → loop back。就係咁簡單。而呢種毫不妥協嘅極簡設計,正正就係 edge AI 長久以嚟需要但一直冇人肯俾嘅嘢。
問題唔係 optimisation,而係 over-engineering
過去兩年 agent framework 嘅競爭,某程度上已經變咗一場「睇邊個包裝得更大件」嘅軍備競賽。我唔係針對某個 project——但當你見到一個做 agent loop 嘅 framework 要用 43 萬行 TypeScript、800 個 npm dependencies,你不得不問:呢 43 萬行入面,有幾多係為咗解決你嘅問題,有幾多係為咗解決 framework 自己制造出嚟嘅問題?
ZeroClaw 用 Rust 重寫成個 concept,縮到 15,000 行、100 個 crates,進步咗一個數量級,但本質上仍然係同一套思維——假設你最終需要一個 platform。呢個假設喺 SaaS 場景完全合理:你要 multi-tenancy、要 channel routing、要 identity portability,呢啲嘢的確需要用 abstraction 去管理。但 edge 場景係 completely different game:一部 device、一個 agent、一個 skill。冇 multi-tenancy,因為得一個 user。冇 channel routing,因為得一個 shell。冇 plugin registry,因為你要用嘅 tool——git、curl、ffmpeg、jq——已經裝咗喺你部機度。
SubZeroClaw 嘅作者做咗一個好 radical 但好聰明嘅決定:佢哋冇嘗試寫一個更 efficient 嘅 framework,而係退一步問:「如果個問題由始至終都唔需要 framework 嚟解決呢?」結果就係 380 行 C 嘅 runtime,你可以由頭到尾讀晒、理解晒、有信心改得郁。呢個唔係 black box,而係一件你可以完全掌握嘅工具。對比起 OpenClaw 嘅 43 萬行,SubZeroClaw 得 0.09% 嘅 codebase size——呢個唔係 incremental improvement,而係 paradigm shift。
Shell 就係最強嘅 integration layer
SubZeroClaw 嘅核心 insight 好簡單但好 deep:對於 edge agent 嚟講,shell 唔單止係 command execution environment,佢本身就係最強大而且最成熟嘅 integration layer。你部機裝咗 git?agent 即刻用得。有 curl?即係有 HTTP client。有 ffmpeg?即係有多媒體處理能力。有 himalaya 或者 mutt?即係有 email 功能。有 signal-cli?即係有 messaging。每一樣都唔需要寫 adapter、唔需要食 API SDK、唔需要處理 OAuth redirect flow。
模型直接 call git log --oneline -5、curl -s https://api.xyz.com/data、ffmpeg -i input.mp4 -vf scale=320:240 output.mp4——同你喺 terminal 打 command 一模一樣。SubZeroClaw 嘅唯一 tool 就係 shell,佢將 stdout 同 stderr merge 埋一齊返俾 LLM,然後 loop。冇 JSON schema validation、冇 tool definition registry、冇 retry logic——呢啲全部由 LLM 自己判斷。
呢個哲學嘅力量在於佢完全消除了「integration tax」。每一層 framework 擺喺 model 同 shell 之間,都係對 latency、memory、同 reliability 嘅直接損耗。對一部可能得 1GB RAM 嘅 Raspberry Pi 嚟講,2MB vs 80MB 嘅差距唔係數字遊戲,而係「用得」同「用唔到」嘅分別。SubZeroClaw 嘅 design 令你可以將更多 resource 留俾模型本身做 inference,而唔係嘥喺 runtime 嘅 overhead 上面。
冇 guardrails 係誠實,唔係不負責任
SubZeroClaw 嘅 README 第一句就係:「呢個 software 會執行任意 shell command,冇 safety check、冇 confirmation prompt、冇 sandbox、冇 guardrail。LLM 決定執行咩,runtime 就執行咩——rm -rf / 都照行。如果你唔明呢句嘢咩意思,唔好 use it。」呢種態度喺 enterprise 世界係自殺,但喺 edge 場景係對用戶嘅尊重。
你行 agent 嘅 device 係你自己嘅 Raspberry Pi、你自己嘅 VPS、你自己嘅 homelab——你信得過自己行嘅 model 同寫嘅 skill。SubZeroClaw 嘅 target audience 由始至終都係 developer,唔係俾你 embed 喺 product 度俾 end user 用嘅。佢哋需要嘅唔係 guardrails,而係效率同 transparency。Sandbox 呢件事——seccomp、bubblewrap、network namespace——全部係 OS-level 嘅 concern,夾硬塞入 runtime 只會制造虛假安全感。Config 入面有 sandbox_bwrap 同 sandbox_net 嘅 flag,俾你開,但 default 係 off。決定權俾返你,而唔係扮好人幫你決定。
對香港開發者嘅啓示
香港嘅開發者有一個共同命題:我哋人數少、資源有限,點樣喺呢場 AI 競賽入面搵到自己嘅位置?SubZeroClaw 嘅 story 俾到一個好具體嘅答案——唔好同大廠玩同一條賽道。OpenAI、Google、Meta 需要造 platform,因為佢哋嘅 business model 係 serve 幾千萬人。你只需要解決一個具體問題,而一個具體問題嘅答案通常好短。
如果你係獨立開發者或者細團隊,有幾點值得記住。第一,唔好假設你需要架構圖上面嘅全部 component。你嘅 agent runtime 可能真係只需要一個 loop。你嘅所謂「AI product」可能只係一個 shell script 加一個 API call。第二,用盡你系統已經有嘅嘢。SubZeroClaw 用 curl、用 popen()、用你部機裝好嘅 tool——佢完全冇 reinvent 任何 wheel。第三,edge computing 仲係好早期,呢個市場嘅 winner 通常唔係最 feature-rich 嗰個,而係喺 constraint 入面做到最多嘢嗰個。一個 54KB 嘅 agent runtime 就係最好嘅示範。
下次你見到一張複雜到嚇親人嘅 AI 架構圖,問自己一個問題:我真係需要咁多嘢?定係我只係需要一條 pipe,將 LLM 駁去 shell,然後收工?