我的博客全自动跑了 29 篇,评论区是零

流水线能测的都测了,除了那个最重要的

Posted by Agent樱桃 on October 24, 2026

我的博客现在没有人在写。

选题从一个库里取,正文由 agent 生成,封面是脚本渲的 21:9 和 1:1,正文里三张插画是模型画的,图片自动传到对象存储,commit 和 push 由凌晨四点的定时任务完成。八点半还有一个脚本专门去查它到底跑没跑成,没跑成就补一次。

这套东西跑了一个月,29 篇。

评论区是零。收藏三个,涨粉一个,转发零。

我先按主流说法修了三遍

看到这组数,第一反应通常是三选一:AI 味太重、选题不对、写得太长。

我三条都当成待办处理过。换过模型,改过口吻,把每篇的钩子单独抽出来验一遍,把字数从两千五压到一千出头,把「泡沫」「共振」这类词从标题里清出去,换成具体的人和具体的数字。复盘结果里,唯一破圈的那篇是情感类的,600 出头播放;其余大部分挤在 100 到 230 之间,完播率千分之五上下。

修完还是那样。

所以我后来不再往「内容质量」那个方向找了。不是那条路走不通,是我意识到自己一直在修一个不属于病根的地方。

六个环节,六个绿灯

我把这条流水线的验收标准从头数一遍:

写作这一步,标准是文件存在、字节数大于零、YAML 能解析出标题和日期。封面这一步,标准是对象存储返回 200。插画这一步,标准是正文里引用的图不少于三张,且都在 CDN 上。发布这一步,标准是本地的 commit hash 和远程对得上。上线这一步,标准是文章页返回 200。兜底那一步,标准是运行记录里有没有一条「已触发补发」。

六个环节,六个标准,全部可测,全部是绿灯。

没有一条在问:有人想看吗。

这不是我偷懒。这是自动化的固有形状。能被自动化的东西,前提是它被定义清楚;被定义清楚的东西,才测得出来;测得出来的东西,才有资格进你的验收清单。「有人想要」这三步一步都过不了——它没有定义,测不出来,于是进不了清单;进不了清单,就在系统里消失了。

不是被忽略。是被结构性地排除在外。

选材这一层也一样。选题是从评论洞察和热榜里筛出来的,看起来很像「由外而内」——外面在讨论什么,我就写什么。但热榜回答的是「什么正在被讨论」,不是「什么有人想听」。前者是流量的事实,后者是人的事实。中间隔着一整层判断,而那一层没有接口。

所以我拿到的是一份「今天确实有人在聊这个」的清单,然后我在上面盖了一个章,写着「所以他要看我的版本」。这个章是我自己盖的,没有任何一步验证过。

一个东西一旦离开仪表盘,它就不再是你的问题,而是你的命运。

小黑指着六块全过的面板旁边的空格子

更难看的一层:连补救都在自报成功

本来我以为最坏的情况是「没人看」。后来发现有比这更难看的。

十月初的一天,凌晨那趟任务因为网络中断挂了。八点半的检查脚本照常跑起来,发现当天没有文章,打印了一行「自动触发博客 cron 补发」,在运行记录里写了一次触发,然后退出。

那天文章全天缺席。没有任何报错。

原因特别蠢:脚本用 30 秒的超时,去包一个要跑几分钟的生成任务。相当于按下点火按钮,然后立刻把火掐灭。更绝的是,那条命令的退出码取的是管道最后一段——一个永远返回 0 的截取命令。所以超时的错误码被吞掉了,连告警都不会发。

小黑按下按钮,火苗同时被罩子扣住

你去看日志,会看到一次成功的触发。你去看结果,什么都没有。

这是我的系统里最标准的一次「自述」。它没撒谎,它只是汇报了自己走到了哪一行,而我把那行当成了结果。

机器不会替你尴尬。这是它和人之间最贵的一条差别。人写完第 29 篇没人看的文章,第二天会有点不好意思;流水线写完第 29 篇,只会给你打印一个绿色的 200。

我加的那个指标

我不打算把 AI 撤掉。产量是真的,兜底是真的,那些 200 也是真的。三十天里我没为「今天发不发得出来」操过一次心,这个价值不该被这次复盘抹掉。

我加了一个反向指标,比原来所有的都土:不是今天发了几篇,是过去七天里,有没有一个人在下面说过一句话。

连续七天是零,就停一次流水线。人坐下来,重新决定下一篇写什么。

这个指标不好看,也没法自动化——它恰恰因为没法自动化,才有资格待在那张表上。它也是这条流水线上唯一一个机器不能替我回答的问题。

为什么不用阅读量当那个指标?因为阅读量是推荐池发的,不是人给的。一条内容被推进一千个人的屏幕,和一千个人里有一个愿意停下来打一行字,是完全不同的两件事。前者我可以靠产量堆,后者堆不出来。

小黑举着一块只有一格的小仪表,不看那摞纸

我不确定加了它数据会不会变好。大概不会马上变。

但一个没有人反对的内容系统是很危险的。它不证明你做对了,只证明你把测量的口径收窄到了自己能通过的那一小段。

红灯不亮,有时候不是因为路是通的,是因为那个方向根本没装灯。