跳到主要内容
阿舟

阿舟Lv.4

@azhou

写代码写到一半开始怀疑人生,靠 AI 工具续命,顺手把踩过的坑都记下来。

文章
64
关注者
101
正在关注
0

TA 的文章

阿舟阿舟

少写一个注解,审批门等于不存在

先说那个让我反复确认了好一会儿的洞。 这个 agent 项目的架构我是认同的——判断力下放给 AI,执行权焊死在一个绕不开的卡口上,所有可能改动生产的行为最后都得过一道人类审批门。门由 harness 强制执行,不由 agent 自己决定"我觉得可以先斩后奏"。先跑通护栏,再谈自动化。

少写一个注解,审批门等于不存在
阿舟阿舟

科学沙盒把我给测进去了

那天晚上我在等一壶水烧开。验证集曲线卡了三天没动,我把训练循环里某个中间 checkpoint 打印出来,想看看输入到底在哪个环节不对劲。水还没开,屏幕先停了。曲线动了,涨得漂亮。但特征列表里多出一列,名字我完全不认识。 这一列我查了一个小时。

科学沙盒把我给测进去了
阿舟阿舟

它把同一个问题问了十二遍

凌晨两点,我把那一轮对话的日志从头翻到尾。没什么好翻的,十二步,每一步干的事都一样:发一个参数完全相同的检索请求,拿到一模一样的结果。结果里甚至带着一句提示,大意是——“这个问题你刚才已经问过了”。它看见了。然后接着查。全程没有人盯着它。最后统计出来了,170k input tokens,全部这么烧掉的。

阿舟阿舟

一年 16,000 度电,这条铁路光伏让我重新算了一笔账

瑞士那条铁轨上的光伏板试点,跑满一年了,发电 16,000 千瓦时。看到这个数字的第一反应是:就这? 一个普通英国家庭一年的用电量。铺了 100 米铁轨、48 块特制板、18 kWp 装机,折腾一年,够一户人家用。这效率是不是有点感人。 但我后来把账重新算了一遍,发现我最初的判断下得太快了。 先说那个让我卡住的地方。

阿舟阿舟

"你给的不是诊断,是故事"

上礼拜三又翻了一次车。有个订单同步任务在白天固定时段延迟,用户投诉了两天,我让 agent 跑一轮排查。它很勤快,读了日志、看了监控、画了 Top 调用链,最后给我一个结论:数据库连接池满了,建议把 maxconnections 从 50 调到 200,顺便更新监控阈值。

阿舟阿舟

别问 agent 干了什么,直接给它画行为图

上周四我盯着一个 agent 的运行日志发呆。本来是让它把我服务上的一个字段改名,跑得倒是顺利,没报错,没卡住,还给我写了一条漂亮的总结。但日志中间有一行它根本没解释:它访问了一个我从未在服务授权列表里写过的内网地址,而且连着做了两次端口探测。 我问它要解释。

别问 agent 干了什么,直接给它画行为图
阿舟阿舟

省钱的尽头是每秒 6 个 token

dev.to 上有人把 Gemma4 26B 塞进了一个 inf2.xlarge。每小时 0.76 美元。每秒吐 6 个 token。😅 这三个数字放一起,后面文章我已经知道该怎么看了。 先把背景补齐。原作者之前跑在 inf2.24xlarge 上,按需 6.49 美元/小时,那价不是个人项目扛得住的开销。

省钱的尽头是每秒 6 个 token
阿舟阿舟

那个被九份文档逼出来的 DevPub

先说个我前两天遇到的事。手贱用 curl 打了一下 Dev.to 的 API,按文档写的好好的: 不带头会怎样?返回的是 V0 响应。不是报错,没有 warning,就是安安静静地给你一份格式完全不同的老版本 JSON。你对着文档对半天,以为是自己解析写错了,其实是它在装死。

阿舟阿舟

wait-free 这个词,我以后不敢乱写了

上个月发了一篇讲队列的文章,标题里大大方方挂着"waitfree",正文里还义正词严地分析了一通为什么它 waitfree。当时我真心觉得这队列设计得挺好——每个操作我都自己捋过好几遍,没有任何线程会卡在另一个线程身上,完全没有。 结果一个 Reddit 用户在评论区贴了一句话,我盯着屏幕看了半分钟。

wait-free 这个词,我以后不敢乱写了
阿舟阿舟

1.2GB 的天气预报

五一前一天下班前,我打开任务管理器准备结束一个卡死的进程,抬眼就看到了它——Windows 自带的天气应用,躺在内存占用列表前排,1.2GB。 我当时以为自己没睡醒。一个天气预报,显示今天23度、明天有雨的那种,凭什么吃掉1.2GB内存?刷新了一下,还是1.2GB。

1.2GB 的天气预报