vatt'ghern jaskier's ballads

2026.05.21 —— 今日 10 則

TODAY'S THREAD Microsoft 給 agent 加上 Fides 這層 deterministic 的 information-flow gate、SpiderMonkey 把 asm.js 拔掉、Slack 把 HTTP/3 readiness 探測上游給 Prometheus——今天的事都繞著「在 runtime 邊界把不可見的契約變得可見」展開。

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

Microsoft 推 Fides——把 agent 的 prompt injection 防禦從 prompt 拉回 information-flow gate

Microsoft 在 Agent Framework 加入 Fides(Flow Integrity Deterministic Enforcement System):每段資料都帶 integrity(trusted/untrusted)與 confidentiality(public/private/user_identity)標籤,middleware 自動沿著呼叫鏈傳遞,privileged tool(如 write_file)在收到 untrusted 來源時直接被框架拒絕——而不是再寄望 model 自己看出 attack。對任何在生產跑 agent 的人來說,這是把 OWASP LLM01 從「祈禱 prompt 守得住」往「可被靜態論證的 policy」移動。

read source → deep agent-security

#08

Tokenspeed——把「47 tok/s」從抽象數字校準回人類感官的小工具

作者做了一個互動 demo:用 30 / 60 / 200 / 800 tok/s 的速度實際播放 code、prose、reasoning trace、agent tool-call 四種輸出,讓讀者用眼睛體驗「為什麼 code 比散文感覺快」——同樣 tok/s,token 密度差兩倍,閱讀感受完全不一樣。對於要寫 inference benchmark、設 SLO 或解釋 latency 給 PM 的人是一個方便的對照尺。

read source → LLM-perf

#09

Google ADK 加上 pause / resume——讓 long-running agent 能跨日喚醒不失憶

Agent Development Kit 把 agent 的 workflow state(tool history、變數綁定、待處理 step)整包 serialise 成 checkpoint,跑到一半的 agent 可以放下幾分鐘到幾天再從原處接回。對於要把 agent 接進 ticket、approval 或長流程 BPM 的人,「過夜不失憶」這件事終於有 first-party 抽象,不必再自己用 redis 拼。

read source → agent-runtime

#10

Spotify 的 LLM eval——funnel 不是 fork,先粗篩再人工

Spotify 把 LLM 評測流程從「自動分數 vs 人工分數」二分改成多階段 funnel:自動 judge 先給 relevance / coherence / quality 分數,只有彼此意見分歧的樣本才往下流給人工複核。對於想規模化做 eval 又不想被 judge bias 蒙騙的團隊,這個 funnel 結構直接可借——重點是哪一層該 disagree、哪一層該人介入。

read source → LLM-eval

#06

Erasing Existentials——Rust 裡四種抹掉 existential 型別的辦法對照

作者把「multiple existential type parameters」這個 type-theory 問題搬到 Rust 上,依序示範 for-exists 轉換、associated type + PhantomData、手刻 trait impl、Box<dyn Any> 四條路線各自的代價與適用情境。對任何被 dyn-compatibility 規則卡住的人來說,這是一份從「為什麼一個 trait object 不能對應兩種 associated type」推到「該用哪種 erasure」的清單。

read source → deep Rust-types

#01

Meta 換掉 data ingestion 控制面——PB/day 流量底下的 zero-downtime 換引擎

Meta 在生產流量持續寫入時更換整個 data ingestion 管線:dual-write 同步、新舊端 reconciliation 比對、按 namespace 一片一片切流量,最後再撤掉舊路徑。文章把「在 PB/day 等級下不能用維護視窗」當前提,列出每一階段對 control plane 與 schema registry 的要求;對任何規劃跨年度遷移的人都是一份制度範本。

read source → deep data-pipelines

#02

Slack 把 HTTP/3 readiness 探測搬上 Prometheus——順手給 blackbox_exporter 加 quic-go transport

Slack 原本混用 SaaS 觀測工具 + 內部自製探針,但「沒有一個現成的 SaaS 支援 HTTP/3 over QUIC 的探測」。Sebastian Feliciano 直接把 quic-go 接進 Prometheus blackbox_exporter,給社群把 HTTP/3 transport upstream 開源;Slack 自己也順勢把數十萬個邊節點上的 HTTP/3 readiness 拉進現有 Prometheus 告警鏈。對任何要把 QUIC/HTTP/3 推上生產但缺合適 readiness probe 的人,這條 PR 直接可用。

read source → HTTP3

#04

SpiderMonkey 把 asm.js 拔掉——十二年的 JS 子集走到尾聲

Mozilla 在 SpiderMonkey 移除 asm.js 的 AOT 快速路徑:WebAssembly 已經完全吃下「型別標註過的 JS 子集快編快跑」這條路,asm.js 留下來只是維護成本。文章回顧 asm.js 為什麼當年成立、它怎麼把「JIT 可預測」這件事教給社群,並列出實際 break 的測試案例與目前線上還在跑 asm.js binary 的少數場景。

read source → asm.js

#05

Node.js 26.0.0 釋出——Temporal 正式起飛,Date 終於有像樣的替代

Node 26 把 Temporal API 升為 stable(不再需要 flag)、淘汰了一批 legacy 介面,V8 也跟著前進一版。對任何寫過時區或日期算數的人,Temporal 把月份、duration、calendar、time-zone 全部當 first-class 設計——這是 ECMAScript 自 Promise 之後最大規模的 stdlib 加項。

read source → Node.js

#07

Discord 把 distributed tracing 帶進 Elixir——不踩爛 BEAM mailbox 的 sampling 設計

Elixir 的訊息密度天生比 HTTP 服務高一個量級,naive 的 trace span propagation 會把每個 actor mailbox 撐爆。Discord 把 trace context 改成搭 process dictionary + GenServer reply 的 piggyback,加上 head-based + tail-based 雙取樣,把端到端 trace 採樣到能在控制台看見因果鏈、又不會吃掉 throughput。

read source → Elixir

today's deep reads

Fides 是什麼——把 prompt injection 從 model 防線移回 information-flow 系統

把每段內容當 information-flow lattice 的 label 來標、讓 middleware 在 tool call 前先檢查 policy——這個架構為什麼能給出 deterministic 的保證?四層 middleware 各自扛什麼?哪些情境它故意不擋?

Rust 裡的 existential 擦除——四條路線的代價對照

為什麼 dyn-compatibility 規則會讓「同一個 trait object 對應兩種 associated type」變成不可能?PhantomDataBox<dyn Any>、手刻 vtable 各自繞過什麼、付出什麼代價?該怎麼選?

Meta 換掉 data ingestion 控制面——PB/day 流量下的 zero-downtime 換引擎

在每天 PB 級寫入無法停機的前提下,Meta 怎麼把整條 ingestion 控制面從 customer-owned 切到 platform-managed?五階段 dual-write、shadow、reverse-shadow、cutover、decommission 各自要對齊什麼,又哪些情境會把這套方法逼回手工模式?