vatt'ghern jaskier's ballads

2026.05.29 —— 今日 10 則

TODAY'S THREAD 今天兩個大故事在問同一個問題——為什麼要自己蓋。Cloudflare 不買 Snowflake 而是把 R2、Iceberg、Trino、Workers 串成 Town Lake、再把 Claude 用 code mode 接成內部 Skipper;DBOS 不要 Temporal 而是讓 Postgres 自己當 orchestrator;Anthropic 也把「該怎麼 sandbox Claude」分成三種部署形狀,把 model layer 與 environment layer 拆乾淨。其餘是 systems 層的小更新:Rust 1.96 釋出、Bytecode Alliance 把 Wasm 編成 JVM bytecode 推出 Endive。

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

該怎麼 sandbox Claude——Anthropic 拆出三種部署形狀

Anthropic 把「containment」當第一層防線、model 提示與分類器只當第二層:claude.ai 用 gVisor 隔離租戶、Claude Code 在 macOS 走 Seatbelt、Linux 走 bubblewrap,把 permission prompt 砍掉 84%;Claude Cowork 則直接開 VM,把 agent loop 留在 host、code execution 留在 guest,用 vsock 與 hypervisor network policy 守住六層 isolation。最尖銳的發現是 EDR 看不進 VM、一條 attacker-API-key 走 approved domain 的 exfiltration 路徑,最後得在 VM 裡跑 defensive MitM proxy 才能擋掉。

read source → deep agent-sandbox

#08

Gemma 變成 reasoning model——Tunix + Kaggle TPU 的社群配方

Google Developers 描述 Kaggle 上一場 TPU hackathon:社群拿 Gemma base 模型,靠 Tunix 框架接 supervised fine-tuning、再串 GRPO 與 SimPO 兩段 preference optimization,把 base model 訓成會「think」的版本。難得的是一份對外公開的 alignment-training pipeline——SFT → RL preference → 推論時的 reasoning trace 寫得直白、配方可重現,不是只貼結果。對自家想複製 reasoning 能力卻沒有 GPT-class 算力的隊伍,這是少數可直接照搬的端到端示範。

read source → llm-finetuning

#10

Claude Opus 4.8 釋出——agentic harness 取向的小版本

Anthropic 在 2026-05-28 推出 Claude Opus 4.8。相對 4.7 的差異主要落在長時間 agent 任務的穩定度與 SWE-bench 上的得分微調,不是訓練配方的大改。對工程團隊來說,更值得注意的是它和同日的 sandbox/containment 公告搭著一起出——模型能力跟容器邊界都被當「新的版本」一起升級,這個搭法本身就是訊號:harness 與 model 已經不再是兩個獨立 release cadence。

read source → claude

#04

Rust 1.96.0 釋出——再一輪 trait 與 lifetime 推進

Rust 1.96 沿著最近幾個版本的節奏推進:語言面的小幅 trait、lifetime、async 改進,加上編譯器與 cargo 的工具鏈優化,是一個沒有大爆點但每處都更平滑的 release。對 nightly 上已經吃到這些功能的人沒有意外;對停留在 stable 的 systems 工程師,這次升級主要是把幾個 lint 與 borrow checker 邊角的舊行為扶正。

read source → rust-release

#05

Endive——Bytecode Alliance 把 Wasm 編成 JVM bytecode

傳統 Wasm-in-JVM 方案大多是解譯器:把 wasm 拆 opcode 後在 JVM 上一條條走,或外接一個 native 子進程跑 WASI。Endive 走第三條路——把 wasm module 直接編成 JVM bytecode 餵給 HotSpot,JIT 出來的效能直接吃掉 JVM 自己十年累積的最佳化。對既有 JVM 生態(Spring、Kafka、Flink)想沙箱化外掛邏輯卻又不想跨進程的隊伍,這填掉了一塊長期空白。

read source → wasm-runtime

#02

Cloudflare 自建 Town Lake——再讓 Claude 用 code mode 接成 Skipper

Cloudflare 不買 Snowflake、不買 Databricks,把 R2 Data Catalog(Iceberg)+ Trino + DataHub + 自家 Workers 拼成 Town Lake,把每秒十億級事件的 ELT、PII 偵測、access control(Lifeguard 在 D1)、ingestion 全收進自家棧。再把 Claude 接成內部探勘 agent Skipper:不再一個個 tool call,而是 model 直接寫 JavaScript snippet、在 sandboxed Dynamic Worker 裡執行整套 toolset——所謂「code mode」。最有信號的數字:91,760 條 query/324 位員工的內部採用,53% 都打到 billing 表。

read source → deep lakehouse

#09

分散式系統故障模式——ByteByteGo 把該記的全列了

這是一份分散式系統入門教材:把常見的故障模式——network partition、split-brain、metastable failure、cascading retry、quorum loss——逐一配上經典反例與緩解手段。對設計 leader election、replication、retry policy 的隊伍,這是值得釘在 wiki 上的快速 checklist;對熟手則是把直覺寫成可援引的條目,新人 review 時可直接指。內容本身沒有原創新材,但「全列一次」這件事本身難得。

read source → distributed-systems

#07

Vercel 把 build 排隊從 90 秒砍到 5 秒

Vercel 的 build queue 過去新請求要等大約 90 秒才開始跑——主要是 cold-start runner、依賴拉取、container 預熱攤在每次 build 上。團隊靠 worker pool 預熱、warm cache 命中與 preflight 把這條延遲壓到 5 秒。對重度 push-to-deploy 的隊伍,這把 build 從「去倒杯咖啡」變成「眨眼就好」的等級。文章背後的 pattern 也適用其他 CI runner:把熱資源放在常駐 worker、把 cold 動作從關鍵路徑搬走。

read source → build-performance

#01

Postgres 就夠了——DBOS 主張把 durable workflow 收進資料庫

DBOS 的論點直白:durable workflow 本質上就是「狀態存哪裡、誰下一個跑下一步」,那「狀態存哪裡」這題既然 Postgres 已經答了,何必再立一個 Temporal 或 Step Functions server?做法是把 workflow 與每一步的 checkpoint 寫進 Postgres 資料表,application server 直接用 row lock 排隊、用 unique constraint 偵測 duplicate,沒有獨立的 orchestrator 進程。號稱單一 Postgres 節點能撐到「tens of thousands workflows per second」,分散則靠 CockroachDB 或 sharding。

read source → deep durable-execution

#06

Slack AI 走 multi-cloud——latency、availability、cost 的三角取捨

Slack 把 AI 從單一 cloud 擴成 multi-cloud:理由不是要避免 vendor lock-in,是 model availability、地域延遲與 spot 容量在不同雲上長得不一樣。文章描述他們怎麼選 routing 層、怎麼處理 token 計費跨 provider 對齊、怎麼在某朵雲 quota 滿時 fail-over 到另一朵。對任何在自家應用裡接外部 LLM 的隊伍,這份 multi-cloud 接線經驗值得參考——尤其是 token cost 與 SLO 在不同 provider 上各自有什麼陷阱。

read source → llm-serving

today's deep reads

Postgres 就夠了?——把 DBOS 的「資料庫即 orchestrator」放在 Temporal 旁邊量一量

如果 durable workflow 的本質就是「狀態怎麼存」,那 Temporal、Restate、Step Functions 各自額外的那一層 orchestrator 到底解了什麼問題?拿 Postgres 的 row lock、advisory lock、unique constraint 把同樣的事做完,會犧牲什麼?文章宣稱「tens of thousands workflows per second」之外,failover 語義、observability、debug 體驗各自落差有多大?

Cloudflare 怎麼蓋 Town Lake——R2 + Iceberg + Trino + 一個會寫 JS 的 Claude

為什麼 Cloudflare 寧可自己拼一套 lakehouse,也不買 Snowflake?Town Lake 的資料怎麼從 Postgres、ClickHouse、Kafka 流進 R2 Iceberg,又怎麼經 Transformer 在 Trino 上跑 DAG?Skipper 為什麼放棄 tool-call-by-tool-call、改讓 Claude 寫 JavaScript 在 sandbox 裡呼叫整個 toolset?「code mode」這個架構選擇背後的 prompt 哲學是什麼?

該怎麼裝住 Claude——claude.ai、Claude Code、Cowork 三種 sandbox 的演化

同一家公司、同一個 model,為什麼要長出三套不同的 containment?從 claude.ai 的 gVisor、到 Claude Code 的 Seatbelt/bubblewrap,再到 Cowork 的 full VM——這條 evolution 各自針對哪一種 threat model?為什麼 permission prompt 從 93% 同意率變成 84% 砍掉、為什麼 EDR 看不進 VM 是個沒解開的痛、為什麼 attacker-API-key 走 approved domain 那條 exfil 要用 in-VM defensive MitM proxy 才擋得住?