大多數人仍把本地 AI 當作奢侈品。
他們購買一台 $3,000 的 NVIDIA DGX Spark,或堆疊 $800 的 Mac Mini,假設自主智慧需要龐大、集中式的硬體。

但那些實際大規模部署實體 AI 的工程師,正在建造更便宜的東西:一個分散式群體。
- 一塊 $8 的晶片負責聆聽房間。
- 另一塊 $8 的晶片在本地處理意圖。
- 一個確定性腳本去除背景噪音。
- 第三塊晶片執行藍牙指令。
- 整個網路運作所需的電力,只相當於一顆 LED。
這就是實體群體架構。
在你繼續閱讀之前:
將這本指南加入書籤,這樣當你的零件到貨時,就可以回頭查看最後的建置說明。另外,追蹤
@ardchain ——我會深入解析自主 Agent、本地 AI 管線,以及能將程式碼和廉價硬體轉化為可規模化自動化生意的系統。
(備註:我在本文最後面附上了完整、逐步的硬體與燒錄手冊。但在你開始訂購零件之前,你需要先了解這個架構實際上是如何運作的。)
我花了數週時間拆解 slvDev/esp32-ai GitHub 倉庫 以及實際的 IoT 模式,將本地智慧重建為一本實用的操作手冊。
與其購買一個龐大的集中式大腦,不如將智慧分散到環境中:
聆聽 → 解析 → 路由 → 執行

每個微控制器都是一個節點,負責明確的工作。每塊晶片搭載特定的模型。離線推理決定哪個動作被執行。重要的轉變在於,你的智慧家庭不再需要透過昂貴的 API 或嘈雜的工作站來路由每一個語音指令。
它可以在 $8 的 ESP32-S3 晶片上,完全離線執行一個 2890 萬參數的 LLM,完全不消耗雲端頻寬。
基本的模式並不新鮮。硬體工程師已經使用微控制器、I2S 匯流排和 BLE 網狀網路數十年。改變的是每個節點內部現在搭載的內容。一個節點可以處理自然語言、解析混亂的語音指令、將其映射到嚴格的 API,或將感測器資料合成為一個決策。
這本指南將整個系統從硬體瓶頸、記憶體映射、I2S 語音擷取、BLE 執行,一直到直接在晶片上產生的動態群體,一一拆解。
讀完之後,你將能夠看著一個實體任務,不再問:
「我該呼叫哪個 API?」
1. 實體 AI 始於記憶體瓶頸
硬體行銷經常被包裝成購買更多 VRAM 的理由。但這種框架忽略了真正的工程突破。
你可以買一張 RTX 5090 來執行一個 70B 模型,只為了開燈,然後你會為此付出熱能、電費和龐大的硬體帳單。一個有用的節點會控制記憶體儲存在哪裡、哪個元件負責哪個決策,以及資料如何在晶片中移動。
想像一下,讓一個 $8 的 ESP32-S3 微控制器執行一個語言模型。傳統觀念認為它會失敗。這顆晶片只有 512KB 的高速 SRAM 和 16MB 的快閃記憶體。模型裝不下。在標準框架下,這變成一個不可能的任務。光是嵌入表就會壓垮工作記憶體。
群體工程打開了這個瓶頸,讓每個參數都有明確的位置。
突破在於架構。嵌入表的大部分(約 2500 萬個參數)直接記憶體映射到快閃記憶體中。活躍的工作記憶體則保留在高速 SRAM 中。

結果是,晶片每次推理只需要提取約 450 bytes 的資料。
一個節點應該只做一個決策
一個有用的實體節點有明確的責任範圍:
- 偵測喚醒詞。
- 將意圖分類為低、中、高信心度。
- 執行藍牙巨集。
每個節點需要清晰的輸入、定義的輸出,以及有限的硬體腳印。一台用於擷取語音、估算意圖、設計回應並發送訊號的中央 Mac Mini,包含了多個故障點。除錯仍然困難,因為整間房子都依賴於一台機器。
較小的實體邊界能精確指出是哪個感測器故障。
一個邊緣節點應該攜帶意圖
邊緣代表下一個實體動作所需的資料。語音節點可以回傳一個可預測的 JSON 物件:
1{2 "sensor": "mic-living-room",3 "confidence": 0.98,4 "intent": "打開Chrome 20個分頁",5 "execution_node": "ble-host-1"6}
綱要減少了晶片之間的解釋偏移。自由格式的音訊串流會迫使每個下游節點重新建構前一個節點的意義。
有些節點只是一般程式碼
工作流程需要去重複指令、去抖動訊號,以及將意圖映射到硬編碼的動作。這些操作有確定性的答案。
以下是執行迴圈在實際中的樣子。I2S 麥克風擷取語音,LLM 從快閃記憶體中解析意圖,C++ 程式碼觸發藍牙指令:
1// 1. 從映射的快閃記憶體初始化 28M 參數模型2LLM model = LLM_Init(FLASH_MAPPED_EMBEDDINGS);34void loop() {5 // 2. 透過 I2S 擷取環境音訊6 String audio = I2S_Record_Voice();78 if (Detect_Wake_Word(audio)) {9 // 3. 推理 (約 9.5 tokens/秒)10 String intent = model.generate(audio);1112 // 4. 確定性執行13 if (intent.indexOf("open_chrome") > -1) {14 BLE_Send_Macro(MAC_ADDRESS, CMD_OPEN_CHROME);15 }16 }17}
這個簡單的 C++ 轉換能立即處理工作流程,並在每次執行時產生相同的輸出。將同樣的任務交給另一個模型會增加延遲並產生故障點。模型節點應圍繞自然語言解析和模糊邏輯。程式碼則處理 BLE 執行、去抖動和明確的路由規則。
2. 群體:分散式節點如何移動工作
大多數嚴肅的實體 AI 圖表最終都會呈現相同的形狀。一個任務從環境開始,分散到幾個獨立的感測器,壓縮實體證據,然後將結果傳遞給最終的硬體執行。
這個形狀就是群體。
- 扇出: 環境擷取(I2S 麥克風)。
- 屏障: 離線 LLM(意圖解析)。
- 扇入: 實體動作(BLE 巨集)。
一旦任務變得過於複雜,無法用僵化的 if-this-then-that 規則處理,這個模式就會隨處出現。
擷取應產生獨立輸入
當一個感測器可以聆聽環境並產生有用的結果,而無需喚醒主腦時,它就屬於擷取階段。
一個 ESP32 可以幾乎零功耗地持續監聽喚醒詞。一旦觸發,協調就留在晶片內。晶片記錄語音、執行模型,並回傳驗證後的意圖。
先縮減再執行
擷取語音後,節點可能持有數個互相矛盾的解釋。直接將原始音訊傳送給執行層會造成混亂。縮減階段準備好指令。
部分縮減透過量化(4-bit 模型適合 16MB 快閃記憶體)完成。執行節點收到嚴格的指令,同時保持可追溯性。
3. 去中心化是架構的一部分
一個節點可以快速完成推理,但仍然觸發錯誤的動作。系統需要規則來決定哪些指令值得執行。
根據硬體限制路由
路由器讀取結構化輸出,並選擇下一個實體分支。這使昂貴的處理集中在有影響力的節點上。
讓硬體匹配節點
並非每個房間都需要 Apple M4 晶片。提取、基本意圖分類和狹義的語音搜尋可以在 $8 的 ESP32 上執行。重度視訊處理、複雜推理和全域合成可能需要更強大的中央伺服器。
硬體分層成為群體的另一個屬性。
知道何時停止集中化
圖形開銷包括協調、Wi-Fi 延遲、路由器配置,以及更多需要除錯的網路狀態。當你只有一張桌子時,一台中央 Mac Mini 通常就足夠了。
當環境有多個房間、昂貴的 API 成本、大量的感測器陣列,或需要完全離線隱私時,群體工程才會變得有用。
4. 完整建置說明
如果你不確切知道要焊接和燒錄什麼,理論就沒有用。如果你想在這個週末建置一個本地 AI 節點,這裡是未經修飾、逐步的技術指南。
步驟 1:硬體與接線
你只需要兩個元件:
- ESP32-S3 開發板(必須是 16MB 快閃記憶體和 8MB PSRAM 的版本,才能進行模型記憶體映射)。
- INMP441 I2S 麥克風模組。

這是實體 AI,所以你必須進行接線。INMP441 使用 I2S 匯流排。請按照以下方式焊接連接:
- VDD → 3.3V
- GND → GND
- L/R → GND(將麥克風拉至左聲道)
- WS → GPIO 4(字選擇 / 訊框同步)
- SCK → GPIO 5(序列時脈)
- SD → GPIO 6(序列資料)

步驟 2:模型與燒錄流程
你不是在載入 ChatGPT。你是在載入一個 2890 萬參數的蒸餾模型,專門為意圖分類和結構化 JSON 輸出最佳化。
你不需要與 ESP-IDF 工具鏈搏鬥。你可以直接使用 esptool.py 燒錄預編譯的二進位檔和模型權重。
- 將你的開發板置入 Bootloader 模式(按住 BOOT,按 RST,放開 BOOT)。
- 執行以下燒錄指令,將模型直接映射到 16MB 快閃記憶體分割區:
1esptool.py --chip esp32s3 --baud 921600 \2 --before default_reset --after hard_reset write_flash -z \3 --flash_mode dio --flash_freq 80m --flash_size 16MB \4 0x10000 build/firmware.bin \5 0x400000 models/intent_classifier_28M_q4.bin

步驟 3:接收端(Home Assistant)
燒錄完成後,ESP32 不需要 Wi-Fi 或雲端 API。當它偵測到意圖時,會廣播一個標準的 BTHome 相容 BLE 封包。
要捕捉這個訊號並實際打開你的燈:
- 執行 Home Assistant,並啟用藍牙整合(或使用 ESP32 BLE 代理)。
- 節點會自動以 BTHome 感測器的形式被發現。
- 意圖(例如 open_chrome, lights_off)會以感測器狀態變化的形式出現。將這個狀態直接映射到你現有的自動化中。
價值在於讓運算變得隱形。
每個節點都有有限的實體責任。每塊晶片都攜帶結構化的意圖。每個房間都有存在的理由。每個語音指令都保持離線。
此時,你的房子不再依賴昂貴的 API。
它正在執行一個經過設計的群體。





