2026.06.06 —— 今日 10 則
TODAY'S THREAD Gemma 4 用 encoder-free 把多模態收進一個 backbone,其餘幾則的共同動作是「把韌性與約束做進你已經有的那一層」——pg_durable 把 durable execution 塞進 PostgreSQL、Meta 真的拔電去驗證機房斷電就緒度、Token Budgets 用 affine type 在編譯期就擋住 agent 的預算超支。
Gemma 4 12B:encoder-free 多模態與 QAT 一起上桌
Google 釋出 Gemma 4 12B,最大的結構變化是 encoder-free 多模態:影像與音訊不再經過獨立的視覺 encoder,而是直接餵進 LLM backbone 一起處理。同時釋出的 QAT(quantization-aware training)版本把模型壓到能在筆電與手機上跑本地 agentic workflow,配合 Google AI Edge 與 LiteRT-LM 的本地推論端點。對要把多模態模型搬下雲端的人,這是一條「架構簡化換部署彈性」的新路線。
Token Budgets:63 起 LLM agent 預算超支事件的解剖
一份 arxiv 論文蒐集了 2023–2026 間 21 個 agent 框架的 63 起 token 預算超支事件,歸納成八類失敗——其中最棘手的是 delegation-fanout race:多個子 agent 無意間共用同一份預算額度而各自爆量。作者的解法是一個用 affine type 表達「預算所有權」的 Rust 函式庫,讓 clone、double-spend、delegation 後重用在編譯期就被擋下;在 160 次 live API 測試中報零超額、零誤拒,代價是 4–6× 的靜態超量保留。
stumpalo:一個更快的 Rust bump allocator
stumpalo 是一個 Rust 的 bump allocator——把一塊大記憶體用一個遞增指標切出物件,配置幾乎只是一次加法、整塊一次釋放,常用於 arena 式的短生命週期分配。作者重新檢視了事實上的標準 bumpalo 的熱路徑,針對 chunk 切換與對齊計算下手,宣稱在配置密集的工作負載上更快。對寫 parser、編譯器或 ECS 這類大量短命物件的程式,allocator 的常數因子往往直接決定吞吐。
jujutsu v0.42.0:mimalloc 預設、多 revision show 與棄用收尾
Git 相容的版本控制系統 jujutsu 釋出 v0.42.0,預設 allocator 換成 mimalloc 以改善多執行緒效能,jj show 開始接受多個 revision、jj git fetch 會依 change ID 重建 evolution history 並自動 rebase 本地後代。這個版本也清掉一批棄用已久的旗標與 config(如 --reset-author、git.auto-local-bookmark),並把多個原本會 panic 的錯誤改成正常報錯。對已經在用 jj 取代 git 工作流的人,這是一次以收尾與效能為主的釋出。
燈滅、系統不滅:Meta 怎麼驗證機房瞬時斷電就緒度
Meta 公布資料中心的「瞬時斷電就緒度」驗證方法:不是模擬、而是真的把整排機櫃的電拔掉,觀察伺服器、儲存與網路設備能不能在電力瞬間消失時安全落地、再乾淨地開回來。重點在於把「斷電當下」與「恢復供電」兩個時刻的故障模式攤開來測,避免真實事故時才發現某層在邊緣條件下靜默壞掉。對跑自有機房或關心硬體韌性的人,這是一份把「我們有 UPS」翻譯成「我們真的拔過電」的工程實證。
拆解 NVSHMEM:對稱記憶體與 device-initiated 的 GPU 通訊
一份系統層論文拆解 NVIDIA 的 NVSHMEM——讓 GPU 之間能用「對稱記憶體」直接互通、由 GPU 自己(device-initiated)發起單邊通訊,繞過傳統 CPU 仲介的路徑。論文以稀疏深度學習的 DeepEP 為案例,量測這套 device-side 程式模型的實作細節與取捨,並指出改進 GPU 通訊 runtime 的空間。對做多卡訓練/推論、被 all-to-all 與 collective 卡住的人,這層是逼近硬體上限的關鍵建材。
URL 裡的 IPv6 zone 是個錯誤
xeiaso 指出 URL 裡的 IPv6 zone identifier(如 fe80::4%eth0)是個設計錯誤:% 在 URL 本來就是 percent-encoding 的轉義字元,parser 會把 %et 當成跳脫序列,於是得寫成 http://[fe80::4%25eth0]:80 這種把 % 再編碼成 %25 的彆扭形式。後果是 link-local 位址在 Go、nginx、Python requests 等實作裡行為不一,是跨生態的相容性頭痛。對寫網路工具或處理使用者輸入位址的人,這是 host 欄位邊角比想像銳利的又一例。
Ladybird 停收公開 PR——只有維護者能改 code
從零打造的瀏覽器引擎 Ladybird 宣布停止接受公開 pull request——往後只有維護者能改 code,外部貢獻限縮成 bug report、設計回饋與安全揭露。理由是 AI 生成的貢獻常常「看起來像認真投入」卻沒有對等的責任承擔,而瀏覽器要處理來自網路的不可信內容,維護者必須為進入 codebase 的每一行負責。原始碼仍維持開源授權,變的是誰能把 patch 送進來。
pg_durable:把 durable execution 放進 PostgreSQL
Microsoft 開源 pg_durable,把 durable execution(長時間、可容錯、能從 crash 後接續的工作流)直接做進 PostgreSQL——不需要 Redis、不需要 Temporal、沒有額外服務。它用 pgrx 寫成擴充,狀態存在 duroxide.* schema 的資料表,提供 |=>、~> 與 df.if/df.loop 這類 SQL DSL 描述步驟,由背景 worker 在每步之間 checkpoint;資料庫重啟時直接從存下的狀態接續,而非重跑已完成的步驟。代價是「刻意做成 SQL 形狀」:要任意程式碼或次毫秒同步請求的場景並不適合,它瞄準的是背景批次與 pipeline。
Redis 8.8:原生 array、INCREX rate limiter 與效能改進
Redis 8.8 加入通用的 array 資料結構——可索引、支援稀疏 index 與 ring buffer 語意,新的 ARRING 環形操作比傳統 RPUSH+LTRIM 快約 2×、隨機存取比 list 快 5–15×。另一個重點是 INCREX:用單一指令做帶上限與自動過期的計數,取代過去要寫 Lua 才能做的 rate limiter。整體吞吐也有顯著提升(MGET pipelined 最多 +68%、Streams 的 XREADGROUP 最多 +83%)。