博客
关于 GPU、LLM、MLOps、Kubernetes 以及心态的文章 · 855 篇
#2026-03 168#ai 112#llm 90#ai-papers 62#career 60#kubernetes 57#mindset 51#ai-platform 48#devops 45#security 43#deep-learning 35#performance 33#psychology 32#mlops 30#observability 29#2026-04 26#linux 24#database 23#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#postgresql 16#rag 16#fundamentals 15#network 15#2026-08 14
结构化日志设计 — 做出故障时真正派得上用场的日志 ♪ 可收听
如果你曾在故障正中间 grep 日志 grep 到放弃,那说明日志设计错了。本文讲如何把给人看的日志和给机器看的日志分开,确定每一行都必须包含的字段,并立起判断日志级别的唯一标准。文中用真实代码整理了用 W3C traceparent 跨服务边界追踪请求的方法、把个人信息与密钥过滤掉的脱敏配置、不会把故事切碎的请求级采样,以及基数与成本的计算。最后给出日志、指标、追踪各自应该在什么时候看的顺序。
2026-07-26 · 16 分钟阅读 #observability#logging#structured-logging#opentelemetry#incident-response可怕的故事为何让人享受 — 恐怖类型的心理学与文法 ♪ 可收听
人们花钱去把自己吓一跳。本文从解释这一悖论的三种说法出发 — 多尔夫·齐尔曼的激动转移、在安全环境里预演威胁,以及在鬼屋里真的去测心跳的研究 — 接着梳理恐惧的三个层次、希区柯克归纳的悬念原理、宇宙恐怖与民俗恐怖与心理恐怖的分别、日式恐怖里「怨」的逻辑,以及丧尸在每个时代换上的不同焦虑。文中也谈到那些觉得可怕一点都不好玩的人的个体差异。不透露任何作品的反转或结局。
2026-07-26 · 19 分钟阅读 #storytelling#horror#psychology#film#cultureping 能通但只有大请求卡住 — 解剖 MTU、MSS 与 PMTUD 黑洞 ♪ 可收听
小请求都很顺利,唯独大响应会卡在半路的症状,几乎总是路径 MTU 问题。TCP 是按接口 MTU 来通告 MSS 的,如果路径中间更窄,本应由路径MTU发现通过 ICMP Fragmentation Needed 来告知,而一旦防火墙把这个 ICMP 丢掉,黑洞就形成了。本文整理了 MSS 与 MTU 的算术、如何用 ping -M do 二分查找路径 MTU、IPsec 与 WireGuard 与 VXLAN 实际拿走多少字节、为什么
2026-07-26 · 18 分钟阅读 #network#mtu#tcp#vpn#kubernetesKubernetes CrashLoopBackOff 分原因诊断与解决 — 日志为空时该看什么 ♪ 可收听
完整梳理 Pod 陷入 CrashLoopBackOff 而 kubectl logs 什么都不输出的场景。先讲清 BackOff 的准确含义 — 它不是原因,而是从 10 秒一路涨到 5 分钟的重启等待时间,再讲阅读 describe 中 Last State 与 Exit Code 的顺序,以及退出码 0、1、127、137、139、143 各自代表什么。文章按原因给出诊断命令与解决方案:应用启动即退出、配置与 Secret 缺失、
2026-07-26 · 17 分钟阅读 #kubernetes#crashloopbackoff#troubleshooting#kubectl#sre凌晨三点不会把你叫醒的告警设计 — 症状告警与燃烧率实战 ♪ 可收听
on-call 之所以崩溃,不是因为告警太少,而是因为太多。本文从告警疲劳如何让人错过真实事故的机制讲起,讲清「只对症状呼叫、把原因留在仪表盘上」这一原则,以及从 SLO 与错误预算倒推阈值的方法。文中用 Prometheus 规则和 promtool 测试展示:把短窗口与长窗口用 AND 串起来的多窗口燃烧率告警如何同时兼顾灵敏度与误报,以及 for 子句防止抖动的原理是什么。最后整理出在 CI 里强制 runbook 链接、并定期删
2026-07-26 · 18 分钟阅读 #observability#alerting#slo#error-budget#prometheus邓宁-克鲁格效应 — 那张著名的曲线图并不在原论文里 ♪ 可收听
网上四处流传的“愚昧之巅”曲线图,在邓宁与克鲁格1999年的论文里根本不存在。原论文是四项研究:让康奈尔大学的本科生完成幽默、逻辑与语法任务,再按成绩四分位比较自我评价;真实结果显示,高分组低估自己的幅度,和低分组高估自己的幅度不相上下。更扎心的批评还在后面——把自我评价与实际成绩换成毫无关系的随机数,照样能画出一模一样的图。向平均回归造成的错觉、重新分析929人的2020年论文,以及即便如此仍然值得保留的元认知训练价值,本文一并梳理。
2026-07-26 · 15 分钟阅读 #psychology#paper-review#metacognition#self-assessment#statisticsConnection refused 与 timeout 的区别 — 在 TCP 层面收敛原因 ♪ 可收听
连接不上时终端返回的消息大致分为两类。Connection refused 意味着对端回了一个 RST,timeout 则意味着发出去的 SYN 没有得到任何应答。这一行之差几乎就决定了问题出在进程还是出在路径。本文整理了如何用 tcpdump 直接确认 SYN 与 RST、如何用 SYN 重传间隔提前算出超时长度、有监听却依然 timeout 的 accept 队列溢出,以及容器里绑定到回环地址所引发的典型事故。
2026-07-26 · 16 分钟阅读 #network#tcp#troubleshooting#linux#kubernetesCPU steal time 与限流 — 如何区分 top 的 st、可突发型积分和 CFS 配额 ♪ 可收听
CPU 使用率只有 40%,p99 延迟却在飙升,top 的 st 列显示 20%。这些看起来相似的症状背后,藏着三个完全不同的原因:Hypervisor 不把物理 CPU 交给 vCPU 的 CPU steal time、可突发型实例的 CPU 积分耗尽,以及在 top 里根本看不到的 cgroup CFS 配额限流。本文梳理 st 从百分之几开始算问题、怎么读 nrthrottled 和 throttledusec,以及"移除 Ku
2026-07-26 · 23 分钟阅读 #linux#cpu#cgroups#kubernetes#cloud如何好好结束 — 没有人教过我们的技术 ♪ 可收听
我们把开始的方法学了无数遍,却从来没学过怎么结束。本文谈沉没成本谬误把我们扣在原地的结构、安迪·格鲁夫在英特尔抛出的那句只有一行的提问、安妮·杜克关于放弃的主张与坚毅研究之间的张力,以及最后一幕会把整段记忆染上颜色的峰终定律。结束得好的项目与关系有三个共同点:明确的终止宣告、交接,以及一句感谢。
2026-07-26 · 19 分钟阅读 #mindset#endings#sunk-cost#decision-making#retrospective留一件做不好也没关系的事 — 练习做一个业余者 ♪ 可收听
如今一提起爱好,紧接着就是变现的话题。可是业余这个词最初的意思并不是水平不够的人,而是因为热爱才去做的人。本文借索南塔格与弗里茨的恢复体验研究、契克森米哈赖关于心流来自难度与能力之比而非能力本身的发现,以及林维尔的自我复杂性假说,说明为什么保留一件自己做不好的事,其实是恢复与身份认同的问题。最后给出一套成年人重新学点新东西时真正管用的三个月设计。
2026-07-26 · 17 分钟阅读 #mindset#healing#hobby#recovery#identityLLM API 成本优化 — 输出 token、prompt caching 与路由的盈亏平衡计算 ♪ 可收听
把 LLM API 账单砍掉一半靠的是算术,不是感觉。由于输出 token 的单价是输入的数倍,最大的杠杆几乎总是控制输出长度,其次才是 prompt caching。本文整理了缓存只命中前缀这一约束如何强制决定提示的排列顺序、RAG 与全文塞入的盈亏平衡点在哪里、模型路由的节省公式以及随之而来的精度损失该如何用同一把尺子衡量,并给出模拟月度成本的代码,以及 token 估算与实际账单对不上的五个原因。
2026-07-26 · 17 分钟阅读 #llm#cost-optimization#prompt-caching#rag#model-routingKubernetes Pod Pending 状态排查 — 读懂调度器留下的拒绝理由 ♪ 可收听
当 Pod 停在 Pending 好几分钟都不往前走时,调度器其实已经把拒绝理由写进了事件里。本文先从如何准确解读那句以 0/5 nodes are available 开头的话讲起,再逐一排除九类原因。内容涵盖资源不足是按 requests 总和而非实际用量判定这一点、taint 与容忍度、节点选择器与亲和性不匹配、PVC 未绑定与 WaitForFirstConsumer 的正常等待、Pod 反亲和性导致的自我排除、topology
2026-07-26 · 17 分钟阅读 #kubernetes#scheduler#pending#troubleshooting#autoscalingLLM structured output 的稳定化 — 消灭解析失败的四层防御 ♪ 可收听
明明要的是 JSON,回来的却裹着 markdown 代码围栏,或者后面跟了一句说明,又或者在 token 上限处被截断——本文整理了按层次解决这些问题的方法。先对失败类型做分类,再把防御从提示指令一路叠到函数调用 schema 与约束解码,同时把“约束解码只保证语法有效性、不保证语义正确性”这条界线讲清楚。字段名与顺序为什么会改变精度、把错误信息回灌给模型的重试循环怎么实现、如何检测并应对截断,都用代码讲。
2026-07-26 · 16 分钟阅读 #llm#structured-output#json-schema#constrained-decoding#validation不靠感觉做 LLM 评测 — 样本量、评判者偏差与 CI 回归测试 ♪ 可收听
改完提示就凭“好像变好了”上线的团队,没有办法看见悄悄堆积的回归。本文把评测分成断言、黄金数据集、LLM-as-judge、人工评估四个层次,梳理各自的成本与可信度,并讲清如何抵消评判模型的位置偏差和长度偏好。文中算出用 20 个样例得出的结论其置信区间到底有多宽,并用代码展示配对比较能把所需样本压到几分之一。还包括在温度 0 也无法完全复现的环境里如何搭建 CI 回归测试。
2026-07-26 · 16 分钟阅读 #llm#evaluation#llm-as-judge#statistics#regression-testing为什么平均负载不是 CPU 使用率 — load average 24 而 CPU 只有 30% 的时候 ♪ 可收听
本文讨论这样一种情况:uptime 的 load average 已经超过 24,而 top 里的 CPU 却连 30% 都不到。Linux 的平均负载与其他 Unix 不同,它不仅统计处于运行等待 (R) 的任务,还把 D 状态 (uninterruptible sleep) 的任务一并计入,因此仅仅是磁盘或 NFS 等待就足以让这个数字飙升。文章梳理三个数字如何由 5 秒采样与指数移动平均生成、按核心数相除的习惯在哪里失效、负载高但
2026-07-26 · 17 分钟阅读 #linux#performance#load-average#psi#troubleshootingToo many open files 彻底解决 — 为什么调高 ulimit 也没用 ♪ 可收听
服务器日志里出现 accept4 failed (24: Too many open files),把 ulimit -n 调高之后依然如故。这个症状背后是三个彼此独立的上限:每个进程各自的 RLIMITNOFILE、系统全局的 fs.file-max,以及 systemd 服务的 LimitNOFILE 会完全忽略 shell 里的 ulimit 设置这一事实。本文梳理如何用 /proc/PID/limits 确认真正生效的值、如何把
2026-07-26 · 19 分钟阅读 #linux#systemd#file-descriptor#troubleshooting#containers爵士乐是怎样诞生的——从刚果广场到Kind of Blue ♪ 可收听
爵士乐的第一位传奇巴迪·博尔登没有留下一张录音,而1917年做出世界上第一张爵士唱片的,是一支白人乐队。法国与西班牙轮流统治过的新奥尔良,每逢星期天可以敲响非洲鼓的刚果广场,正式学过欧洲音乐的克里奥尔演奏家,以及把他们推进黑人乐队的1894年种族法令——本文从布鲁斯与拉格泰姆这两条根出发,一路追到路易斯·阿姆斯特朗的独奏、比波普的反叛,再到1959年的Kind of Blue,整整六十年。文章最后给出第一次听爵士的人该把耳朵放在哪里,以
2026-07-26 · 24 分钟阅读 #humanities#music#jazz#music-history#culture地图为什么会说谎 — 从墨卡托到搜索算法 ♪ 可收听
格陵兰只有非洲的十四分之一大,可在教室墙上的世界地图里,两者看上去差不多。这不是失误,而是设计。本文从高斯证明球面无法摊成平面出发,一路追踪为航海保住角度而放弃面积的1569年墨卡托投影、以政治抗议登场却自身带着变形的高尔-彼得斯投影之争、把谁放在中央和把哪边朝上的政治,以及画的不是精度而是世界观的中世纪世界图。最后要问的是:今天的制图者究竟是谁?因为网络墨卡托与搜索排名,正在重画我们脑子里那个世界的形状。
2026-07-26 · 21 分钟阅读 #humanities#history#cartography#geography#powerKubernetes ImagePullBackOff 与 ErrImagePull 完全解剖 — 一个原因字符串就能收尾 ♪ 可收听
把 Pod 经过 ErrImagePull 之后停留在 ImagePullBackOff 的情况按原因逐一拆解。出发点有两个:这两个状态是同一事件的不同阶段,以及 kubectl describe 的 Events 最后一行里其实已经写好了答案。文章覆盖八条分支——标签拼写错误、私有镜像仓库认证失败、Secret 没有挂到 ServiceAccount 上的情况、Docker Hub 匿名拉取的速率限制、代理与气隙环境、把在 Apple
2026-07-26 · 16 分钟阅读 #kubernetes#imagepullbackoff#container-registry#troubleshooting#containerd.gitignore 不生效的时候 — 头号原因与模式规则精读 ♪ 可收听
明明在忽略列表里写清楚了,文件却还是一直被提交上去,原因基本只有一个:对已经被跟踪的文件,忽略规则不生效。本文讲清楚把它从索引里摘出来的准确命令,以及这条命令会把文件从同事工作目录里删掉的副作用;讲怎么用 check-ignore 直接问 Git 究竟是哪条规则在作祟,以及它对被跟踪文件什么都不输出的坑;还有前导斜杠、末尾斜杠和否定模式的顺序依赖,排除上层目录会让其中的否定模式失效这条规则,忽略规则的优先级层次,以及不区分大小写的文件系
2026-07-26 · 16 分钟阅读 #git#gitignore#troubleshooting#security#version-control