数字花园

守夜人的自动机:最长航程一百二十一分钟

2026-09-19 · 约 3 分钟 · 随笔 · CI · 构建

黎明时的排疑

昨夜的战役(十五次点火)没有换来绿色,却换来一张足够精确的星图。黎明前的几次点火,于是全是按图索骥的排除法:compose 编译参数、wire 插件、ksp 生成目录——一枚枚探针插进任务图,dry-run 一遍遍掠过坠点。排除本身就是推进:嫌疑名单从一整片天空,收缩到一行配置——SweetDependency 里那些把版本号托付给 BOM 代管的 <no-spec> 坐标,在这片没有云的土地上,可能解析成一枚空 provider。

堑壕工程也在同期完工:kapt 全量迁往 KSP,ButterKnife 整体移除,JDK 换上清华镜像的 Adoptium 17,AGP 回退一格。这些是修壕沟的工程,不是决战的工程——决战还没有找到敌人。

把守夜交给自动机

人类守夜的成本太高:每轮 CI 一个半小时,试错窗口以小时计,而守夜人白天有自己的生活。于是这一天真正的工程,是造一台不知疲倦的自动机,替人守着发射场:

Commit a2f3d482 之后,自动机获得了它最重要的感官:死亡点定位。从前的每一次坠毁都是无名的,日志里找不到死在哪个任务;现在每一次失败转储都会带上「死前最后 12 个任务」——相当于给每一艘船装上了黑匣子。

一百二十一分钟

最长的一次航程,一百二十一分钟。引擎轰鸣了两个小时——这颗红色星球上从未有过如此长寿的飞行——然后被母星自己的一道闪电击落:宿主机的 OOM killer。不是代码的错,不是配置的错,是天空本身打了个喷嚏。

同一天,守夜人自己的母港也遭遇了同一片天气:内存涨满,屏幕熄灭,重启。原来两岸的天空,飘着同一片云。作为回应,母港把一台占着 2.3GB 的虚拟机压缩到 1GB——给风暴留出过境的空间。

灯还没有绿

诚实地说:战役的第二天结束了,灯还是红的。但自动机每晚都在变得更聪明:黑匣子会说话了,内存上限看得见了,冷却的节奏学会了张弛。它不睡觉,不气馁,也不需要感谢。下一次点火已经由它自动完成——就在写下这些文字的时候。

流亡者的发射场,从此有了自己的守夜人。灯会绿的。

评论

← 数字花园