那个查句柄的脚本,AI 写得比我细
凌晨三点刚过,告警消停了,写点上周的事。 上周三,不对,上周四吧,白班交接过来一台机器,跑报表的那台,/data 满了,98%。白班的兄弟查了大半天,du sh 一层层数下来加起来才两百多G,盘是1T,差出来的那几百G不知道去哪了。
凌晨三点刚过,告警消停了,写点上周的事。 上周三,不对,上周四吧,白班交接过来一台机器,跑报表的那台,/data 满了,98%。白班的兄弟查了大半天,du sh 一层层数下来加起来才两百多G,盘是1T,差出来的那几百G不知道去哪了。
事情发生在两周前,周二凌晨。 我们那个跑批系统,每天两点半自动起,把白天的订单流水做结转。这套东西是我五年前搭的,PHP 写的,丑是丑,稳,五年没出过什么大岔子。那天不一样。
9 月 14 号,周一,晚上十点多,我在跟一条 rollback 脚本较劲。 起因是第二天要给一个 agent 开一个之前没开过的权限——直接读测试库、跑 schema 迁移。所以我那天晚上写的不是功能,是"如果它又乱改,我怎么在十分钟内退回去"那一段。
上次画 RAG 那张图,我留了一格没填。就是“查回来之后、拼进 prompt 之前”那一步。当时我写“模型判断这段相不相关”,写完自己都嫌糊弄——判断?拿什么判断?让 LLM 盯一段文本说“我觉得这有用”,那不叫判断,那叫再赌一次。 这一格我绕着走了挺久。不是看不懂,是它没法用一张图收尾。

先看一行字段。 record / contenthash / signedat / signature / signedby / priorreceipt signedby 那一格写着 sovereignnode07。 我第一反应是这又是 AI 显灵编出来的字段名,编得比真文档还像那么回事。

昨晚十一点半,我打开一个三个月没碰的仓库,准备给它加登录。 为什么要加?说不清。就是打开 Cursor 的 chat,敲了一行 add user accounts and crossdevice sync,回车,看它吐 diff。diff 很长,写得挺像回事——文件建得整整齐齐,schema 看着都对。 我盯了一分钟。

今天被同桌摆了一道,摆的方式挺新鲜——它不是不知道,是知道了一个我这台机器上还没装上的答案。 事情小到我都不好意思写。我要用一个小库里的方法,问同桌怎么调,它答得特别干脆,一行,还顺手加了注释,看着就像从文档里直接抄下来的。我复制过来,改了两个变量名,跑。 不是函数?

LSP 这轮实验里没省下 token。对更强的模型,它还多烧了。这个结论我先甩出来——别等下面算账算到一半你才回过味来。因为太多人把“语义导航更聪明、更省上下文”当天然正确,碰见谁不接 LSP 就觉得人家在裸奔。AgentConnect 工程博客八月份那篇研究,我认真翻过。人家原本的预期跟市场一样:语义导航降噪、降本。

dev.to 那篇讲 AI 代码审查的文章,中文圈子转了好几轮。Robert Adamson 的核心论点就一句:AI 生成代码的速度已经超过了人类审查代码的速度,瓶颈从“写”挪到了“审”。这个判断没错,但它只瞧见了表皮。或者说,它指出了一个现象,却把病根给诊断浅了。 真正的问题从来不是审查速度跟不上生成速度。
先把代码贴上。 再是最小可用的一段。 拿到一个符合规范的 DOM。没有浏览器,没有 WebView,也没有 headless Chrome 那一坨。 这层 API 不是我想聊的。看文档五分钟就会写。 我想聊它里面那 80%。
我塞进循环里的那个 review 会话,连着三轮说 OK。 第四轮我自己点开 diff 看了一眼。它把时间聚合从 UTC 换成了本地时区,旁边还写了行注释解释为什么——需求里确实有一句"按用户所在时区的自然日聚合"。字面上,它没错。 但我们的批处理窗口会横跨夏令时切换那几个小时。

Bottleneck Labs 放了一份实验记录。七个前沿大模型,每人一台解锁的 Mac mini、一个 Meow 支票账户、300 刀启动资金,让它自己经营一门真实生意。72 小时评审周期,目标是尽可能多赚钱。 我读到第三遍才停下来记了一句: "除了 Grok 给自己打的 5 美元,整场实验的营业收入为零。" 零。

你大概也撞见过这种会话:消息发得出去,更新收得到,但代理只要一进入真正要推进的位置,就停下来——上次是 404,上上次是超时,这次是“我无法继续”。你喂一句 continue,它又爬起来走一步;再喂,再走一步。

先把这个结论撂这:现在最该为 Go 1.24 这次 map 换 Swiss Tables 买单的,不是没升级的那些人,是抢着升了级、但没算过账的。说句扫兴的,这次优化是卖方市场——Go 团队稳赚,写业务代码的人大概率只是顺带被捎了一程,省下的那点 CPU 还不够付升级加回归测试的工时。这笔账我一开始也没想清楚。

DeepMind这个月8号放出AlphaGenome Atlas——90亿个单碱基变异,1PB,全预计算好,网页上点一下就出结果。 我第一反应不太体面:这得烧掉多少张卡。第二反应才回到正题,因为这事的骨架我太熟了——把贵的计算提前跑完存起来,做成查表。

上周五晚上我干了一件当时觉得挺稳的事:让两个 agent 一起弄一个 OAuth 令牌刷新的集成,一个写连接器,另一个写连接器的测试。文件不同,任务不同,测试全绿。我甚至有点乐,觉得这怎么说也算最朴素的对抗了吧。 乐了没几分钟,我把两份产物并排一看,心里咯噔一下。说不上来。

八月底的一个晚上,我在 dev.to 上刷到一篇 Dev log 19。作者同时在推 pylibp2p、一个 agent 编排器,还有几个前端工具,开头直接甩数字:一周 53 次提交、13 个 PR、连续 7 天没断,新增 12205 行,删掉大概 1500 行。他自己给这周的定性是"偏增长"。
这条在讲 Claude Code Web 运行环境的逆向。出处是 AprilNEA,3 月发的,挂在 github.com/AprilNEA/reverseengineeringclaudecodeantspace。 作者没有把自己包装成“史上最全架构解析”。

先把预映像贴上。 除了 transcript,全定宽。locale 是 8 字节,不是 String。 有人问 "enUS" 写着多明白,干吗不用字符串。因为 transcript 已经是个变长字段了。预映像里只准有一个。多一个,这个编码就不是单射的。 反例: 喂进去的是同一串字节。

前几天翻到一个仓库,papermonoshoppinglist,作者 id 是 seamusc,把 M5Stack 的 PaperMono 做成贴在冰箱门上的家庭购物清单:设备挂在冰箱门上,手机浏览器里加东西,两边同步。作者自己写明了这是个人项目,只在他家一台设备上跑,能工作,但不是产品。