vatt'ghern jaskier's ballads

2026.05.23 —— 今日 10 則

TODAY'S THREAD NVIDIA 把 CPU 第一次「為 agent 重寫」、Cloudflare 把 Rust Worker 的 panic 從毀掉 isolate 變成可救回的例外、Spotify 把 LLM eval 擺在 A/B 之前當漏斗用、weirdgloop 寫 wiki 在 AI scraper 十倍流量下還能不能跑——今天的線索都繞著「agent 與 LLM 流量正在重畫 runtime 與 infra 的承重契約」這條軸線展開。

10 items ai · 1 systems · 3 infra · 2 web · 1 backend · 3
0 / 10 read
#05

Spotify 把 LLM eval 擺在 A/B 之前當漏斗——不再跟實驗並行打架

Spotify 不再把 LLM-as-judge 評估當成「跟 A/B 平行的另一條測量管線」,而是把它放在 A/B 之前做 pre-gate:relevance、coherence、tone 先由自動評審打分,過得了才送進 user-facing 實驗。文章自陳一個關鍵限制——大約 42% 上線的實驗最終會 rollback、原因多半是 eval 看不見的次級指標(crash 率、session 長度)退步,所以 eval 解的是「上桌前的爛變體」,不是「上桌後的真實使用者」。對任何在做 LLM 產品 evaluation 的人,這是一份把「funnel vs fork」框架坐實的工程文。

read source → deep llm-evals

#03

Wi-Fi 把無線時間同步壓進 5 奈秒——一般家用晶片就有 802.11mc FTM

Jeff Geerling 拿一台 OpenWrt 路由器加幾張 Intel AX210 卡,用 802.11mc 的 Fine Timing Measurement 取兩端往返時間,量到 < 5ns 的同步精度——本來這是 PTP grandmaster 配 hardware timestamp PHY 才有的範圍。FTM 不是新東西,但「不挑專用硬體、消費級 802.11mc 就能跑」這件事重畫了 indoor localization 與分散式 trace 的下限。對任何在做機器人室內定位或精細分散式 timing 的人,這是 802.11ax 之後另一個被低估的副作用。

read source → wifi-timing

#04

Cloudflare 讓 Rust Worker 從 panic 站得起來——wasm-bindgen 接上 WebAssembly Exception Handling

過去 Rust Worker 一遇 panic 就走 unreachable trap、整個 Wasm instance 與其上的所有 in-flight request 一起 poison。Cloudflare 改編 wasm-bindgen 的 Walrus parser 處理 try/catch 指令、把 panic=unwind 編譯路徑接通,再用 Exception.Tag 區分可救回的 unwind 與不可救回的 abort——destructor 跑得起來、Durable Object 的記憶體狀態不再隨單次 panic 蒸發。這是把「Rust 在 Wasm 環境跟在 native 一樣穩」這條主線往前推一大步。

read source → deep wasm-runtime

#09

Apple 公開 corecrypto 的形式驗證藍圖——Cryptol、SAW、Coq 一條工具鏈

corecrypto 是每台 Apple 裝置 kernel 底下的密碼學原語庫;Apple Security 第一次把他們的 formal verification 計畫攤開:Cryptol 寫 spec、SAW 把 spec 編到 LLVM bitcode 證明 C 實作對齊規格、剩下還需要 Coq 才能機械證明的非標準性質就單獨補。文章誠實列出哪些性質還在 audit-by-eye 的階段。對任何想在 production 加密路徑做 formal verification 的人,這是「實務工具鏈組合」的範本。

read source → formal-verification

#01

NVIDIA 自家 CPU Vera 出貨——第一次把核心架構為「agent 工作流」而不是矩陣乘法

Vera 是 NVIDIA 第一顆自製 CPU:88 個 custom Olympus core、1.2 TB/s 記憶體頻寬、宣稱 per-core 全載速度比競品快 50%,已交付 Anthropic、OpenAI、SpaceXAI 與 OCI。設計重點不是 raw FLOPS——是 agent 場景下 tool routing、sandbox 切換、long-context 序列化這類「不是 matmul 卻會主導 latency」的工作。Ian Buck 的話直接:「agentic AI 創造了一個新的 CPU moment」。對任何在規劃 inference 集群的人,這是「CPU 重新成為瓶頸」這條線的第一個產品化答案。

read source → agent-hardware

#02

NVIDIA 把 Spectrum-X 的 MRC 開出 OCP 規格——RDMA 不再只走單條路徑

Multipath Reliable Connection 把一條 RDMA 連線散到多條網路路徑:硬體層做負載平衡、微秒級偵測網路失效並自動繞路。已在 OpenAI、Microsoft、Oracle 的 AI 資料中心上線後,現在以 Open Compute Project 規格釋出。重點不在「換一台 NIC」,而在把 collective communication 的 tail latency 從「依賴拓樸」變成「依賴排程」——這條改動對任何在做 gigascale 訓練的人都會是 plumbing 層的新預設。

read source → rdma-multipath

#06

Weird Gloop 寫 AI scraper 怎麼壓垮一個 wiki——10× 流量、residential proxy、95% 的 server issue

cookmeplox 把 Minecraft / OSRS / League 三套 wiki 一起跑:人類 page view 一天幾千萬、bot 流量沒擋住會吃掉「比其他所有用途加起來還多 10 倍的 CPU」。文章拆解 scraper 怎麼偽裝(殘留 Chrome header、residential proxy 千萬 IP 輪、把流量灌到 Facebook link preview 與 Google Translate 隱身)、自家用 JA4 與 MediaWiki-specific 行為訊號蓋的偵測網——還有一個誠實結尾:自製 ML 偵測 90% 中真的不是長久之計。對任何在維護公開內容站的人,這是 AI scraper 時代第一手的 ops report。

read source → deep ai-scrapers

#07

Notion 在 CI 接住會破 prod 的 schema 變更——把「移除欄位」這類動作擋在 merge 前

Notion 增建一條 CI guardrail:每個 PR 都會把 schema 跟 main 做 diff,遇到「移除欄位、改型別、改 nullability」這類破壞性變更會擋下、要求作者顯式聲明遷移計畫。文章把幾個設計權衡攤開——什麼算 breaking、要不要支援 multi-stage migration、override 怎麼設可審計。對任何用 strongly-typed schema(Postgres、Avro、GraphQL)又被 schema drift 咬過的後端團隊,這是把「規定要怎麼改 schema」從 wiki 文化推到 CI 強制的範例。

read source → schema-ci

#08

Megalodon——6 小時內 5,718 個 malicious commit、5,561 個 GitHub repo 被植入 CI 後門

SafeDep 揭露 5/18 那場大規模 GitHub 供應鏈攻擊:偽造 build-botci-bot 等假機器人身分提 PR,植入兩種 workflow——一種每次 push 都觸發、一種覆寫成 manual trigger 變休眠後門。Payload 抽 CI 環境變數、雲端 credential、OIDC token 送到 216.126.225.129:8443。對任何在維護 OSS 或公司 GitHub 組織的人,現在馬上看一下 .github/workflows/ 有沒有可疑的 SysDiagOptimize-Build 字串。

read source → supply-chain

#10

Stripe 把 Billing 的即時分析從批次拉到串流——p99 freshness 壓進 30 秒

Stripe Billing 從每小時批次 ETL 改成「事件進來就累加到 columnar store」的串流路徑,p99 資料新鮮度壓進 30 秒;前端的 usage / revenue dashboard 因此能在客戶的計費週期內動。文章談 store 選型(為什麼最後選 ClickHouse 而不是 Druid 或 Pinot)、incremental aggregation 怎麼處理 late-arriving event、UI 怎麼吸收 eventual consistency 的「先看到 99% 再修到 100%」。對任何在做 SaaS 計費或產品內 dashboard 的人是參考案例。

read source → streaming-analytics

today's deep reads

Rust Worker 終於能從 panic 站起來——wasm-bindgen、WebAssembly EH、與「在 Wasm 裡像 native 一樣穩」的兩三步

為什麼 Rust 在 Wasm 裡的 panic 一直是「整個 instance 死掉」、跟 native 行為這麼不一樣?WebAssembly Exception Handling 提案是怎麼補上 unwind 的?Cloudflare 在 wasm-bindgen 改了哪幾層,才把 catch panic、跑 destructor、區分可救回 unwind 與不可救回 abort 這三件事串起來?Durable Object 之類「希望 state 在 panic 後不蒸發」的應用會因此換什麼設計?

把 LLM eval 擺在 A/B 前面——funnel vs fork、calibration、與那 42% 還是被 rollback 的實驗

為什麼 LLM-as-judge 不該跟 A/B 並行、而該擺在 A/B 之前?「漏斗」這個比喻具體把什麼擋下、什麼讓過?Spotify 自陳的 42% rollback 率告訴我們 eval 看不見什麼?要怎麼 calibrate「離線評審分數」跟「線上使用者反應」之間的距離、才不會把 eval 變成自我參考的迴音?對任何在做 LLM 產品實驗的團隊,funnel 模型可以怎麼接到既有的 experimentation stack?

AI scraper 怎麼壓垮一個 wiki——cookmeplox 從 10× 流量、residential proxy、到 JA4 偵測的覆盤

為什麼一個一天幾千萬人類 page view 的 wiki,會被 AI scraper 吃到 10 倍的 CPU?對手怎麼用 residential proxy、Google Translate、Facebook link preview 三條路線繞掉 User-Agent + ASN 偵測?JA4 指紋與 MediaWiki 行為訊號各擋住哪一層、又被什麼方法繞回去?真正吃資源的為什麼是 cache miss 不是頻寬——50-100× CPU 成本怎麼算?以及 cookmeplox 自己寫的「90% 的偵測沒被擋下去」這條誠實邊界,對任何在維護公開內容站的人意味著什麼?