2026-06-22

28 篇热帖

1. Deno Desktop (docs.deno.com)

Deno Desktop 概览

deno desktop 是 Deno v2.9.0 引入的新命令(目前可通过 deno upgrade canary 尝鲜,尚未稳定,API 仍可能变动),可将任意 Deno 项目(从单个 TypeScript 文件到 Next.js 等完整 Web 应用)打包为自包含的桌面应用。输出是一个可重新分发的二进制文件,整合了用户代码、Deno 运行时和网页渲染引擎,按平台分发生成独立包。

核心特性与权衡

与现有桌面方案(如 Electron、Tauri、Electrobun 等)相比,deno desktop 在以下方面提供了明确的取舍:

  • 默认轻量,完整 Node 兼容:默认使用操作系统自带 WebView 以控制体积,同时通过 Deno 的 Node 兼容层保留完整 npm 生态;若需跨平台渲染完全一致,可切换至捆绑的 Chromium(CEF)后端。
  • 框架自动检测:支持 Next.js、Astro、Fresh、Remix、Nuxt、SvelteKit、SolidStart、TanStack Start 及 Vite SSR 等项目。Release 模式自动运行生产服务器,--hmr 下启动开发服务器并支持热重载,现有 Web 项目无需修改代码即可直接转制为桌面应用。
  • 进程内绑定(Bindings):UI 与 Deno 后端通过进程内通道通信,而非基于 Socket 的 IPC。值在跨越调用边界时仍需编码,但省去了跨进程往返开销。
  • 单机构建跨平台:同一台机器即可交叉编译 macOS、Windows 和 Linux 版本,渲染后端按需下载,无需本地构建。
  • 内置二进制差分自动更新:开发者只需提供 latest.json 清单与 bsdiff 补丁,运行时即会自动轮询、应用更新,并在启动失败时自动回滚。

快速入门

创建一个单文件桌面应用:

Deno.serve(() =>
  new Response("<h1>Hello, desktop</h1>", {
    headers: { "content-type": "text/html" },
  })
);

执行 deno desktop main.ts 编译后,生成的二进制文件运行时会打开窗口,并自动导航到 Deno.serve() 所绑定的本地 HTTP 地址,无需手动指定端口或主机名。

文档涵盖内容

官方文档围绕以下主题展开:

  • 配置deno.json 中的 desktop 配置块。
  • 后端:CEF、系统 WebView、raw 等选项及选择依据。
  • HTTP 服务Deno.serve() 集成与服务模型。
  • 框架支持:Next.js、Astro、Fresh 等主流框架的适配细节。
  • 窗口管理Deno.BrowserWindow 生命周期、多窗口与事件。
  • 绑定机制:通过 bindings.<name>() 从 WebView 调用 Deno 代码。
  • 系统集成:应用菜单、上下文菜单、托盘/Dock、原生对话框、系统通知。
  • 开发体验--hmr 热模块替换、统一的 Deno 与 WebView DevTools。
  • 更新与分发Deno.autoUpdate()、差分更新、跨平台编译、输出格式与安装包。
  • 错误与对比:未捕获异常与 panic 上报、与 Electron/Tauri 等方案的对比。
2. Never Give Them Your Face (nevergivethemyourface.com)

绝不交出你的面孔

文章指出,全球多地正以“保护儿童”“年龄保证”为名立法推行网络年龄验证,要求用户在上传、发言或浏览前,以政府身份证件或面部扫描自证身份。作者认为,这实质上是将强制身份追踪写入法律,必须明确拒绝。

以儿童保护为名,行全民审查之实

尽管网络确实可能对青少年造成伤害,但相关立法正在利用这种真实的焦虑。要确认系统中没有儿童,平台就必须检查所有人。原本针对未成年人的规定,悄然演变为面向全网用户的身份准入门槛。用户并非因受到怀疑而被查验证件,而是因为“查验证件”本身已成为上网的前提。这是一种针对全体的许可证检查,却以少数潜在风险作为 justification。

实质是身份验证,而非年龄验证

这些系统名义上只回答“是否满18岁”,但实际架构几乎都需要采集完整身份信息:姓名、出生日期、证件号码及人脸生物特征。这意味着用户的真实身份将被 Meta、X、Instagram 等平台乃至各类政府机构掌握。这背离了互联网安全的基本原则——绝不向陌生人透露真实身份,实质上等于要求每位公民自愿“开盒”自己。

生物特征一旦泄露,无法挽回

密码泄露可以重置,但面部三维几何信息、护照或驾照数据一旦被采集便永久外泄。面部扫描不是普通照片,而是足以与街头监控摄像头进行比对的精确生物特征模板。这些数据往往存储在用户无法掌控、无法问责的第三方供应商服务器中,成为极有价值的“蜜罐”。无论平台承诺多么安全,历史已经反复证明数据泄露不可避免;而这一次外流的将不是邮箱或哈希密码,而是你的人脸与护照,直接流向暗网。

无效且适得其反

年龄验证在技术上极易被绕过:青少年可以通过借用账号、VPN、勾选确认框或在电商平台低价购买预验证账户等方式轻松突破限制。更严重的是,将用户按年龄分层的架构并未阻止 predators,反而可能生成一份“儿童索引”,成为精准筛选未成年人的电话簿。同时,被主流平台拒之门外的青少年并不会停止上网,而是涌入更小、更隐蔽、缺乏内容审核的阴暗角落,彻底脱离原本可能提供保护的监督环境。

数据库的长期风险与寒蝉效应

为“可信”政府建立的身份数据库不会永远留在善意者手中。政权更迭后,今天的身份登记册可能成为未来追捕抗议者、特定信仰者或异见者的地图。美国情报机构已有大规模监控公民通讯和聚集记录的先例。当真实姓名与网络言论永久绑定,整个互联网将变成人人自危的“办公室”,只留下最安全的表态,严重压缩言论空间。

原则性抵制:拒绝配合

调查显示多数人在抽象层面支持“保护儿童”与年龄验证,但作者强调,这并非一场需要赢得多数票的民意调查。验证制度的运作不依赖你的认同,而依赖你的配合。只要足够多的人拒绝上传照片、拒绝扫描、主动关闭要求验证的账户并明确告知平台原因,该系统就会因失去普遍合规而失效,平台也将因广告与收入暴跌而被迫游说废除恶法。

用户不需要赢得辩论,只需要不交出照片。平台需要用户,远胜于用户需要平台。绝不交出你的面孔。

3. Pledging Another $400k to the Zig Software Foundation (mitchellh.com)

Mitchell Hashimoto 宣布其家庭向 Zig 软件基金会(ZSF)追加捐赠 40 万美元,按两年、每年 20 万美元的方式拨付,与 2024 年的初始捐赠结构相同。至此,Hashimoto 家族对 ZSF 的承诺捐赠总额已达 70 万美元

作者表示,Zig 作为技术项目和社区持续赢得他的尊重。Zig 2026 年开发日志显示,项目在构建优秀语言与编译器等核心难题上取得了稳步进展。同时,他高度认可 ZSF 的维护方式与社区文化,例如 Loris Cro 推动的“Contributor Poker and Zig's AI Ban”等举措,认为这种理念持续吸引并培养了开源领域最优秀的人才。

近期,Zig 严格的“无 LLM 贡献”政策因 Bun 对 Zig 的分叉及其后续 Rust 重写事件再度成为公众讨论焦点。作者明确表示对 Bun 没有异议,也无意将此转变为批评 Bun 的文章;令他关注的是,人们迅速将彼此“妖魔化”,大量讨论缺乏对不同观点的同理心与尊重。

作者坦承自己大量使用 AI,曾撰写过 AI 采用历程及借助 AI 交付实际功能的经验,同时也公开呼吁理性看待 AI 能力,并对 AI 给开源带来的负面影响表示担忧。尽管如此,他强调:即便个人观点与 ZSF 的做法并不完全一致,仍对 ZSF 的人员、政策与项目充满尊重。他认为,开源与互联网的可贵之处在于,项目可以独特、与众不同,设立不寻常的边界,建立自身文化,以并非所有人都能理解的方式追求卓越。

他指出,Zig 是一款杰出的软件:雄心勃勃、务实、独立,且对质量有着非同寻常的认真态度。他本人开发的终端模拟器 Ghostty 之所以能存在,很大程度上得益于 Zig 让他得以构建自己想要的软件。文章最后,他表示为再次支持 Zig 与 ZSF 感到自豪,并呼吁有条件的读者考虑向 ZSF 捐赠。

4. Prefer duplication over the wrong abstraction (2016) (sandimetz.com)

宁可重复,也不要错误的抽象

Sandi Metz 在这篇文章中阐述了一个核心设计原则:重复的成本远低于错误的抽象。当代码被迫承载不匹配的抽象时,其维护代价会急剧攀升。

文章描述了一个常见的悲剧模式:程序员A发现重复代码后,提取出一个看似完美的抽象;随后新需求到来,程序员B为了不"破坏"既有抽象,开始向其中添加参数和条件分支;随着需求累积,参数与条件不断膨胀,原本通用的抽象沦为纠缠不清的过程式代码。后来的维护者面对这段复杂代码时,因沉没成本谬误而倍感压力——越难懂的代码越让人觉得"必定耗费了大量心血,不可轻易丢弃",从而陷入越改越糟的恶性循环。

作者指出,一旦抽象被证明是错误的,最快的前进方式是后退。具体做法是:将抽象代码内联回每个调用者,根据各调用者的实际参数剥离出真正需要的代码片段,删除多余部分。这能同时消除错误抽象和条件分支,让每个调用点只保留自身所需。此时往往会发现,各调用者实际执行的代码差异远比想象中大。彻底清理旧抽象后,可以基于当前真实需求重新识别重复、提取更恰当的抽象。

关键在于转变心态:不必固守过去的"投资"。当为共享代码不断追加参数和条件路径时,即表明抽象已失效。此时应尽早放弃错误抽象,让重复代码揭示正确的设计方向。这不是退缩,而是朝着更优方向的推进。

5. Did my old job only exist because of fraud? (david.newgas.net)

作者回忆早期职业生涯:他在英国初创公司 GenieDB 工作时,公司被美国风投基金 Frost VP(由 Stuart Frost 拥有)收购。作者作为实质唯一转移至美国的成员,经历了代码重建与团队全面更替,这段经历为他日后在美国扎根奠定了基础。

当时 GenieDB 过着典型的硅谷 startup 生活——快速开发、拒绝短期收入以追求技术领先收购。但公司长年客户寥寥,最终在大厂与开源浪潮中败下阵来。作者离职后逐渐意识到,公司似乎从未具备真正开发重大技术的实力。

十年后,作者得知 Frost 正遭美国证交会(SEC)起诉,且投资者已在先前的仲裁中胜诉,SEC 继而寻求禁止其未来管理基金。诉状指控 Frost VP 以孵化器身份向被投企业收取过高服务费,用以支撑 Frost 的奢侈生活;其甚至通过创建缺乏可行产品或商业计划的新公司,来套取更多管理费和孵化费。

这令作者不安:GenieDB 是否也卷入了这场欺诈?他深入查阅案卷,发现两点关键证据。其一,GenieDB 前 CEO 曾在作证时承认,他当时直接向 Frost 表达过费用过高的担忧。其二,Frost 基金内部邮件在测算资金缺口时写道:“目前还需要两家公司来覆盖成本(Genie 将于六月退出)”。这显示,投资动机可能是为了产生管理费,而 GenieDB 被当作向投资者榨取资金的工具。

作者一度感到渺小与幻灭——他的职业生涯、家庭乃至公民身份,似乎都只是这场资本欺诈的副产品。但他最终梳理清楚:GenieDB 的核心理念在 Frost 介入前便已存在,且后来被行业验证确有价值;他和同事们是真心实意地尝试构建产品,而非纯粹作为欺诈的幌子。作者由此释然:偶然事件、轻率决定乃至犯罪,本就常悄无声息地改变每个人的命运轨迹,只不过他在回望自己的人生时,恰好发现了一股黑暗的暗流。

6. Danish privacy activist Lars Andersen raided by police (twitter.com)

丹麦自由意志主义隐私活动家、前警官 Lars Andersen 在社交媒体上发文称,他在未获事先警告的情况下,遭武装蒙面警察破门入室并被逮捕。

据他所述,事件起因是他此前以“迂回且幽默”的方式公布了“他最喜欢的两个数字”——一个10位数和一个8位数,均以字母拼写。他并未直接说明这些数字的含义,但称它们实际上是丹麦首相 Mette Frederiksen 的社会保障号码和电话号码。同时,他还发布了一张截图,显示自己试图通过 WhatsApp 采访 Frederiksen,就禁止加密(CSA法案)以及授予警方和情报机构大规模监控权限(包括获取医疗记录、社交媒体帖子和研究用途的DNA登记等)的问题进行提问。

Andersen 描述称,突袭过程中,两名身着便衣的蒙面男子进入公寓后,其中一人立刻前往配电箱切断路由器电源,随后拆除了他的 Google Nest 摄像头,理由是这些摄像头具备本地存储功能。通过切断电源并带走设备,警方使得突袭过程几乎未被录像记录。他只保存下了断电前短暂时刻的画面。据他称,这段视频中记录了他要求警方告知指控罪名,但对方拒绝告知——他认为这在丹麦属于非法行为。然而,由于摄像头被警方没收,他目前无法获取相关录像,并对警方此举的合法性表示质疑。

Andersen 指出,在丹麦,拍摄警方在名义上完全合法,此举能够确保执法过程有据可查,避免陷入“各执一词”的困境。他对丹麦及西方整体在隐私与公民自由领域的走向表示担忧。

7. GLM 5.2 vs. Opus (techstackups.com)

核心结论

为验证 GLM-5.2 的真实能力,作者以相同的 one-shot prompt,让其与 Claude Opus 4.8 分别从零开始用原生 WebGL(不使用任何游戏引擎或 3D 库)构建 3D 平台跳跃游戏。测试表明,作者不会将主力模型从 Opus 切换:Opus 的 wall-clock 构建时间更短(33 分 30 秒 vs 1 小时 10 分 40 秒),成品更干净、正确性更高,且作为多模态模型,Opus 能通过查看渲染截图自检并修复视觉问题。GLM-5.2 的成品则相对粗糙,存在材质丢失、尖刺陷阱无效、无胜利条件、调试层未关闭等问题。但 GLM-5.2 的成本仅为 $5.39,约为 Opus 预估费用(~$21.92)的五分之一;加上其采用 MIT 许可证开源权重,可本地部署,不会被厂商突然下架或限制,因此值得长期保留在工具库中。

游戏实测表现

两者均完成了包含 GLB 模型解析器、矩阵/四元数运算、WebGL2 渲染器、GLSL 骨骼动画着色器以及 AABB 碰撞检测在内的可运行游戏。GLM-5.2 虽然正确实现了弹簧弹射机制,但出现了角色朝反方向行走、头部在相机移动时消失、纹理未加载(未读取共享调色板文件)等基础性视觉与逻辑 Bug,其死亡陷阱也完全失效。Opus 的 Bug 则主要集中在边缘情况:例如 coyote time 过于宽松导致角色可悬空站立,以及距离终点尚远时便提前触发胜利。在自检环节,Opus 通过直接“查看”截图发现了残留的调试信息并加以清除;GLM-5.2 因是纯文本模型,无法读图,只能退而分析像素颜色的数值分布来“验证”,因而漏过了明显的材质缺失与调试 overlay。

基准测试与业界评价

官方及独立评测显示,GLM-5.2 在开源模型中处于领先地位,在 AIME 2026IMOAnswerBench 等推理基准上甚至超过 Opus,但在 SWE-bench ProNL2RepoSWE-Marathon 等编码与长程智能体任务上仍落后于 Opus。Artificial Analysis 的 Intelligence Index v4.1 将其列为开源模型第一,同时指出其单位任务输出 token 约 43K,token 消耗较高。Simon Willison 称其为“目前最强的纯文本开源权重 LLM”;Nathan Lambert 则认为开源模型与顶尖闭源模型的差距正在缩小,中国实验室以更少算力达到这一水平是重大成就。

适用场景与总结

GLM-5.2 的 hype 大部分属实:它是一款真正强大、极具成本效益且可永久持有的开源模型,适合以文本和逻辑为主、对可用性与成本敏感的工作。然而,在需要高正确性、精细打磨、视觉判断或多模态交互的场景下,Opus 仍是更优选择。应将 GLM-5.2 作为常备模型纳入工具库,以应对对价格、自主可控性和长期可用性有要求的任务。

8. Codex logging bug may write TBs to local SSDs (github.com)

更新:2026年6月22日,该问题因两个修复PR合并而关闭。相关提交分别是:停止记录每个Responses WebSocket事件(#29432),以及从持久化日志中过滤噪声目标(#29457)。据报告,合并后可减少约85%的日志写入量。

问题现象:OpenAI Codex的SQLite反馈日志(~/.codex/logs_2.sqlite及其WAL/SHM文件)存在严重的写入放大,导致本地SSD被大量不必要的数据写入磨损。有用户实测,在约21天运行时间内,Codex共写入了约37 TB数据,推算全年可达640 TB。对于一块1 TB、TBW约600的消费级SSD,这意味着可能在一年内耗尽整盘的保修写入寿命。

关键数据

  • 保留量与历史写入严重失衡:数据库当前仅保留约50万–68万行有效数据(体积约1.2 GiB),但SQLite的AUTOINCREMENT行ID已突破55亿。 retained rows 与 historical inserted row ids 差距约1万倍,结合写入放大(WAL、索引、页重写、文件系统层面),历史日志churn规模已达10 TB以上。
  • 日志内容高度集中TRACE级别占保留字节约70.7%,其中codex_api::endpoint::responses_websocket一项即占527.4 MiB;codex_otel.log_onlycodex_otel.trace_safe两类INFO镜像遥测合计占约25.3%。仅过滤上述类别即可在该样本中移除约96%的日志体积。
  • 高频噪声源:大量inotify文件打开事件(如ld.so.cachelocale.alias)、tokio-tungstenite内部调试日志、重复的OpenTelemetry镜像事件等占据了主导。
  • 写入放大实测:在15秒采样窗口内,行ID增长了36,211,但保留行数未变,说明系统在以极高频率执行“插入—索引—WAL写入—再修剪”,造成巨额隐形写入。

根因:SQLite反馈日志sink的默认过滤规则设为全局TRACE级别(Targets::new().with_default(Level::TRACE)),导致所有依赖库内部日志、原始协议负载等低价值数据均被持久化。

建议修复方案(issue中提出):

  1. 不为SQLite反馈日志sink设置全局TRACE默认级别,提升或移除低价值依赖噪声(如target=logtokio-tungstenitehyper_util、inotify及低级别OTel SDK日志)的阈值。
  2. 默认不存储完整的原始WebSocket/SSE请求体,改为记录摘要信息(事件类型、耗时、成功/失败、token用量、payload字节长度等)。
  3. 避免持久化镜像的codex_otel.log_onlycodex_otel.trace_safe事件,除非明确用于反馈调试。
  4. 增设全局日志数据库大小/写入量上限,替代仅依赖每线程的限制。
  5. 保留可选开关(如sqlite_logs_enabled = false),供用户完全禁用该日志通道。
9. Apertus – Open Foundation Model for Sovereign AI (apertvs.ai)

Apertus 是由瑞士人工智能倡议(Swiss AI Initiative)联合洛桑联邦理工学院(EPFL)、苏黎世联邦理工学院(ETH Zurich)和瑞士国家超级计算中心(CSCS)共同开发的开放基础模型,旨在推动主权人工智能发展。该模型秉承“开放权重、开放数据、开放科学”的理念。

该项目强调完全透明:训练数据、代码、权重、训练方法以及对齐原则全部公开文档化,确保研究可复现,定位为 AI 领域的开源标杆。

合规性方面,Apertus 专为满足《欧盟人工智能法案》要求而构建,机制上尊重版权退出声明(opt-outs)、移除个人身份信息(PII),并采取措施防止模型记忆化,意图打造成全球可信赖的基础平台。

性能与规模上,Apertus 提供 80 亿和 700 亿参数级别的模型,可与同等规模顶级开放模型竞争,且从训练初期即支持多语言,覆盖 1000 余种语言。

瑞士电信(Swisscom)是该倡议的战略合作伙伴。项目通过邮件通讯向社区提供最新发布、研究成果及社区动态。

10. Tell HN: Happy Fathers Day

这篇 Hacker News 帖子以“Tell HN: Happy Fathers Day”为题,汇聚了多位父亲围绕父亲节与育儿经历的分享、感悟和互助。

回忆与致敬 多位父亲深情回顾了育儿路上的珍贵片段:有人细数女儿幼时翻洒钱包、送往日托、在加州大学伯克利办公室旁参加游泳课、因老板言行可怕当场辞职、驾车搬运大学行李等往事;并与三十年后重新演绎旧地重游的时光对比,感慨岁月流逝。他也致敬自己的父亲——一位商业艺术家,凭一己之力供两个孩子读完大学,每日长途通勤令人敬佩。另有参与者回忆父亲乐于动手修理家中物品,充满好奇心、无畏且不轻易放弃,这种精神深深影响了自己。

新手父亲的甘苦 不少初为人父者分享了孩子仅 80 天到 8 个月大的体验:虽然早期极度辛苦、睡眠匮乏,但仍称这是人生中最不可思议、最有回报的经历。有人坦言曾一度挣扎巨大,但某天会忽然意识到美好早已超过艰辛;孩子的微笑、握指或与三代同堂的合影,便是最好的父亲节礼物。

时光有限与珍惜当下 讨论中反复出现“时间稀缺”的提醒:由于孩子在 4–5 岁前几乎不记事,15–16 岁后进入青少年期,父母真正共度的“同一个日历日”大约只有 10 个;有数据指出,到孩子 6 岁时,相处时光已占一生的约 50%,12 岁时达 75%。因此众人呼吁享受与孩子在一起的每一天。也有父亲分享“额外 bonus 时光”——上大学的孩子暑假回家,一起拼图、听音乐、品酒,弥足珍贵。

实用建议与育儿心得

  • 健康提醒:有父亲强烈建议新手爸爸购买足弓支撑鞋垫,以预防抱孩子奔波导致的足底筋膜炎;也有人建议通过徒步、步行和拉伸强化足弓,从根本上解决问题。
  • 养育心态:长篇建议指出,父母无需完美或急于“教会所有好东西”,关键是“在场、有爱、安全、一致”;满足约 30% 的情感需求即可让孩子感到安全。应让孩子主导兴趣,父母及时给予关注和正向反馈,把每一次投入视为长期“投资”。
  • 屏幕时间:引用研究建议尽量避免让 18 个月以下的婴儿接触屏幕,以免影响大脑发育。

品牌与人文关怀 工作靴品牌 Brunt 创始人的信件被转载,他以两个儿子穿上自家靴子为荣,将创业的血汗与父亲身份联系起来,向所有兼顾工作与家庭的父亲致敬。此外,帖子也展现了对困难群体的关怀:有人为童年曾受情感忽视或虐待的读者推荐书籍与线上社区资源;也有夫妻坦诚分享多年尝试生育未果的沮丧与煎熬,并收到社区的鼓励与祝福。

11. Good results fine tuning a local LLM like Qwen 3:0.6B to categorize questions (www.teachmecoolstuff.com)

作者通过个人项目探索将微型本地大语言模型(Qwen 3:0.6B,仅6亿参数)微调为可靠的家庭问题分类器,用于支持聊天机器人的元数据感知RAG检索。

项目背景与目标 该聊天机器人旨在回答家庭相关问题(如维护、医疗预约等)。为提升向量数据库检索效果,系统在RAG查询前增加预处理步骤,将用户问题分类到预定义元数据类别(如泳池、汽车、暖通空调、烹饪等),从而将向量搜索范围缩小至匹配类别的索引条目。核心假设是:极小的本地LLM能否通过微调可靠地完成此类分类任务。

模型与微调设置 项目使用两个本地模型:Qwen 3:4B负责通用问答,Qwen 3:0.6B专责分类。微调采用开源框架Unsloth,结合QLoRA策略。初始数据集约850条问答对,按70/15/15划分为训练、评估和测试集。

基线测试 在微调前,作者先测试原始Qwen 3:0.6B仅靠提示词分类的表现。在131个集成测试用例中,准确率仅约10%(正确13个)。失败模式包括:过度使用"电气/电器"等宽泛标签;生成列表外的自创类别(如"apartments")。

第一次微调 使用相同提示对模型进行微调后,准确率提升至约79%(正确104个)。虽然进步明显,但存在两类问题:模型输出类别名称的片段(如"ac/air"而非"hvac");语义重叠类别间混淆(如喷泉、热水器、泳池等与水相关的类别)。

第二次微调:输出编码优化 作者未采用后处理或更复杂提示工程,而是改变训练策略:要求模型输出固定的双字符不透明ID代码(如KK代表hvac,OO代表pool),替代具有语义重叠的类别名称字符串。这一简单改动显著降低混淆,准确率提升至约92%(正确120个)。剩余错误中,最突出的仍是"热水器"被误判为"泳池"(共7例),根源在于两者共享"水"的语义关联。

结论与后续 经两次微调,仅6亿参数的微型模型已能作为聊天bot中可用的分类器。作者开源了相关代码,并根据读者反馈,后续补充了基于逻辑回归分类器的对比实验。

12. Sakana Fugu (sakana.ai)

Sakana Fugu 是由 Sakana AI 推出的多智能体协调系统,通过单一 OpenAI 兼容 API,动态编排全球顶尖模型池,以解决复杂的多步骤任务,实现前沿级性能且避免单一供应商锁定。

核心机制与技术基础
Fugu 并非依赖人工预设的工作流或角色分工,而是通过机器学习动态组建智能体并协调其协作。其技术基于两篇 ICLR 2026 论文:TRINITY(进化型轻量协调器,自适应分配 Thinker/Worker/Verifier 角色)与 Conductor(基于强化学习发现自然语言协调策略,设计智能体通信模式与提示词)。用户可通过一个 API 访问多模型能力,Fugu 自动完成任务级模型选择与切换;同时支持灵活控制参与模型池的智能体,以排除特定供应商或模型,满足数据隐私与合规需求。

产品版本
提供两个模型:

  • Fugu:平衡性能与延迟,适合日常编码、代码审查、响应式聊天机器人等场景,可自定义排除池内特定模型。
  • Fugu Ultra:调度更深的专家智能体池,针对高难度、高 stakes 问题(如 Kaggle 竞赛、论文复现、网络安全分析、文献专利调查)最大化回答质量。

性能表现
在多个编码、推理、科学与智能体基准测试中,Fugu 系列超越公开可用的前沿模型,并与 Fable 5、Mythos Preview 比肩。例如,在 SWE Bench Pro 上 Fugu Ultra 达到 73.7,显著领先 Opus 4.8(69.2)与 GPT 5.5(58.6);在 Humanity’s Last Exam 上达到 50.0。
定性案例显示,Fugu-Ultra 在 AutoResearch 中实现最优训练 BPB;在恢复 1610 年古典日文“散书”阅读顺序上 NED 达 0.80,远超其他模型;生成纯 Python 魔方求解器平均 19.72 步逼近最优;蒙眼国际象棋连续击败前沿模型与 Stockfish;50 周股票交易平均回报 +19.43%。

定价与计划

  • 订阅制:Standard($20/月)、Pro($100/月,10 倍额度)、Max($200/月,20 倍额度),均含两个模型。2026 年 7 月底前订阅可获赠第二个月免费。
  • 按量付费(企业):Fugu 按实际激活的最高级基座模型单一费率计费,多智能体同时运行不叠加费用;Fugu Ultra 固定费率(输入 $5/$10、输出 $30/$45、缓存 $0.50/$1.00,依上下文是否超过 272K 区分)。

可用性与合规
通过 OpenAI 兼容 API 直接调用,无需 SDK 迁移。目前因 GDPR 及欧盟特定法规合规工作尚未完成,服务暂不对欧盟/欧洲经济区提供;用户可随时在控制台选择退出训练数据使用。新前沿模型公开发布后,通常约两周内完成训练评估并上线。

13. JSON-LD explained for personal websites (hawksley.dev)

JSON-LD(JSON Linked Data)是一种为网页添加结构化数据的标准格式,通过帮助爬虫理解网站语义结构,可获得更丰富的链接预览并有望提升搜索排名。在个人网站中,只需在<head>内嵌入<script type="application/ld+json">即可实现。

JSON-LD文档通过@context定义数据模式,通常采用Schema.org标准;内容存放在@graph构成的有向图中。每个节点包含@type(类型)、@id(唯一标识符,建议用URL加哈希)及相关属性。需注意:跨页面共享相同@id时,多页爬虫可合并节点属性,但LLM等单页爬虫无法做到,因此需在简洁性与完整性之间权衡。

对个人网站SEO影响显著的节点包括:

  • WebSite:描述站点元数据,如名称、URL、描述及Logo。根页面应包含完整信息,其他页面可仅保留核心字段,供单页爬虫识别站点名称。
  • Person:全站必备,用于声明作者身份,并作为Google内容质量评估的参考。关键属性包括nameimageurlsameAs(关联GitHub、LinkedIn等外部资料,有效消除同名歧义)。
  • WebPage:描述当前HTML页面本身。其子类型ProfilePage适用于个人主页或关于页;CollectionPage适用于博客列表、链接汇总等页面。应通过isPartOf关联WebSite,通过mainEntity关联Person,并添加dateCreateddateModified作为新鲜度信号。
  • BlogBlogPostingBlog置于博客首页,连接WebSite与具体文章;BlogPosting用于每篇博文,包含标题、摘要、发布/修改日期、作者、发布者、关键词及配图。作者和发布者均可指向Personpublisher现允许使用Person类型。
  • SoftwareApplication:用于展示软件项目,可细化为MobileApplicationWebApplication等。需设置applicationCategoryoperatingSystem,并通过offers声明价格(即使免费开源也应设为0)。sameAs可关联代码仓库。
  • BreadcrumbList:除根页面外建议全站添加,用于定义页面层级路径,控制搜索引擎在结果中显示的面包屑,尤其适合路径较长的站点。

即使是无构建步骤的静态站点,也至少应在根页面添加WebSiteProfilePagePerson三个节点。

15. FDA advisors unanimously vote to approve Moderna's mRNA after agency drama (arstechnica.com)

FDA独立顾问委员会(VRBPAC)周五以9比0的投票结果,一致支持批准Moderna的季节性mRNA流感疫苗(mRNA-1010,商品名mFlusiva)。此前,该疫苗的审评曾遭特朗普任命的FDA官员阻挠,引发机构内部风波。

数据显示,在一项纳入4万余名50岁及以上成年人的III期临床试验中,该mRNA疫苗预防季节性流感的效力较标准流感疫苗高出约27%。另一项涉及近3000名65岁及以上人群的较小规模III期试验表明,该疫苗产生的免疫应答强于该年龄段推荐接种的高剂量流感疫苗,且安全性总体良好。

在听取FDA科学家支持性审评意见并完成全天会议后,顾问委员会成员对研究结果表示认可。贝勒医学院儿科传染病专家Flor Munoz-Rivas称研究设计严谨、结果明确,并强调mRNA平台除提高效力外,还能在常规季节性流感及未来应对新出现或流感大流行毒株时实现快速开发。斯坦福大学儿科传染病专家Hayley Gans同样认为该平台具有前景,信号表明其风险可控且获益显著,有望推动疫苗技术现代化。

这一结果与今年早些时候形成鲜明对比。时任FDA疫苗事务负责人Vinay Prasad于2月出人意料地拒绝受理Moderna的申请,理由是大型试验未在65岁以上人群中与高剂量疫苗进行疗效对照,不符合“充分且良好对照”标准。然而,Moderna此前已与FDA商定,通过较小规模试验进行免疫桥接比较即可。这一决定是在FDA科学家和职业官员的反对下作出的,令Moderna措手不及。迫于广泛批评,FDA次周即推翻该决定,同意受理审评。Prasad还因拒绝批准UniQure亨廷顿病基因疗法等备受争议的决策,于4月底被调离FDA。该基因疗法拒绝决定亦于本周三被推翻。

Moderna对投票结果表示欢迎。首席执行官Stéphane Bancel称,公司期待继续与FDA合作完成审评,并相信mRNA-1010能为季节性流感预防提供重要的新选择,进一步展示mRNA平台的多功能性。

尽管顾问委员会全票支持为获批释放积极信号,但最终决定仍由FDA作出,审批截止日期为8月5日。Moderna此前表示,如获批准,计划今年晚些时候推出该疫苗。

该疫苗未来仍面临CDC推荐程序的障碍。新获批疫苗需由CDC免疫实践咨询委员会(ACIP)审议并投票提出使用建议,进而由CDC采纳。获得CDC及ACIP推荐后,几乎所有商业保险和联邦项目依法必须免费覆盖该疫苗。然而,由于联邦法官发布临时禁令,阻止了反疫苗的卫生部长小罗伯特·F·肯尼迪(Robert F. Kennedy Jr.)安插其盟友进入ACIP(法官认定任命程序不当),该委员会目前实际上已陷入瘫痪。美国卫生与公众服务部正就对禁令提起上诉,加急审理程序将至少持续到7月。

16. Why Drawing Tablet Brands Won't Collaborate on Linux Floss Drivers (www.davidrevoy.com)

Linux手绘板品牌为何不愿合作开发开源驱动

作者David Revoy长期在其YouTube频道评测手绘板,并坚持仅在GNU/Linux系统上使用自由开源软件(含驱动)进行测试。过去,他通过提取设备硬件规格并提交给Red Hat的开发者Peter Hutterer与Benjamin Tissoire,依托udev-hid-bpf项目为众多设备编写高质量的开源驱动。

为简化这一流程,作者近期尝试新策略:直接与品牌方合作,推动其像Wacom数十年来那样,主动向Linux输入团队共享规格。他联系了XpPen、Gaomon、Huion等品牌,并最终与“深圳绘王趋势科技有限公司”的技术人员建立联系。该联系人同时负责Gaomon、XpPen、Huion和Ugee四个品牌的驱动事务,作者随即向其提供了相关技术链接与合作途径。

然而,Gaomon市场部最终礼貌拒绝了这一提议。核心顾虑在于:Linux手绘板开源基础设施——例如libwacomwacom-hid-descriptors等关键仓库——普遍带有“Wacom”品牌名称。Gaomon认为,该项目本质上由Wacom主导,即便加入支持,系统整体仍呈现Wacom品牌;更重要的是,参与意味着需直接向行业最大的竞争对手Wacom共享设备规格,这是其无法接受的风险。

作者指出,这确实是历史遗留问题。尽管这些以“Wacom”命名的仓库早已收录Dell、HP、Huion、XpPen、Gaomon等众多品牌数据,但对竞争厂商而言,在冠以对手之名的基础设施中开放合作,显然难以建立信任。作者也提到,实际上任何人在Linux下都可通过hid-recorder工具轻易捕获设备规格,竞争对手本就能获取这些信息,但品牌方的商业顾虑依然可以理解。

此事暴露了开源生态中的结构性障碍:若不解决基础设施的品牌中立性问题,就难以建立真正的协作环境。作者呼吁相关资助方为这些项目配备全职开发者,推动去品牌化与架构中立,以消除其他厂商的参与障碍。

在个人层面,作者将回归原有模式:逐台评测设备并手动向udev-hid-bpf项目提交规格。他坦言自己不擅长编写C语言驱动,整个过程高度依赖Red Hat开发者的支持;若今后无法及时获得开源驱动,其硬件评测或将终止。目前,他已收到XpPen和Gaomon共三款新设备,并计划撰写教程,指导用户如何向udev-hid-bpf项目报告手绘板规格,继续以“一台一台”的方式推进Linux手绘板支持。

17. Claude Code's "extended thinking" is a summary- not authentic thinking (patrickmccanna.net)

Claude Code 的 "extended thinking" 是摘要,而非真实推理

Claude Code 会将每次会话记录到本地磁盘,日志中包含所谓的"思考块"(thinking blocks),即模型工作时的内部推理过程。然而,实际检查时,作者在本地日志中只找到一个长达 600 字符的 signature,没有可读文本。

加密与密钥控制

根据 Anthropic 官方文档,Claude 将推理过程加密后存入该 signature

  • 加密密钥由 Anthropic 持有,用户本地机器并不拥有解密能力。
  • API 返回的不是原始推理内容,而是推理的摘要(summary)。
  • 获取完整思考输出需要签署企业协议

密码学家 Matt Green 已对该加密推理块(encrypted reasoning blobs)的结构与机制进行了更深入的技术分析。

输出本质:摘要而非原始思考

文档明确说明,"extended thinking" 返回的是 Claude 完整思考过程的摘要(summarized thinking)。这意味着:

  • 用户在 Claude Code 中通过 ctrl+o 调出的"扩展思考"内容,本质上是对 Fable/Opus 模型思考的总结
  • 它并非驱动模型实际采取行动的原始推理,而是在转换过程中生成的二次版本。

作者将此机制比喻为:将 BMP 图像保存为 JPEG 编辑后再转回 BMP——格式转换必然造成不可逆的数据丢失。同理,从原始推理到用户可见摘要之间存在信息损耗,无法还原完整逻辑。

对审计与可解释性的限制

对于需要审计追踪(audit trail)的用户,这一设计带来关键限制:

  • 无法通过本地文件还原逻辑:用户磁盘上的推理日志经过加密,用户自身无权访问。
  • 无法捕获真实决策依据:即便通过外部抓取手段记录运行中的输入、输出和 Agent 动作,依然无法获得驱动该次会话行为的原始推理过程

因此,无法向第三方提供一份完整、可信的"模型当时为何如此行动"的逻辑记录。

文档表述的间接性

作者指出,Anthropic 在文档中对这一行为的描述措辞隐晦。关键句"extended thinking returns a summary of Claude’s full thinking process"(扩展思考返回的是 Claude 完整思考过程的摘要)容易被忽略,导致用户误以为所见即完整推理,而非经过压缩的摘要版本。

结语

文章认为,Anthropic 对应用的运作方式呈现得不够透明。作者呼吁开源模型在性能与可解释性方面加速发展,以提供真正可审计、可由用户掌控的替代方案。

18. The minimum viable unit of saleable software (brandur.org)

作者近期离开 Stainless,计划将副业项目 River 发展为小型、可持续的软件企业。针对“在 LLM 时代售卖软件是否荒谬”的质疑——毕竟任何产品都可能被内部用 LLM 瞬间复制——他通过成本分析给出了自己的思考。

自研成本的重新计算

文章以一个案例开场:某团队因不满每月向 Atlassian Jira 支付 400 美元,遂用 Claude 自建了一套任务追踪系统,希望按需定制并省去订阅费。过去,自研软件是极昂贵的选项,涉及高昂人力、进度延误和无限深坑,因此业界向来建议仅在核心领域自研,边缘项目一律外购。LLM 的出现确实改变了成本结构,让 substantial software 的生产变得便宜许多。

便宜不等于零。即便由 LLM 生成代码,依然需要多轮反馈、调整、人工验证和精炼,才能平衡时间与质量。后续的维护(加功能、修 Bug)同样需要持续投入,其中最昂贵的部分仍是人的时间

Jira 与 Salesforce 的测算对比

以替代 Jira 为例,作者做了粗略测算:若一名工程师年薪 20 万美元(约合每月 1.67 万美元、时薪 96 美元),为了抵消每月 400 美元的 Jira 账单,该工程师每月花在提示词调优、修 Bug、照看数据库上的时间不能超过 4 小时。即使乐观假设每月仅需 2 小时维护,加上最初两周的开发投入,回本周期也长达约 37 个月。因此,用 LLM 重建 Jira 从经济直觉上并不划算。

然而,对于高价 SaaS 结论可能相反。例如 Salesforce 席位约每月 500 美元,50 人团队即每月 2.5 万美元,相当于 1.5 名全职工程师的成本。CRM 虽复杂,但在这个价位上,自研就更接近理性的“建”决策。

可行区间与最小可售软件单元

由此,作者提出**“可行区间”(zone of viability)**的概念:对于任意复杂度的软件,只要满足两个条件,采购就仍比自研划算:

  1. 具备足够的新颖性,使得 LLM 重建并非 trivial,且伴随真实的持续维护负担;
  2. 定价合理,不至高昂到强烈刺激买方动用 LLM 重建。

该区间内存在一个**“最小可售软件单元”:低于此阈值,重建或走完采购流程的成本会让第三方产品失去长期经济意义。作者用对比表说明:Jira(400 美元/月,等效 0.02 名工程师)应买**;Salesforce(2.5 万美元/月,等效 1.5 名工程师)则可考虑

River 的商业逻辑

最后,作者将此框架应用于 River。River 是一个面向 Go 和 Postgres 的开源作业队列,基础功能(定时任务、调度、唯一任务、Web UI 等)免费开放,Pro 版则提供工作流、顺序作业、并发限制等高级功能,以及按账单付费的能力。这些高级功能在 API 设计与性能特性上具备足够深度,作者认为 LLM 难以轻易复制出同等保真度的实现。定价方面,River Pro 采用基于团队规模、次线性增长的模型:每月 125 美元覆盖最多 20 名开发者,更高档则为不限人数的企业授权。对中小团队而言,这笔全包费用相对较低。

作者坦承,他无法百分之百确定这个判断是否成立,但他正以自己的生计为赌注,未来数月将验证 River 是否仍处于 LLM 时代的“可行区间”之上。

19. Japanese verb conjugation the simple hard way (underreacted.leaflet.pub)

日语动词活用的系统化理解

传统教材将日语动词分为「る动词/う动词」并要求记忆大量表格,容易让学习者困惑。本文提出一种基于「词干 + 词尾」拼接的「简单硬核」方法,以少量规则推导多数活用形。

核心原理:词干与拼接

动词活用本质是将词尾附加到词干上。动词分为两类:

  • 一段动词(ichidan):词干固定,如「taberu」的词干是 tabe
  • 五段动词(godan):词干末尾为通配符 *,如「nomu」的词干是 nom*,其元音会随语境在五段(ma/mi/mu/me/mo)间变化。

隐藏元音规则

大多数词尾内含「隐藏元音」,如礼貌形的 (i)masu、否定的 (a)nai、愿望的 (i)tai

  • 若词干以 * 结尾,隐藏元音被激活填入:
    nom* + (i)masu → nomimasunom* + (a)nai → nomanai
  • 若词干固定,隐藏元音直接丢弃:
    tabe + (i)masu → tabemasutabe + (a)nai → tabenai

这解释了传统分类:一段词干固定在假名表同一行;五段词干则跨越五行(ma/mi/mu/me/mo)。

罗马字的利弊与音韵运算

罗马字有助于直观看到元音移动(如 * + i → i),但进行音韵运算时必须遵循日语假名表,而非英语发音。例如:

  • s* + i = shi(非 si)
  • t* + i = chit* + u = tsu

特殊音变

  1. 元音 + a:以元音结尾的词干(如 kau、iu)接含 a 的词尾时,历史遗音 w 会出现:
    ka* + (a)nai → kawanai(非 kaanai)、i* + (a)nai → iwanai

  2. 过去式/て形(-ta / -te):一段动词直接拼接(tabeta)。五段动词因历史约音分四类:

    • s*:正常(hanashita)
    • m/b/n*:缩合为 -nda(nonda, shinda, yonda)
    • k/g*:变为 -ita / -ida(kaita, oyoida)
    • 其余:压缩为 -tta(kaetta, tatta)

词干推测

词典形不以 -ru 结尾,或以 -aru/-oru/-uru 结尾的动词通常为五段;-iru/-eru 结尾则可能为任意一类,需查词典或观察活用反推。

统一的词尾视角

文章进一步提出,词典形本身可视为添加 -[r]u 词尾:

  • 遇固定词干保留 r:tabe + [r]u → taberu
  • * 则 r 消失:nom* + [r]u → nomu

此模式同样适用于条件形 -[r]eba(nomeba)与使役形 -[s]aseru(nomaseru),显示体系底层的一致性。

例外

仅需单独记忆少数例外:surukuruaru(否定为 nai 而非 aranai)、iku(itta/itte),以及若干敬语动词。

20. The Doom Justifies the Valuation (geohot.github.io)

I’ve been in Berkeley for the last 2 weeks. I haven’t really been back here for a while, and it’s worse than you can believe. This is a cult of atheistic hedonists needing AI doom to be true to justify their life choices. Or acceleration. Or something. They need to make impact. I mean, narcissism of small differences to an extent, but I stopped long before these people did. If San Francisco was nuked tomorrow, the world would feel a weight off their shoulders. 内卷

23. Show HN: Recall – Local project memory for Claude Code (github.com)

Stop wasting tokens and re-explaining your project every session. Recall gives Claude Code durable memory — entirely offline. - raiyanyahya/recall

24. Burnout is real for open source maintainers (openjsf.org)

Lodash creator John-David Dalton reflects on the project’s growth, the pressures of maintaining software used across the world, and the personal journey that led to stepping back and eventually rebuilding a sustainable path forward.

27. The early hiring funnel is now breaking on both ends (hbr.org)

Generative AI is rapidly undermining the reliability of traditional hiring signals, making it easier for candidates to manufacture polished résumés and perform convincingly in remote interviews with real-time assistance tools. Interviews with 120 talent-acquisition leaders and an analysis of more than 6,000 screening sessions show that companies now risk selecting for candidates who are best at navigating the hiring process rather than best equipped to do the job. To adapt, organizations must redesign early-stage hiring around authentic reasoning, judgment, and adaptability instead of static credentials and scripted interviews.

28. PowerFox Browser (powerfox.jazzzny.me)

PowerFox is a secure, modern, and open-source web browser for Mac OS X 10.6 Snow Leopard, 10.5 Leopard, and 10.4 Tiger for Intel and PowerPC Macs.