vatt'ghern jaskier's ballads

2026.05.27 —— 今日 10 則

TODAY'S THREAD 今天的軸線是「瓶頸到底在哪一層」——agentic AI 把焦點從模型移到外圍的 harness、DOOM 跑在 SQL 上逼出交易與分析的取捨、Itanium ABI 攤開 virtual dispatch 真正的代價,再到 Vera CPU 把記憶體頻寬量到額定峰值的 90%、Chromium 把 embedding 模型搬進瀏覽器——每一則都在問:該被優化、該被搬動、該被量測的,究竟是哪一層。

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

從 model scaling 到 system scaling——agentic AI 的下一個瓶頸是 harness

Shangding Gu 這篇 position paper 主張,agentic AI 接下來的瓶頸不在模型本身,而在模型外那層結構化執行環境——他稱之為「scaling the harness」,把 memory、retrieval、tool use、orchestration、verification 與 governance 當成第一級的設計對象,而非實作細節。論文點出三個核心瓶頸:context governance、trustworthy memory 與 dynamic skill routing,並主張該用 trajectory quality、memory hygiene、verification cost 這類指標取代「最終任務成功率」。作者放出 CheetahClaws 這個 Python-native 參考 harness,拿來跟 Claude Code 與 OpenClaw 對照。

read source → deep agentic-systems

#07

Language Models Need Sleep——用睡眠鞏固對付長 context 的注意力成本

Transformer 的注意力隨 context 長度暴漲,這篇論文借神經科學的「睡眠鞏固」想法,讓模型在長任務中段做一次 sleep-like consolidation,把累積的 context 壓成更穩定的記憶後再續跑。賣點是用週期性鞏固換掉「把整段歷史都攤在 attention 裡」的成本。對在跑 long-horizon agent、被 context window 與 KV cache 卡住的人,這是一條跟單純加長 window 不同的路。

read source → long-context

#08

Gemini 3 Flash 進駐 Gemini CLI——SWE-bench Verified 76%

Google 在 I/O 2026 之後把 Gemini 3 Flash 接進 Gemini CLI:主打 Pro 級的 coding 能力,但延遲與成本都低,官方數字是 SWE-bench Verified 拿到 76%,且在 agentic 任務上勝過前代。對天天在 terminal 裡讓模型改 code 的人,這把「便宜模型只能做簡單事」的假設又往上推了一格。

read source → gemini

#02

Itanium C++ ABI 裡的 vtable 到底長怎樣——從 offset-to-top 到 virtual thunk

vptr 並不指向 vtable 的開頭,而是指向 address point——也就是第一個函式項(+16),typeinfo 與 offset-to-top 反而擺在負偏移上。這篇把 Itanium C++ ABI 的 vtable 佈局攤開:單一繼承怎麼原位覆寫、多重繼承為什麼要多個 vptr 加 non-virtual thunk(subq $16, %rdi)把 this 調回完整物件,virtual 繼承又怎麼靠 vcall/vbase offset 與 VTT 在執行期定位虛擬基底。讀完你會知道 dynamic_cast、虛擬解派與那三種解構子(D0/D1/D2)背後到底動了什麼。

read source → deep cpp-abi

#09

C extensions、可攜性與替代編譯器——為什麼 tcc/cproc 老是卡在 glibc

真實世界的 C 程式碼到處依賴非標準擴充——__attribute__((packed))、GCC 風格 inline asm、__has_builtin——而 glibc 的 sys/cdefs.h 只認得「gcc、clang 與相容者」,其餘編譯器一律當成沒有屬性。結果 tcc、cproc、kefir 這些替代編譯器常卡在上游函式庫把進階功能 gate 在 GCC 版本檢查後面,只能下游 patch、裝成 GCC,或被邊緣化。文章用 OpenBSD 的 __only_inline、SDL 的 byteswap 偵測當例子,把「可攜性」的真實代價講清楚。

read source → c-portability

#10

替 Nintendo 3DS 從零寫一個 async executor——合作式多工下的 Future 與 Waker

這是系列第一篇:在 Nintendo 3DS 上用 Rust 從零寫一個 async executor。3DS 是合作式(非搶佔)多工,thread 只在主動讓出時才暫停,所以作者直接套用標準的 FutureWakerContext,用一個 mpsc channel 把 wake 請求送回中央 Executor,再用 BTreeMap 輪詢 task。關鍵在於 waker 觸發 re-poll、避免 busy-loop,同時尊重「忘了 yield 就會卡死所有人」的合作式模型。

read source → rust-async

#04

NVIDIA Vera——88 顆 Olympus 核心、為 agent 而生的第一顆 CPU

NVIDIA 第一顆通用 CPU Vera 用 88 顆自研 Olympus 核心(Armv9.2)、1.2TB/s 記憶體頻寬、450W TDP,Phoronix 實測比上一代 Grace 快 1.6 倍,整體比一顆 128 核 x86 快 1.5 倍、比 AMD EPYC 9575F 高約 10%。最亮眼的是記憶體:STREAM TRIAD 跑到額定峰值的 90%,是受測 CPU 裡最高的,每核頻寬是傳統 x86 的四倍多,單 socket 編一份 Linux kernel 只要 20 秒。

read source → cpu-arch

#05

Chromium 提案 Embedding API——把 on-device 向量模型搬進瀏覽器

Chromium 在 blink-dev 丟出 Embedding API 的 Intent to Prototype:讓網頁直接在使用者裝置上生成內容的高維向量 embedding,靠 Chrome 內建的 on-device 模型,而不必每個站台各自下載數百 MB 的 WASM/WebGPU 模型、也不必把敏感資料送上雲。設計是 stateless、不全域保存 embedding,讓瀏覽器能跨來源共用一份最佳化模型。用途指向 note app 的語意搜尋、本地 RAG 問答與即時內容分類。

read source → on-device-ai

#03

DoomBench——當 DOOM 的 game loop 變成 SQL,你的 data stack 撐得住嗎

DOOMQL 把一場多人 DOOM 整個塞進 SQL:按鍵 append 進 inputs 表、每秒 35 個 tick 更新世界狀態、渲染端用 recursive CTE 做 raycasting 畫成 ASCII。CedarDB 拿它當壓力測試比較各家資料庫,結果很殘酷——PostgreSQL 只有 0.3 FPS、DuckDB 接 ETL 能到 10 FPS 但畫的是每秒才更新一次的舊資料,而 HTAP 設計的 CedarDB 跑到 30 ticks/s 下的約 30 FPS、中位延遲 44ms。它要講的其實是:交易吞吐與分析吞吐不必二選一。

read source → deep htap

#06

T-SQL 的 regex 終於吃 LOB 型別——SQL Server 2025 與 Azure SQL

Azure SQL 與 SQL Server 2025 終於讓 T-SQL 的 regex 函式吃 LOB 型別——varchar(max) 與 nvarchar(max),最大到 2MB 的輸入。在這之前處理大欄位文字得繞 CLR 或搬到應用層;現在 regex 比對、擷取與替換可以直接在資料庫裡對大文本跑。對做日誌、文件、半結構化欄位清洗的人,這是少寫一層膠水的實質改變。

read source → sql-server

today's deep reads

從 model scaling 到 system scaling——agentic AI 的瓶頸搬到 harness

如果模型不再是限制因素,瓶頸會跑到哪?這篇把焦點移到模型外那層 harness——memory、retrieval、tool use、orchestration、verification、governance——並追問三個真正會卡住長任務的點:context governance、trustworthy memory 與 dynamic skill routing。我們該怎麼量一個 agent 的好壞,如果「最終成功率」根本看不到 trajectory 與記憶衛生的代價?CheetahClaws 拿來跟 Claude Code、OpenClaw 對照又看出了什麼?

Itanium C++ ABI 的 vtable——virtual dispatch 真正的代價

為什麼 vptr 指向的是 vtable 中間而不是開頭?offset-to-top 與 typeinfo 為什麼擺在負偏移?單一繼承怎麼原位覆寫、多重繼承為什麼要靠 thunk 把 this 加減一段、virtual 繼承又得多出 vcall/vbase offset 與一整套 VTT 建構表?一路追到 movq/jmp 的兩條指令解派,與 D0/D1/D2 三種解構子各自負責什麼。

DoomBench——把 DOOM 塞進 SQL,逼出資料庫的真實取捨

一場 DOOM 怎麼用 inputs 表、每秒 35 tick 與 recursive CTE 的 raycasting 整個跑在 SQL 裡?為什麼 PostgreSQL 只有 0.3 FPS、DuckDB 接 ETL 雖到 10 FPS 卻畫著舊資料,而 CedarDB 能在 30 ticks/s 下維持約 30 FPS、44ms 中位延遲?這場遊戲其實在問一件正經事:交易吞吐與分析吞吐,為什麼長年被迫二選一,HTAP 又怎麼把它們縫回一起?