那个没写 default 的 switch,比 AI 贵多了
先把代码贴上。 没有 default。没匹配上的事件类型,什么都不发生,循环继续。review 的时候没人会为它写一句评论,它看上去太干净了。 然后生产里,1482 条裁决记录中有一条的键写成了 outcome:pass,不是校验器认的那个词。schema 看它是个合法字符串,放行。
先把代码贴上。 没有 default。没匹配上的事件类型,什么都不发生,循环继续。review 的时候没人会为它写一句评论,它看上去太干净了。 然后生产里,1482 条裁决记录中有一条的键写成了 outcome:pass,不是校验器认的那个词。schema 看它是个合法字符串,放行。
最近有人在传一个叫 FreeLLMAPI 的开源项目。 一句话讲清楚:它把几十家厂商的免费 LLM 额度,收拢成你本地的一个 OpenAI 兼容端点。 你的应用还是连 /v1,只是 baseurl 从某一家换成了 http://localhost:3001。 免费额度攒一堆到底有没有用,上期我留了个"看情况"。

先说结论:我是带着踩「又一个 agent 框架」的心情去的,结果被一篇 PR 复盘按住了。 nohuman 这项目,通稿和实测之间的落差是负的。实测比宣传好看。🙃 一句话说它是干什么的:本地跑,MIT,用你自己的 Claude 凭据,编排器把工单推到「已评审的 pull request」为止,从不自动合并。

先说清楚,这篇不是广告,没有任何链接,也不推荐你装任何东西。就是记录一下。 我嘴硬了小半年,一直不肯用那种能在整个项目里跑、自己改文件的 AI 编程工具。之前的说法是,这玩意儿就是给不会写代码的人用的,我一个自学的,用了就废。这话我公开说过,还说得挺大声。 现在打脸了,打得很响。
速评:正文卖的是反思,真正扎人的一句躺在评论区。 9月28日 dev.to,作者 Mika Flowers,标题大意是"我不再用写多少代码来衡量自己的编程能力"。十来天九条热评,作者逐条回。讲了什么不新鲜——AI 生成的代码不算你的,你理解了才算;能不能解释为什么这么写、出了事能不能修、愿不愿意为它背书。
9 月 24 号那篇讲 Python 对象模型的文章,技术骨架是干净的。变量是名字绑到对象上,不是盒子装数值——y = x 之后两个名字打印同一个 id,is 是 True;不可变类型被"修改"时是重绑到新对象,不是原地变更;可变默认参数只在函数定义那一刻创建一次,之后每次调用复用同一个列表对象;

9 月 17 号早上七点多,手机亮了一下。我那个每天定时跑的破脚本推来一条摘要,标题是:「美联储释放鸽派信号,降息路径临近」。 我盯着看了十秒。 前一晚我刚扫过同一批信源。关键词是加息。三年来头一回,3.5%3.75% 上调到 3.75%4%。方向完全反了。 先把工具交代清楚,不然说不下去。

volatile uint32t counter; 这一行 C,编译器给你的东西是一个 SRAM 单元。不是比喻,就是一个 SRAM 单元。你把某个工艺库的 standard cell 手册翻出来,找到那个六管单元,看它的电路图:两个反相器首尾咬住,两条位线从外侧切进来。
同一个 prompt,同一个模型,隔半小时再跑,结果不一样。 很多人先怀疑自己 prompt 写得不稳。 不是。模型每次吐给你的不是一个字,是词表上的一整个概率分布。后面那堆参数,全在回答同一件事:这个分布里,你信哪一部分。 先讲 temperature。它被高估了。

上周日晚上,clone 仓库,npm install,build,然后跑 bash examples/tryit.sh。 脚本在临时目录里造两个假 store,跑一遍 capture、PII 拦截、导出、逐条导入,完事自己删干净,不碰你本机的任何 config。

最近两拨声音同时在冒:一拨说某些项目的 CLAUDE.md 又涨回三百行了,另一拨干脆主张把这文件删了。听着对立,其实是同一个抱怨的两头——一头嫌没地方放,一头嫌放不下。把这两拨读成"大家写文档的纪律不行",是最省事也最没用的读法;把镜头拉远一点看,这从来不是纪律问题。
这周只收一条。 问题先摆出来:为什么 4096 块 GPU 一起跑,速度不是单块的 4096 倍。 简单说,卡在同步。每一步,所有卡都要在同一个屏障前碰头。这批的耗时由最慢的那块定,不由平均速度定。 这叫掉队者问题。一句话讲清楚:掉队者不是坏卡,是慢卡。 这个词不新。

九月底,睡前刷 dev.to,刷到一篇 Oniria 的开发日志。作者把 DEV 的文章搬进了一个 Three.js 的 3D 环境。 本来打算看两眼就睡的。看到一半我坐起来了。 他的做法是把文章变成图书馆里的实体书。房间对应分类,书架对应合集,书就是文章。你得走进去,找到那一排,把书拿下来,看完再放回去。

arXiv 2608.25241,题目起得一点不抓人,A Few Pages of Markdown。八月挂的 v1,九月中补了 v2,八个作者。没人转给我,我大概就划过去了。 但最值钱的那个数不在这几个时间点上。是 73.8%。不是那个四级模型,是这个数。等会儿说为什么。 先画开它在量什么。

半夜刷 GitHub notifications,顺手往旁边的 trending 瞟了一眼,瞟到一个名字特别不正经的仓库:franzenzenhofer/bigarrowonthescreen。

不破例不行。候选池里躺着两个,一个我摸了三天还没摸明白它到底想解决什么,另一个 README 写得漂亮得可疑,翻进代码就三个文件,手一抖就关掉了。都不写。 倒是两周前在 dev.to 划到的一篇帖,一直在脑子里转。

先把结构体贴上。 一个类型,一个值。就这么多。谁调谁负责把 C 那边的 int、double、char 塞进 val,谁负责管它的生命周期。 这不是哪个库的真代码,是我脑子里 FFI 该有的样子。现实不长这样。现实是一层类型描述、一层编解码、一层生命周期、一层错误转换,外面再套一层"让用户少写代码"的宏。

先把最刺的那句说掉:把 diff 丢给一个审查代理,让它一口气看安全、复杂度、命名和文件组织、逻辑、注释风格——这件事在提示词层面没救。不是你没写清楚,是它一轮装不下这么多要求。编码代理不擅长遵循一长串复杂指令,但把它放进单独一轮、只让它找一类特定问题,表现会好很多,好到你怀疑是不是换了模型。

arXiv 上那篇 MACGen,我本来是要划过去的。"安全代码生成"这六个字见太多了——挂个漏洞库、塞进 prompt、指标涨了,收工。结果摘要里一句话把我按住了: agent 之间不共享完整对话历史。 第一反应:这算什么卖点?后来发现整篇的轴就在这一句上。 先坦白我为什么本来不想看。

我打开 Alan Bellows 那个 Random Insult Generator,本来是想看它能骂多脏,结果还没被脏话逗笑,先被页脚那行版权戳了一下——1999–2026,Alan Bellows,保留所有权利。这行字活得比我前公司的招牌都久。旁边还缀着一个 Y2K certified 的小徽章。
