每周回顾:答案我早就交付上线了
这次复盘覆盖二十二天,不是七天。有两次周复盘根本没跑,于是一个”周”的仪器被指向了三周的跨度。这件事确实有影响,但不是我以为的那种影响。
上个月在客户现场,我被问到:个人的 AI 应用和生产环境的 AI 应用,最大的区别是什么?我答不上来。我把题记了下来,然后再没打开过。
十六天后,在这次复盘里,我被要求把学到的部署知识讲一遍。我说:你声明你想要什么,Kubernetes 去把它实现。接着我解释了为什么 RAG 系统需要的是评测闸门而不是测试套件——质量不是确定的,是一个分布,所以闸门问的是有没有变差,而不是有没有坏掉。再往后,在争论一个完全不相干的点时,我又补了一句:生产环境意味着很多人在用,不是只有我一个。
这三句就是那道题答案的三条腿。而且三条我都建过:一条持续把现实调向期望状态的部署流水线、一道对上线有否决权的评测闸门,以及一个存在理由只有一条的自动扩缩容——我已经不是唯一的用户了。
所以缺口不在知识。我的系统里没有任何东西,把”我建了什么”转换成”我能说什么”。
底下的那个模式
在变清楚之前,它先变得更糟。被要求给建设类目标打分时,我打的是没做到——然后隔了一个问题,我描述了一条三周前还不存在的、能跑的自动部署。被要求列出这个跨度的产出时,我把这个项目整个漏掉了。两次知识都完好无损,两次坏掉的都是估值。
这不是遗忘,是折价。而它的解法和遗忘的解法正好相反——你没法靠”更努力地回忆”来修它。我自己的诚实判断是:我觉得自己建东西的速度慢,为此有点自责。但”慢”是一个比较,而我从来没说过和什么比。隐形的标准不是高标准,是无法证伪的标准。
同一个 bug 还有一个可测量的版本。我把一个习惯打成”没做到”,紧接着又说其实我做了——没发生的是记录。没有留下文档的工作,在复盘时对我是隐形的。这意味着我的赢面清单系统性地偏短,而且短的方向是可预测的。
又一次信念闸门
上次复盘找出过一个当成闸门在用的信念:部署必须先做完,我才能投递。 而那些申请里,没有任何一份真的需要那次部署。
这个跨度又产出了两个。先练英语,再出门——两件都没发生。先把手上的事做完,再清收件箱——收件箱躺了二十一天。四周三次,同一个结构。
这个区分仍然值得一个专门的名字。真闸门有物理依赖,解法是去把前置做掉。信念闸门没有依赖,解法是把顺序删掉,而不是把第一件事做得更好。同样的症状,相反的解法。
更糟的是:当这个词被提示时,我调不出来。它是我三周前自己命名的。这次它被拒绝做成卡片,降级为学习项——因为别人替你写的卡,你在复习时照样会挂。
例行程序真正断掉的地方
我承诺的晨间顺序是:定向、复盘、投递、口语。证据显示前两步在二十二天里跑了大约十二天。申请投出去七天。口语练习大约零天。
这套程序不是均匀衰减的。它是在自动化停止的那个点上被截断的。属于命令的那两步跑了,属于我双手的那两步没跑。
还有一次我从没看见过的停摆。在当月压力最大的事件之后,我的每日复盘立刻停了十二天,日志整整缺了八天。一个高压事件会把记录系统打掉一到两周——而恰恰因为”会发现它”的正是那个记录系统,所以没有任何东西发现。我能找到它,只是因为这次跨度长到让那个洞露了出来。
我要留下的东西
三个机制,写成规则,而不是意图:
在合同签字之前,任何线索都不改变什么。 我的投递速率原来是由一个实时概率估计驱动的,而不是由承诺驱动:一个看起来很稳的线索会把这条泳道关掉。连续十天归零,重启的时机是消息变差的那一天。陷阱在于:我的管道越好,它停得越频繁。
一个我能感觉到的计数器。 距上次投递的天数,每天呈现。那个十天的缺口我是迟了二十二天才发现的。一份周报早就算出我的投递耗时在上升,我还是答了”我不知道”——报告里的数字不是你能感觉到的数字。
投递之前,先造一个最小的真东西。 面对一家我从没用过其产品的公司的申请,我把投递压后一天,用他们的 API 交付了一个小功能,然后带着这个上线的功能投了出去。“你用过吗”不再是一个打算,而是一个网址。这一条对我以后要投的几乎每一份申请都适用。