博客
关于 GPU、LLM、MLOps、Kubernetes 以及心态的文章 · 829 篇
#2026-03 168#ai 110#llm 90#ai-papers 62#career 60#kubernetes 54#mindset 51#ai-platform 48#devops 42#security 41#deep-learning 35#performance 33#psychology 32#mlops 30#observability 29#2026-04 26#database 23#linux 22#robotics 22#rust 22#ai-agent 21#mcp 20#productivity 20#culture 19#evaluation 19#gpu 18#transformer 18#electronics 17#paper-review 17#pytorch 17#developer-tools 16#distributed-systems 16#engineering 16#learning 16#open-source 16#rag 16#fundamentals 15#network 15#postgresql 15#2026-08 14
Cassandra 6.0-alpha1 与 Accord 事务 — 五年之约的「通用事务」,现在走到哪一步了
Accord 是 Cassandra 的通用事务协议,2021 年以 CEP-15 的形式提出,终于在 2026 年 3-4 月,随 6.0-alpha1 这个可运行的发布版本一起问世。这个协议的承诺是,通过无 leader 的共识,在正常条件下用一次 WAN 往返完成多分区的 strict-serializable 事务,而且这个发布版本里确实带上了 BEGIN TRANSACTION 语法和按表设置的 transactionalmo
2026-07-17 · 20 分钟阅读 #database#cassandra#distributed-systems#transactionsAI 智能体在生产环境中是如何失败的 — 14 种失败模式,以及重试为何不安全
把智能体放上生产环境,会有三处疼。第一,失败大多不是出在模型,而是出在系统设计 — UC 伯克利的 MAST 研究对 1642 条执行轨迹做了分类,提炼出 14 种失败模式,其中 44.2% 属于系统设计问题。第二,最常见的两种失败模式(步骤重复 15.7%、未意识到终止条件 12.4%)会直接变成 token 账单。第三,恰恰是这两种模式制造了重试/幂等性问题 — 非确定性的调用方在驱动真实副作用,而 MCP 只给了 idempote
2026-07-17 · 32 分钟阅读 #ai#agents#observability#reliability#mcpRay 2.56 的标签局部性调度 — 放置组开始看见 NVLink 机架,而不是节点
2026 年 6 月 29 日发布的 Ray 2.56.0,给放置组加上了一层 alpha 阶段的域级调度层。此前 PACK、STRICTPACK 这些放置策略全都只按节点粒度工作,于是在 GB200、GB300 NVL72 这类 NVLink 域横跨多个节点的机架上,根本没有办法表达「把这个放置组整个塞进同一个机架里」。新的标签局部性调度,把 ray.io/gpu-domain 标签值相同的一组节点视作一个域,并把整个放置组 STRI
2026-07-17 · 17 分钟阅读 #ray#gpu#scheduling#distributed-systemsMedia over QUIC 的现状 — 规范停在 draft-19,最大规模部署停在 draft-07,最初提案人转投 moq-lite
IETF 的 Media over QUIC(MoQ)想把 WebRTC 的交互延迟和 HLS/DASH 的可扩展性合并成一套架构,截至 2026 年 7 月 6 日已经推进到 draft-ietf-moq-transport-19,工作组的里程碑把 IESG 提交的目标定在 2026 年底。但现实中的部署却在别处 — 任何人都能接入的最大中继网络、Cloudflare 的网络,目前仍然固定在 draft-07 的子集上,其文档甚至自己
2026-07-17 · 20 分钟阅读 #network#quic#streaming#webrtc#rfcFlux 2.9 与 Weaveworks 之后的两年 — 失去赞助商的 GitOps 项目是怎么撑下来的
2024 年初,Flux 的原开发公司 Weaveworks 关门时,GitHub 讨论区里冒出一个问题 — 「这个项目的未来有危险吗?」两年半之后的 2026 年 6 月 30 日,Flux 发布了 2.9.0。本文用可验证的一手资料,重构这期间真正发生的事 — 发布节奏如何动摇又如何恢复(v2.0 到 v2.9 每个次要版本的发布间隔实测)、如今 9 位核心维护者分别隶属何处(以 CORE-MAINTAINERS 文件为准,Cont
2026-07-17 · 18 分钟阅读 #devops#gitops#fluxcd#kubernetes#open-sourceClickHouse 的 Lazy Materialization — LIMIT 10 的小技巧是如何长成 FINAL 和 JOIN 的
ClickHouse 的 lazy materialization 是一种在排序和 LIMIT 完成之前不读取 SELECT 列的优化,它在 25.4(2025 年 4 月)以「仅在 LIMIT 10 及以下时才生效」的保守姿态首次登场。此后,在把逐行 lookup 改造成 join 式批量获取的 25.12 中,这道闸门被提高到 10,000;进入 2026 年后,同一个思路又扩展到 26.2 的 UNION ALL 全部分支、26.
2026-07-17 · 22 分钟阅读 #database#clickhouse#olap#query-optimization#performanceAirflow 2 EOL 之后 — 从 2 迁移到 3 的实际工作清单,以及走到 3.3 的 3.x 现状
Apache Airflow 2 已在 2026 年 4 月 22 日迎来 EOL,如今这个版本已经不再有安全补丁。可是从 2 到 3 的路并不是一次 pip 升级,而是一次架构转变 — worker 对元数据 DB 的直接访问消失了,executiondate 系列的上下文键被移除,就连 cron 调度的默认语义也变了。本文原文通读官方升级指南与发行说明,梳理了真正需要动手的工作 — 跑 ruff 的 AIR 规则检查、把导入迁到 a
2026-07-17 · 22 分钟阅读 #data-engineering#airflow#workflow-engine#migration模拟客户从不离开 — LLM 用户模拟器在哪里把智能体的分数吹高了
在 τ-bench 这一类对话式智能体基准测试里,"用户"这个角色由另一个 LLM 来扮演。可这个模拟器不是被测量的对象,而是测量工具本身,工具是需要校准的。2026 年发表的三项验证研究都指向同一个方向 — 模拟出来的用户太配合了。一项把 τ-bench 协议原样搬给 451 名真人跑的研究报告说,模拟器制造出的"简单模式"会把智能体的成功率推到高于人类基线的水平;另一项研究报告说,换一个用户 LLM,成功率最多能摆动 9 个百分点。
2026-07-16 · 36 分钟阅读 #ai#llm#evaluation#agents#simulationZig 0.16.0 — 把 I/O 变成接口的这次发布,以及它的账单
2026 年 4 月 14 日发布的 Zig 0.16.0,把标准库改成了所有输入输出都要以 Io 实例作为参数。这相当于把 Zig 那个「把 Allocator 作为参数传递」的老习惯原样搬到了 I/O 上,目的是让同一份源代码既能跑在基于线程的实现上,也能跑在事件循环上。但真正读一遍发布说明就会发现,完成的实现只有 Io.Threaded 一个;iouring 后端还处于概念验证阶段,缺网络处理、错误处理和测试覆盖;aarch64
2026-07-16 · 34 分钟阅读 #zig#systems-programming#async-io#compilerTriton Gluon — 把编译器藏起来的布局,重新用手写出来的语言
Gluon 是搭建在 Triton 同一套编译器栈之上的底层 GPU 语言,它把 Triton 一直藏起来的布局、共享内存、warp 特化,原样交还给写内核的人。它存在的理由很明确 — 当 Triton 编译器生成的代码不够好时,过去你根本没有办法插手。本文会追踪 Gluon 到底暴露了什么、BlockedLayout 具体意味着什么,以及上游教程在 GB200 上记录的测量值(同一个 memcpy,仅凭一个布局,就能在 0.774 T
2026-07-16 · 28 分钟阅读 #gpu#triton#kernel#compiler#performanceZJIT 的 Lightweight Frames — Ruby 4.1 如何清除方法帧压栈,及其代价
Ruby 4.0 在 2025 年 12 月 25 日搭载了 ZJIT,却没有打开它 — 只是编译进了二进制文件,默认的 JIT 依然是 YJIT。官方发布说明的原话是「ZJIT 比解释器快,但还没有 YJIT 快」,紧接着的下一句是「敬请期待 Ruby 4.1 的 ZJIT」。瞄准那个 4.1 的工作核心,就是 Lightweight Frames — 这是一种设计:不再在每次方法调用时向解释器帧里认真写入 pc、iseq、block
2026-07-16 · 29 分钟阅读 #ruby#zjit#yjit#jit#compilerSwift 6.3 的官方 Android SDK — 出了什么,又故意省去了什么
2026 年 3 月 24 日发布的 Swift 6.3 中,包含了 Swift SDK for Android 的首次官方发布。经过十年的社区分支和非官方工具链,现在可以用 swift.org 亲自构建和发布的交叉编译 SDK 来生成 Android 二进制文件了。不过这句话到底意味着什么,需要精确地厘清 — 变成官方的是这个 SDK,而不是说 Android 变成了与 Linux、Windows 同一层级的官方支持平台。Androi
2026-07-16 · 18 分钟阅读 #swift#android-swift#cross-platform#kotlin-multiplatform#swift-package-managersched_ext 子调度器 — 内核 7.1 中只到了一半的 per-cgroup 调度器
Linux 7.1(2026年6月14日发布)引入了 schedext 的 cgroup 子调度器支持。目标很清楚 — 可以在 cgroup 树的任意位置挂载 BPF 调度器,父调度器动态地把 CPU 分配给子级,让每个容器或应用域都能跑一套适合自己工作负载的调度策略。动机是 cpuset 硬分区给不了的那种灵活性,对运行多租户机器的人来说是等了很久的东西。不过 7.1 里真正落地的,只是以 dispatch 路径为核心的骨架,照搬 L
2026-07-16 · 20 分钟阅读 #linux#kernel#scheduler#cgroups#bpfRISC-V RVA23 规范 — 发行版已经抬高了基线,硬件却还没跟上
RVA23 是 2024 年 10 月 21 日批准的 RISC-V 应用处理器规范,第一次把 RVA22 中原本可选的向量扩展(V)和虚拟化扩展(H)定为强制项。这件事之所以重要,是因为 RISC-V 的老毛病——碎片化:如果二进制发行版没有可依赖的公共分母,谁也没法把向量代码当默认项打包进去。Ubuntu 从 25.10 起把最低基线抬高到 RVA23S64,并在此基础上构建了 26.04 LTS,但截至 2026 年 7 月 16
2026-07-16 · 24 分钟阅读 #risc-v#rva23#ubuntu#toolchain#cpu-architectureRust 1.97 砍掉了 Volta 之前的 GPU — nvptx64 基线上调的内幕
Rust 1.97(2026 年 7 月 9 日)把 nvptx64-nvidia-cuda 目标的最低要求提升到了 PTX ISA 7.0(需要 CUDA 11 及以上驱动)和 SM 7.0(Volta 及以上)。Maxwell、Pascal 两代 GPU 以及 CUDA 10 及更早的驱动,如今都不再是支持目标。本文梳理了实际改变的数字、编译器团队引用的三个具体缺陷(调试符号、原子操作顺序、target-feature 机制)、谁会
2026-07-16 · 18 分钟阅读 #rust#cuda#gpu#compiler#nvidiaTypeScript 7 正式 GA — 8~12 倍是真的,但有些人今天还搬不了
2026 年 7 月 8 日,TypeScript 7.0 正式 GA。用 Go 重写的原生移植版不再是一个独立的二进制文件,而就是 tsc 本身 — 执行 npm install -D typescript 装进来的就是它。Microsoft 报告的整体构建速度提升是 8~12 倍,以 VS Code 代码库为例,从 125.7 秒降到了 10.6 秒。但标题背后藏着两笔成本。第一,TypeScript 6 里预告要废弃的东西全部变成
2026-07-16 · 27 分钟阅读 #typescript#compiler#tooling#build-systems#compile-times为什么 QUIC 在快速互联网上反而更慢 — 接收端 CPU 与尚未到来的内核 QUIC
QUIC 在握手延迟和丢包恢复上确实赢了。Google 在互联网规模上测得的搜索延迟下降 8.0%(桌面端)、视频卡顿率下降 18.0%,就是证据。可一旦链路变快,情况就会反转 — WWW 2024 的一项测量研究报告称,带宽达到 1 Gbps 时,Chrome 中的 QUIC 会比 HTTP/2 慢 45.2%,而真凶既不是常被指责的加密,也不是服务器,而是接收端客户端的数据包处理成本。本文分别用一手测量资料确认 QUIC 赢在哪里、
2026-07-16 · 30 分钟阅读 #network#protocol#performance#linux-kernelSQLite 的 WAL-reset 缺陷 — 一场潜伏了 15 年的数据损坏竞态
2026 年 3 月 3 日,SQLite 开发者 Dan 发现并修复了一个数据竞态 — 它会在 WAL 模式下罕见地损坏数据库。这个缺陷存在于自 WAL 引入的 3.7.0(2010-07-21)到 3.51.2(2026-01-09)的所有版本中,并在 3.51.3(2026-03-13)中被修复。根源在于:wal-index 头部的一个字段 nBackfill,被两把不同的锁分别管着 — 递增发生在持有 WALCKPTLOCK 时
2026-07-16 · 29 分钟阅读 #sqlite#wal#database-internals#concurrency#data-raceRust 标准库验证行动找到的内存安全漏洞是 0 个
由 AWS 和 Rust 基金会主导的 verify-rust-std 行动的成果论文,发表在 2026 年 NASA Formal Methods Symposium 上。作者们称之为"针对某个软件库所报告过的最大规模验证行动",这项工作生成了 16,748 个自动生成的证明工具(harness),其中 11,970 个通过,但在标准库中没有找到任何一个此前未知的内存安全漏洞。论文没有隐藏这个空结果,而是把它直接写进第 4.4 节的标
2026-07-16 · 42 分钟阅读 #formal-methods#rust#verification#memory-safety#testingReact Compiler 移植到了 Rust — 已合并的、尚未合并的,以及那个"10 倍"的数字
2026年6月9日,将 React Compiler 移植到 Rust 的 PR 36173 合并进了 facebook/react 的 main 分支。461 个文件、超过 12 万行代码被加入,"作为 Babel 插件快 3 倍,转换逻辑本身快约 10 倍"这个数字很快就开始在生态圈里流传。但在 PR 正文里,作者 Joseph Savona 本人明确写道——"性能数字是 AI 得出的,我没怎么花时间去验证基准测试的设置"。本文只依
2026-07-16 · 28 分钟阅读 #react#rust#compiler#performance#frontend