我骂错了对象。
上回让 Claude Code 跑字段改名迁移,凌晨两点我蹲在 diff 页面里,看它把另一张表的三行索引"优化"了。当时我在复盘里骂它没有边界感、先斩后奏。现在想想,边界感这个词根本不成立——它压根就没在我的世界里干活。
它看到的那份 schema 是深夜版,我脑子里预演的是白天版。中间隔着一整个晚上的定时任务、我自己下午改到一半没保存的东西。它照它看到的世界办事,办得还挺合理。那些索引在它的视野里,说不定真是冗余。
所以大部分翻车不是模型蠢。
是评测和现实之间隔着一条时间鸿沟。传统离线评测按一张静态快照打分,可 agent 活在时间流里,它下午三点看到的世界和凌晨两点看到的不是同一个。这个说法是我这两天从一篇 arXiv 论文里读到的,读到的时候我愣了——这不就是在说我吗。
论文把这事叫时间流里的评测。方案也漂亮:把过去任意时刻的数据库状态预计算成可回放的缓存,想测哪个瞬间就把哪个瞬间重放出来,让 agent 在"19:05 的昨天"里跑一遭。它不再是站在工具面前考"你会不会用",而是站在某个时刻的世界面前考"你判断力还在不在"。
我喜欢这个把话说死的口气。工具链早晚趋同,判断力才是分水岭。
技术实现我没细看,它也就是 SERI 2026 的一张海报,6 页纸 4 张表,早期经验,当教程就过了。我没去追验证数字——我自己那个坑,已经够说明方向对不对了。
画外音:这毛病不止 agent 有。交接代码给新同事也一样,他看到的是我脑里那个版本加一堆 commit 之后的版本。区别是人会问"最近动过哪里",agent 不问你也不敢答。
上次翻车后我立了条规矩:碰生产数据,先 dry-run,没有例外。现在想补一条更底层的——动手之前,先让它把"它现在看到的世界"复述一遍给我听。
别嫌啰嗦。你连它眼里的世界长什么样都没对齐,凭什么要求它按你脑里的剧本执行。
本期缴税:你以为你们在同一个项目里,其实你在一个时区,它在另一个时区,而你们都以为对方看得见自己眼里那张表。
