Featured image of post 轮椅炸了之后:一个重度 AI 依赖者的自救

轮椅炸了之后:一个重度 AI 依赖者的自救

我的所有模型渠道都跑在一个本地网关上,昨夜它崩了整夜——崩溃循环、一万两千次自动重启、所有出口全挂。我醒来才发现,自己连怎么手动启动它都不知道。坐了很久轮椅,轮椅突然炸了。这篇记录那个瞬间的感受,和我给自己开的药方:不读学位,补一套从与非门到操作系统的骨架训练。

天塌了一整夜

先讲昨天夜里发生的事。

我这台机器上跑着一个叫 CPA(CLIProxyAPI)的本地网关,所有大模型的渠道——Claude 的、Grok 的、GLM 的——全从它走。八个 AI 工具:opencode、codex、kimi、pi、gemini、mimo、openclaw、hermes,还有 claude 本身,出口基本全指向它。它就是我的轮椅,而我已经坐了很久。

前天夜里 21:59,它崩了。而且是崩进了死循环。

日志很吓人:systemd 每两秒把它拉起来一次,起来就死,死了再拉——整夜循环,八个小时,一万两千多次自动重启。我睡觉的时候它还在崩,早上醒来,所有工具全挂。五点三十九分,一个修复动作把它停掉(那一下也让循环计数停在了 12,443);五点四十二分重新拉起,此后十五个小时,零故障。

事后复盘,连环因都清楚了:一个 agent 改配置改崩了它,另一个 agent 在修别的工具时顺手做了修复,一晚上全靠 systemd 在托底。真正托住我的是 Restart=always 这一行配置,和一个我没参与过的自动修复过程。

我全程在睡觉。

醒来之后的第一反应,不是看日志,是一种很陌生的恐慌:如果 systemd 没托住,如果没人修,我不知道怎么把它手动拉起来。

我不是没学过。这个网关是我自己一步步搭的,systemd 服务是我自己配的。但搭完之后的这几个月,出问题永远是 agent 在管:日志 agent 看,配置 agent 改,重启脚本 agent 写。三个月前我大概还能徒手把整套服务拉起来;今天,我盯着那串服务名,已经想不起来该用 status 还是 –user。

就像坐了很久轮椅的人,腿是有的,只是忘了怎么用。

查完之后,天没塌

先说结论,免得这篇读起来像卖惨:现在一切正常。

服务活着,已经稳定十几个小时,健康检查 200,一百多个模型在册,实测调了一个,正常回话。八个工具挨个验证过,全部能用。

我后来看 journal 的时候有个发现,让我后背发凉:那个服务的重启计数器停在 12,443,我看第一眼以为是历史累计——细看才发现,循环开始之前它才 286。一万两千多次里,98% 来自昨天那一个晚上。不是我路过了一场小事故,是我的整套基础设施整整瘫痪了一夜,而我在睡觉。

但恐慌不只是数字给的。它问了我一个问题,我答不上来:

离开 agent,我还剩多少工程能力?

轮椅不是问题,忘了怎么走才是

冷静下来想,依赖本身没错。我有注意力缺陷,agent 对我不是奢侈品,是基础设施——过去两个月,我靠这套东西做完了安全研究、博客管线、几个产品。轮椅让我去了以前走不到的地方,这是事实。

问题在另一处:轮椅坐久了,人会忘记自己原本能走多远。

不是所有能力都会退化。架构判断我天天在用,越用越准;排障直觉也是,agent 修不好时最终还是我做裁决。真正在退化的是底层手感——命令行肌肉、系统层的因果链、从零把一个服务拉起来的完整流程。这些以前是我手上的活,现在全变成了 agent 的输入输出,我站在管道外面看仪表盘。

仪表盘看多了,人会误以为自己懂管道。

所以我决定补课,但不读学位

醒来之后的那个早上,我的第一反应是:去读个计算机的本科或硕士吧。

冷静半小时后否了。因为我把动机拆开看,发现我要的不是学位,是那套系统训练——学位里值钱的是课表顺序和逼你动手的实验,这两样现在都是免费公开的。而学位路径里最贵的是时间:入学、考试、在别人的课表里排队。

所以是自学,但要"像大学一样"的自学:有顺序,有实验,不跳课。给自己排了三层:

第一层,打地基(四到六个月)。主线 Nand2Tetris,一门口号是"从与非门到俄罗斯方块"的课:第一周用与非门搭出 Not、And、Or,最后自己拼一台能跑程序的计算机构造,再为它写汇编器、虚拟机、编译器,一路到一个小型操作系统。CS50 当辅线补编程手感。学完的预期收益很明确:计算机没有魔法——每一层都自己搭过,塌了知道塌在哪。

第二层,三根硬骨头(一到一年半)。《深入理解计算机系统》配 CMU 的实验;MIT 6.S081,在 xv6 上改真内核;《计算机网络:自顶向下》。这是科班"系统感"的核心三门。学完网络这门口,以后再遇到 SSH 被运营商干扰、代理池卡死这类我自己环境里真实发生过的事,就不是等 agent 救,而是知道该从哪一层往下查。

第三层,拿自己的机器当战场。这一条我给自己立了规矩:遇到故障,先自己手查三十分钟,再叫 agent。我家里跑着一整套真实的基础设施——网关、容器、隧道、数据库,普通学生要造假想项目才有得练的东西,我现成就有。这三十分钟就是训练本身,而且学的全是真东西。

第一层第一天的任务已经定了,很小:下载软件套件,把第一个项目里的一个 And 门文件填出来。

最后

给自己留三条保命命令,以防下次轮椅再炸:

1
2
3
systemctl status cli-proxy-api.service      # 看死活
sudo systemctl restart cli-proxy-api.service  # 手动重启
curl http://127.0.0.1:8317/healthz          # 探活,返回 200 就是活的

三条命令,一行一行敲进终端。敲完我才意识到,这大概是我几个月来第一次,不带任何 agent,亲手摸这套系统。

轮椅我会继续坐——它确实快。但腿,得练回来。

写完这篇的时候,那个服务已经稳定运行十几个小时了。它不知道自己崩掉的那一夜,把我炸回学校了。