BestBlogs 早报:MCP apps 让客户端变产品入口,持续学习与 Noi 调试实录 · AI HOT
ginobefun @hongming731 34
2026-07-06 07:27 ·2天前
AI 摘要 本期早报聚焦 AI 产品从“可用”到“持续优化”的三大议题:MCP apps 将 AI 客户端(如 ChatGPT、Claude)从后端工具调用升级为交互式产品入口,服务器可返回沙箱化 iframe 组件并持续与模型通信,形成新的分发渠道;智能体持续学习需将生产日志转化为可重放、可回归的测试环境,改进应优先路由到记忆层或 harness 层,而非直接修改模型权重;Noi 调试实录揭示一条关键经验:白屏报错指向消息通道,根因却在于后台运行时生命周期,需绕过最响的报错去追踪因果闭环。速览提及 Claude Fable 主导的 sqlite-utils 4.0 发布、AirDrop 协议级漏洞、存内计算芯片及世界模型部署时持续学习等。
ginobefun @hongming731 · X 2026-07-06 07:27 · 2天前
在 X 看原推 · x.com AI 摘要 本期早报聚焦 AI 产品从“可用”到“持续优化”的三大议题:MCP apps 将 AI 客户端(如 ChatGPT、Claude)从后端工具调用升级为交互式产品入口,服务器可返回沙箱化 iframe 组件并持续与模型通信,形成新的分发渠道;智能体持续学习需将生产日志转化为可重放、可回归的测试环境,改进应优先路由到记忆层或 harness 层,而非直接修改模型权重;Noi 调试实录揭示一条关键经验:白屏报错指向消息通道,根因却在于后台运行时生命周期,需绕过最响的报错去追踪因果闭环。速览提及 Claude Fable 主导的 sqlite-utils 4.0 发布、AirDrop 协议级漏洞、存内计算芯片及世界模型部署时持续学习等。
★ 精讲二:AI 智能体的持续学习:把失败转化为可验证、可持久的改进 智能体上线之后,真正的难题才刚开始。Soheil Feizi 在 AI Engineer 的演讲里把「持续学习」定义得很朴素:一个 agent 行动、收到反馈、然后在不遗忘既有能力的前提下变得更好--就像人从经验里学习。但要把这句话落到工程里,他拆出了两个互相纠缠的难题:有用的反馈从哪里来?反馈到手之后,应该改 agent 的哪一层?
第一个难题的答案反直觉。很多团队的第一反应是「我们有生产日志,再加上用户反馈,就能学习了」。Feizi 强调,生产日志不是学习环境。一条日志加一条反馈,只能解释「那一次发生了什么」,不能提供一个可重放的测试。要让学习可验证,系统必须从观察到的会话里推断出一个模拟和评估环境--把工具行为、用户行为、成功标准和评估器都还原出来。只有当一次失败变成可执行的用例,候选 agent 才能反复跑它、对比它。这和软件工程里「bug 复现」的直觉一致:不能复现,就谈不上修复,更谈不上回归。
第二个难题是改哪一层。Feizi 对比了三类更新:模型层更新(SFT、DPO、GRPO、RLVR、LoRA)能改权重,但通常需要 benchmark 和显式评估器;harness 层更新(prompt、工具、代码、技能、工作流)成本低一些,但当改动无法被测试时,「追因到 harness」的修改风险很高;记忆层更新最便宜最快,存事实或蒸馏出的技能,但同样需要验证,否则会埋下隐性回归。他提出的「可验证持续学习」框架要求:每一次修复都可重放,整体路由到正确的层,并对历史学习环境做 lifelong 回归,同时效率要高到能频繁运行。他所在的 Rely 把这套思路做成一个闭环:输入是日志、反馈、指令或 prompt,先转成可重放的学习环境,再做根因分析,接着带回归感知地优化,最终产出可审查的 agent 更新。这里有一个值得停下来想一下的取舍:很多团队会本能地把所有改进都往模型层塞,觉得「改权重」最彻底;但 Feizi 的框架恰恰相反,先看能不能用记忆层快速验证一个假设,再决定要不要升级到 harness 层或模型层--因为层越靠下,验证成本和回归风险越高。把改进路由到正确的层,比一味追求「改模型」更务实。
把这条线索和今天的其它内容串起来看会很清楚。MCP apps 让 agent 能在更多场景里工作,意味着会话数据会更复杂,从会话里还原评估环境的难度也会更高;AdaJEPA(速览里那条)给的是另一个方向--让世界模型本身在部署时通过测试时自适应持续校准;补充阅读里 Raphael Kalandadze 那篇「上线之后缺失的一层」则补上了生产反馈系统的工程视角。它们合起来勾勒的是同一件事:agent 想从 demo 走到生产,再从生产走到持续变好,反馈、评估、回归这三件事必须同时成立。如果你正在做 agent 评估或平台工程,这场演讲的框架值得借鉴--尤其是「生产日志不是学习环境」这一条,能帮团队少走很多弯路。详见
★ 精讲三:Noi 编程实战:Fable 没那么强,GPT 也没那么弱 这是一篇值得慢慢读的调试实录。作者浮之静在 Noi(一个正在从浏览器架构转向 AgentOS 的本地 Agent 运行底座)里集成 Chrome 插件能力时,撞上了一个很折磨人的白屏 bug。背景是:Noi 用 Electron 做底层,自带 Chromium 内核,理论上能跑 Chrome 插件,但 Electron 对插件 API 的支持并不完整,所以必须补一个中间兼容层。作者选了 Google Translate、Tampermonkey、AdBlock 三个典型插件做开发测试,因为它们分别代表内容增强、用户脚本平台、网络治理三类高频插件形态,合起来能覆盖大部分插件场景。
bug 本身看起来很普通:AdBlock 的 options 设置页打开后白屏,日志里是一串看起来很「明确」的错误--「Could not establish connection. Receiving end does not exist」「Chrome extension API bridge method handler is unavailable」。第一眼判断,这就是消息通道问题:接收端不存在就补接收端,handler 不可用就补 handler。Codex 一开始确实也是这么做的,每一步看起来都专业,但方向是偏的--它在追最响的报错,还没有先证明用户看到的空白页到底卡在哪一层。作者把这次最核心的坑写得非常清楚:报错发生在消息层,不代表根因就在消息层。在浏览器插件这种长链路里,一个设置页能显示出来,背后至少要经历「识别插件页 URL → 创建页面环境 → 加载插件资源 → 准备后台运行时 → 保留原生 API → 缺失处补兼容层 → 页面脚本初始化 → 用户看到界面」这一串状态交接,任何一棒掉了,用户看到的都可能是空白页。
转折点出现在一次 A/B 实验。这次实验的价值不在运行时长(Codex 在长时间探索里经历了 5 次上下文压缩),而在于它停止了继续猜。实验只改变一个关键条件--保留浏览器原生的 runtime messaging,结果 AdBlock 的 General Options 文案能完整渲染出来;再等插件后台和连接层稳定后打开 options 页,单次加载不再 crash,DOM 也完整了。这个结果同时打穿了两个边界:第一,浏览器已经做对的消息能力,不应该被自己的兼容层覆盖(所有权问题);第二,插件页面不能被当成孤立的 HTML,打开之前后台运行时必须已经进入可用状态(生命周期问题)。作者由此把目标从「消灭某条日志」推进到「让页面显示前的责任链闭合」。
这篇文章最值得带走的不在那个具体 bug,而是调试方法论。作者在结尾总结:复杂系统里的 bug,很少只是某一行代码坏了,更多是责任链断了;日志告诉你哪里在喊痛,但没告诉你哪里先断;sleep 有效只能算时序证据,不能当修复方案;兼容层是用来补缺口的,不能抢走原生系统的所有权;单元测试只能证明零件,真实 smoke 才能证明系统,A/B 负责把「看起来有效」推进到「因果上站得住」。他特别提醒,别把结论记成一句「别追报错」--报错要看,局部修复要做,长时间探索也有价值;关键在于每一次探索有没有让假设变少,有没有把现象变成证据,再把证据变成责任边界。调试很少从第一分钟就看见根因,它更像是在一堆半对半错的线索里,设计出那个能改变判断权重的实验。找不到这个实验,就会一直忙;找到它,系统才开始向你交代真相。标题里的「Fable 没那么强,GPT 也没那么弱」也不是替谁洗白--Fable 在分析插件源码时被安全策略拦住,Codex 在长时间探索后把问题跑通,它们都不该被简化成「强」或「弱」。把这篇和今天另外两条精讲放在一起,会发现一个共同的形状:无论是 MCP apps 的分发、持续学习的评估环境,还是 Noi 的责任链调试,真正难的都不是单点能力,而是把复杂系统里的边界、反馈和因果理清楚。如果你做过复杂系统的调试,或者想知道怎么更有效地用 AI 编程工具处理难 bug,这篇几乎可以全文读。详见
速览 开源工具 sqlite-utils 的新版本由 Claude Fable 编写,作者约花费 149 美元
Simon Willison 用 Claude Fable(以及 GPT-5.5 做交叉审查)把 sqlite-utils 4.0rc2 推到稳定版。Fable 在第一轮评审里就标出 5 个「release blocker」,最严重的是 delete_where() 不提交事务还会污染连接,导致后续所有 atomic() 都走 savepoint 分支、永远不 commit--这是一个能造成数据丢失的 bug。除了修 bug,Fable 还帮忙完善事务处理、生成发布说明,整体 AI 成本约 149.25 美元。Willison 的实践可以作为「怎么把 AI 模型当成高级维护工程师来用」的一个参考样本,和今天 Noi 那条精讲里关于 Fable 能力边界的讨论正好呼应。详见
协议窥探:Apple AirDrop 和 Android Quick Share 近距离传输协议的系统性漏洞研究
这是首次对 Apple AirDrop 和 Android Quick Share 进行跨平台逆向工程与协议感知模糊测试的系统性研究。论文在三个生态系统里揭示了六个漏洞,覆盖从握手、认证到状态机的多个环节。对于做近距离传输、跨设备同步或安全研究的读者,这篇的价值在于方法:它示范了怎么把「感觉不太安全」的直觉,变成可复现的协议级证据。普通读者则可以借此了解,日常依赖的隔空投送类功能背后,协议层的攻击面有多大。详见
全球首次基于可控存内计算!忆阻器神经动力学芯片面世,0.43 秒搞定大脑表面建模
北京大学杨玉超团队与中科院上海微系统所宋志棠团队,用相变存储器(PCM)的电阻漂移特性研制出全球首款基于可控存内计算的神经动力学芯片。这颗 40 纳米芯片跑一次神经动力系统迭代只要 2.12 毫秒,做大脑皮层 3D 重建只需 0.43 秒,误差低于千分之一毫米,速度比此前最好的 GPU 快近 500 倍。思路上的亮点是:相变存储器原本被学界认为的「电阻漂移缺陷」,被反过来用作步长调节器,省掉了传统数字电路里计数器、比较器、乘法器那一堆搬运数据的环节,硬件面积压到原来的十分之一。适合关注芯片架构、存内计算和医学影像的读者。详见
Zig 编译器的近期更新值得一看:包管理功能(zig build、zig fetch、zig init、zig libc)从编译器可执行文件迁移到了构建系统进程,大量原本编译进二进制的逻辑(HTTP、TLS、Git 协议、压缩、build.zig.zon 解析)改成源码形式分发,可以不重编编译器就打补丁;此外还有 SPIR-V 后端进展、新的 @bitCast 语义、ELF 链接器的增量编译能力。Andrew Kelley 在包管理那条里还提了一个有意思的副产品:因为 maker 进程是 ReleaseSafe 模式编译的,网络相关的安全检查现在默认开着,做文件哈希的加密代码也能用上宿主 CPU 的特殊指令--用他的话说,「我们既能吃 AOT 的蛋糕,也能吃 JIT 的」。对于跟踪编译器实现、包管理或系统语言演进的开发者,这份开发日志信息密度很高。详见
Anthropic 工程师:他们到底怎么用 Claude 工作丨 How I AI
Anthropic 工程负责人 Felix Rieseberg 在 How I AI 这期里分享了他怎么把 Claude 从「更聪明的输入框」变成工作伙伴。最值得带走的是「把任务往上抽一层」的思路:他搬家时把披露文件、贷款信息、户型图丢给 Claude Co-work,原本只想量个尺寸,最后 Co-work 给 Claude 一台虚拟电脑,它用 Python 读文件、做出一个可以走进去看的 3D 房屋模型。他关于模型选择的判断也很实用--在自己还没想清楚要问什么的时候,选 Opus。适合所有想把 AI 用得更顺手的读者。详见
纽约大学联合 LeCun 团队(AMI)提出 AdaJEPA,让基于 JEPA 路线的隐空间世界模型不再在训练后冻结,而是通过测试时自适应(Test-Time Adaptation)在部署中持续学习。核心循环是「规划、执行、观测、更新、再规划」:每次只执行 MPC 算出的第一段动作,把真实观测当成自监督信号去更新编码器和预测器(默认只更新最后几层、每次只做 1 步梯度下降),下一轮规划用的就是被当前环境校准过的模型。实验显示它面对分布外偏移时,规划成功率明显优于固定世界模型。这条和今天精讲二的持续学习主题互补--一个讲 agent 怎么学,一个讲世界模型本身怎么学。详见
Logto:开源认证平台--前红杉运营合伙人打造的 Okta 替代方案
前红杉运营合伙人、Airbnb 工程师 Gao Sun 因为对 Okta 高昂定价(客户身份产品每月 3000 美元起步)不满,打造了 Logto--一个 MPL-2.0 开源认证平台。它支持 OIDC、OAuth 2.1、SAML SSO、多租户、基于角色的访问控制、通行密钥,企业 SSO 连接数没有 Auth0 那样的上限,可以自托管在已有的 Postgres 实例上,几乎零成本。项目已有 13608 个 Star,拿到红杉中国、真格基金和源码资本的投资。对于正在选型身份层、或对 Okta/Auth0 定价敏感的团队,这是一个值得纳入对比的选项。详见
补充阅读 上线之后缺失的一层:让生产 AI 智能体持续变好的反馈闭环 - Raphael Kalandadze 的核心观点是「上线不是终点,是真正工作的起点」。他主张给生产 agent 加一层反馈系统,由监控、会话分析、评审 agent 和用户视角检查共同驱动。这篇和精讲二放在一起读最合适,一个给框架,一个给工程落地。详见
我不懂 Rust,我的 AI 却用它重写了 PHP 解释器 - 作者不懂 Rust,用 LLM 从零写了一个 PHP 解释器,唯一不可贿赂的评判标准是 22000 个测试用例,最终跑到 17.4% 通过率,甚至跑通了一个 WordPress 站点。对研究 AI 编程能力和测试驱动方法的读者,这是一个很诚实的能力样本。详见
《吾辈如神》:AI 增强创造力的 10 条法则 - 摘自彼得·戴曼迪斯和史蒂芬·科特勒的新书,基于神经科学(自由能量原理、心流机制)提出 AI 增强创造力的法则,强调不能把思考外包、要保持认知自主性。适合关心 AI 与创造力的读者,作为周末长读。详见
更好的模型,更差的工具 - Armin Ronacher(Flask/Sentry 作者)记录了一个反直觉现象:新版 Claude(包括 Opus 4.8)有时会在工具调用的 schema 里塞进自造的字段,导致工具调用被拒。他把这种倒退归因于模型针对宽容的 Claude Code harness 做的后训练。对做工具集成、agent 框架的开发者,这篇是一个重要提醒--模型越强,schema 纪律可能越松。详见
「超越极限」:一百万颗卫星和太空镜子对夜空构成严重威胁 - ESO 的一项新研究警告,提议中超过 170 万个物体的卫星星座(包括 Reflect Orbital 计划的 5 万颗极其明亮的镜面卫星)会显著增亮夜空,对地基天文学造成严重冲击。适合关心太空治理、天文或大型工程外部性的读者。详见
2026 游戏行业最绝望的战争 - 这篇分析了游戏行业正在发生的三重挤压:硬件涨价(Steam Deck 1TB OLED 涨幅接近 50%、Switch 2 和 NSO 会员同步涨价)、半导体产能转向 AI 让玩家地位下降、玩家钱包战争全面爆发。作者认为机会在高资本效率的中小团队和有辨识度的新 IP。适合游戏行业从业者,以及对「AI 红利如何重塑相邻行业」感兴趣的读者。详见
今日阅读路径 先看 Noi 调试实录,它是最具操作性的--无论你用不用 AI 编程,那套「设计能改变判断权重的实验」的方法论都能直接用在自己的复杂 bug 上;
接着看 MCP apps 那场分享,它指向的是软件分发模型的潜在变化,能帮你判断接下来要不要押注这条路径;
最后看持续学习这场演讲,它补上了前两篇都没回答的问题--agent 上线之后,到底怎么从「会话」里长出可验证的改进。
如果还有余力,sqlite-utils 那条可以作为今晚的睡前读物,它短、具体,而且和 Noi 那篇里关于 Fable 能力边界的讨论正好连起来。
BestBlogs 是 AI 驱动的私人阅读助手,帮助你发现真正适合你的高质量内容,欢迎体验和关注我们。
智能体持续学习的难点,则是从会话里还原出可重复的评估环境,而不是直接拿生产日志当训练场--每一次修复都应该可重放、可回归。
值得停一停的是那篇 Noi 调试实录:白屏报错指向消息通道,根因却在后台运行时生命周期,作者用一次 A/B 把问题从「消灭日志」推进到「因果闭环」,是复杂 bug 难得的处理样本。
速览里还有 Claude Fable 主导的 sqlite-utils 4.0 发布、AirDrop 与 Quick Share 的协议级漏洞、北大团队的存内计算神经动力学芯片,以及 AdaJEPA 让世界模型在部署中持续学习。如果今天时间有限,文末的阅读路径给了一个优先级建议。
★ 精讲一:MCP apps、应用商店与下一代软件入口:AI 客户端如何承载交互式产品 如果你关注过 MCP(Model Context Protocol),大概率是从「让模型调用外部工具」这个角度切入的:客户端发起一次工具调用,MCP 服务器返回一段结构化 JSON,模型读完后决定下一步。Pietro Zullo 在 AI Engineer 的这场分享提出了一个更进一步的判断--MCP apps 是这个协议从「后端」走向「前端」的拐点。
核心变化是:模型调用工具后,MCP 服务器不再只能返回 JSON,而是可以返回一个沙箱化的 iframe 组件,并且这个组件能继续和宿主客户端通信。这意味着交互界面可以更新模型可见的状态、发送后续消息、把工具参数流式地灌进界面、调用其它工具,还能区分哪些信息只给用户看、哪些信息要暴露回模型。Zullo 在演讲中展示了这种原语能承载的产品形态:分析卡片、Excalidraw 画布、Remotion 视频、私密信息组件、全屏模式、外部链接、跟随主题切换的组件。
真正有战略意义的部分在分发。他把 ChatGPT、Claude、Cursor 描述为越来越像「自服务渠道」的入口:开发者可以提交符合规范的 MCP server 或 app,通过工具和鉴权校验,提供测试 prompt 和截图,用户就能拿到一键安装路径,而不是去配一个 MCP 配置文件。更关键的是动态发现--当用户在对话里表达某种意图时,客户端可以搜索匹配的连接器;如果一个产品在场且准备得好,它就能在用户需要的瞬间被命中。Zullo 的结尾判断是:AI apps 正在变成类似浏览器的软件面,用户可能不再打开仪表盘,而是期待通过 Claude Code、Codex、ChatGPT 这类客户端直接操作产品。他的建议很直接--尽快上线一个 MCP app,因为更多软件交互可能往这个方向迁移。
值得提醒的是,这条路还处在早期。不同客户端的支持程度差异很大,Claude、ChatGPT、Cursor、Codex、Claude Desktop、Claude Code、VS Code 对 MCP app 组件的渲染能力各不相同,开发者可能需要根据宿主能力返回不同输出;沙箱的安全模型、组件与模型之间的状态同步协议、应用商店的审核边界,都还没有形成共识。另一个容易被忽略的问题是:当一个交互组件既能影响模型可见状态、又能直接影响用户所见,界面层的「可观测性」和「可回放性」会变成新的工程要求--否则一旦用户反馈结果不对,你很难分清是模型判断错了、还是组件渲染错了、还是两者状态没对齐。这在传统 Web 应用里不常见,但在 MCP apps 这种模型与 UI 共享状态的范式里会频繁出现。把这件事和今天的另外两条精讲放在一起看会更有意思:MCP apps 回答的是「产品在哪里被命中」,智能体持续学习回答的是「命中之后 agent 怎么持续变好」,而 Noi 那篇则展示了「当系统复杂到一定程度,调试本身需要新的方法论」。如果你正在做 AI 相关的产品或开发者工具,这场分享值得完整看一遍,重点不是某个组件 API,而是分发模型变化的可能方向。详见
★ 精讲二:AI 智能体的持续学习:把失败转化为可验证、可持久的改进 智能体上线之后,真正的难题才刚开始。Soheil Feizi 在 AI Engineer 的演讲里把「持续学习」定义得很朴素:一个 agent 行动、收到反馈、然后在不遗忘既有能力的前提下变得更好--就像人从经验里学习。但要把这句话落到工程里,他拆出了两个互相纠缠的难题:有用的反馈从哪里来?反馈到手之后,应该改 agent 的哪一层?
第一个难题的答案反直觉。很多团队的第一反应是「我们有生产日志,再加上用户反馈,就能学习了」。Feizi 强调,生产日志不是学习环境。一条日志加一条反馈,只能解释「那一次发生了什么」,不能提供一个可重放的测试。要让学习可验证,系统必须从观察到的会话里推断出一个模拟和评估环境--把工具行为、用户行为、成功标准和评估器都还原出来。只有当一次失败变成可执行的用例,候选 agent 才能反复跑它、对比它。这和软件工程里「bug 复现」的直觉一致:不能复现,就谈不上修复,更谈不上回归。
第二个难题是改哪一层。Feizi 对比了三类更新:模型层更新(SFT、DPO、GRPO、RLVR、LoRA)能改权重,但通常需要 benchmark 和显式评估器;harness 层更新(prompt、工具、代码、技能、工作流)成本低一些,但当改动无法被测试时,「追因到 harness」的修改风险很高;记忆层更新最便宜最快,存事实或蒸馏出的技能,但同样需要验证,否则会埋下隐性回归。他提出的「可验证持续学习」框架要求:每一次修复都可重放,整体路由到正确的层,并对历史学习环境做 lifelong 回归,同时效率要高到能频繁运行。他所在的 Rely 把这套思路做成一个闭环:输入是日志、反馈、指令或 prompt,先转成可重放的学习环境,再做根因分析,接着带回归感知地优化,最终产出可审查的 agent 更新。这里有一个值得停下来想一下的取舍:很多团队会本能地把所有改进都往模型层塞,觉得「改权重」最彻底;但 Feizi 的框架恰恰相反,先看能不能用记忆层快速验证一个假设,再决定要不要升级到 harness 层或模型层--因为层越靠下,验证成本和回归风险越高。把改进路由到正确的层,比一味追求「改模型」更务实。
把这条线索和今天的其它内容串起来看会很清楚。MCP apps 让 agent 能在更多场景里工作,意味着会话数据会更复杂,从会话里还原评估环境的难度也会更高;AdaJEPA(速览里那条)给的是另一个方向--让世界模型本身在部署时通过测试时自适应持续校准;补充阅读里 Raphael Kalandadze 那篇「上线之后缺失的一层」则补上了生产反馈系统的工程视角。它们合起来勾勒的是同一件事:agent 想从 demo 走到生产,再从生产走到持续变好,反馈、评估、回归这三件事必须同时成立。如果你正在做 agent 评估或平台工程,这场演讲的框架值得借鉴--尤其是「生产日志不是学习环境」这一条,能帮团队少走很多弯路。详见
★ 精讲三:Noi 编程实战:Fable 没那么强,GPT 也没那么弱 这是一篇值得慢慢读的调试实录。作者浮之静在 Noi(一个正在从浏览器架构转向 AgentOS 的本地 Agent 运行底座)里集成 Chrome 插件能力时,撞上了一个很折磨人的白屏 bug。背景是:Noi 用 Electron 做底层,自带 Chromium 内核,理论上能跑 Chrome 插件,但 Electron 对插件 API 的支持并不完整,所以必须补一个中间兼容层。作者选了 Google Translate、Tampermonkey、AdBlock 三个典型插件做开发测试,因为它们分别代表内容增强、用户脚本平台、网络治理三类高频插件形态,合起来能覆盖大部分插件场景。
bug 本身看起来很普通:AdBlock 的 options 设置页打开后白屏,日志里是一串看起来很「明确」的错误--「Could not establish connection. Receiving end does not exist」「Chrome extension API bridge method handler is unavailable」。第一眼判断,这就是消息通道问题:接收端不存在就补接收端,handler 不可用就补 handler。Codex 一开始确实也是这么做的,每一步看起来都专业,但方向是偏的--它在追最响的报错,还没有先证明用户看到的空白页到底卡在哪一层。作者把这次最核心的坑写得非常清楚:报错发生在消息层,不代表根因就在消息层。在浏览器插件这种长链路里,一个设置页能显示出来,背后至少要经历「识别插件页 URL → 创建页面环境 → 加载插件资源 → 准备后台运行时 → 保留原生 API → 缺失处补兼容层 → 页面脚本初始化 → 用户看到界面」这一串状态交接,任何一棒掉了,用户看到的都可能是空白页。
转折点出现在一次 A/B 实验。这次实验的价值不在运行时长(Codex 在长时间探索里经历了 5 次上下文压缩),而在于它停止了继续猜。实验只改变一个关键条件--保留浏览器原生的 runtime messaging,结果 AdBlock 的 General Options 文案能完整渲染出来;再等插件后台和连接层稳定后打开 options 页,单次加载不再 crash,DOM 也完整了。这个结果同时打穿了两个边界:第一,浏览器已经做对的消息能力,不应该被自己的兼容层覆盖(所有权问题);第二,插件页面不能被当成孤立的 HTML,打开之前后台运行时必须已经进入可用状态(生命周期问题)。作者由此把目标从「消灭某条日志」推进到「让页面显示前的责任链闭合」。
这篇文章最值得带走的不在那个具体 bug,而是调试方法论。作者在结尾总结:复杂系统里的 bug,很少只是某一行代码坏了,更多是责任链断了;日志告诉你哪里在喊痛,但没告诉你哪里先断;sleep 有效只能算时序证据,不能当修复方案;兼容层是用来补缺口的,不能抢走原生系统的所有权;单元测试只能证明零件,真实 smoke 才能证明系统,A/B 负责把「看起来有效」推进到「因果上站得住」。他特别提醒,别把结论记成一句「别追报错」--报错要看,局部修复要做,长时间探索也有价值;关键在于每一次探索有没有让假设变少,有没有把现象变成证据,再把证据变成责任边界。调试很少从第一分钟就看见根因,它更像是在一堆半对半错的线索里,设计出那个能改变判断权重的实验。找不到这个实验,就会一直忙;找到它,系统才开始向你交代真相。标题里的「Fable 没那么强,GPT 也没那么弱」也不是替谁洗白--Fable 在分析插件源码时被安全策略拦住,Codex 在长时间探索后把问题跑通,它们都不该被简化成「强」或「弱」。把这篇和今天另外两条精讲放在一起,会发现一个共同的形状:无论是 MCP apps 的分发、持续学习的评估环境,还是 Noi 的责任链调试,真正难的都不是单点能力,而是把复杂系统里的边界、反馈和因果理清楚。如果你做过复杂系统的调试,或者想知道怎么更有效地用 AI 编程工具处理难 bug,这篇几乎可以全文读。详见
速览 开源工具 sqlite-utils 的新版本由 Claude Fable 编写,作者约花费 149 美元
Simon Willison 用 Claude Fable(以及 GPT-5.5 做交叉审查)把 sqlite-utils 4.0rc2 推到稳定版。Fable 在第一轮评审里就标出 5 个「release blocker」,最严重的是 delete_where() 不提交事务还会污染连接,导致后续所有 atomic() 都走 savepoint 分支、永远不 commit--这是一个能造成数据丢失的 bug。除了修 bug,Fable 还帮忙完善事务处理、生成发布说明,整体 AI 成本约 149.25 美元。Willison 的实践可以作为「怎么把 AI 模型当成高级维护工程师来用」的一个参考样本,和今天 Noi 那条精讲里关于 Fable 能力边界的讨论正好呼应。详见
协议窥探:Apple AirDrop 和 Android Quick Share 近距离传输协议的系统性漏洞研究
这是首次对 Apple AirDrop 和 Android Quick Share 进行跨平台逆向工程与协议感知模糊测试的系统性研究。论文在三个生态系统里揭示了六个漏洞,覆盖从握手、认证到状态机的多个环节。对于做近距离传输、跨设备同步或安全研究的读者,这篇的价值在于方法:它示范了怎么把「感觉不太安全」的直觉,变成可复现的协议级证据。普通读者则可以借此了解,日常依赖的隔空投送类功能背后,协议层的攻击面有多大。详见
全球首次基于可控存内计算!忆阻器神经动力学芯片面世,0.43 秒搞定大脑表面建模
北京大学杨玉超团队与中科院上海微系统所宋志棠团队,用相变存储器(PCM)的电阻漂移特性研制出全球首款基于可控存内计算的神经动力学芯片。这颗 40 纳米芯片跑一次神经动力系统迭代只要 2.12 毫秒,做大脑皮层 3D 重建只需 0.43 秒,误差低于千分之一毫米,速度比此前最好的 GPU 快近 500 倍。思路上的亮点是:相变存储器原本被学界认为的「电阻漂移缺陷」,被反过来用作步长调节器,省掉了传统数字电路里计数器、比较器、乘法器那一堆搬运数据的环节,硬件面积压到原来的十分之一。适合关注芯片架构、存内计算和医学影像的读者。详见
Zig 编译器的近期更新值得一看:包管理功能(zig build、zig fetch、zig init、zig libc)从编译器可执行文件迁移到了构建系统进程,大量原本编译进二进制的逻辑(HTTP、TLS、Git 协议、压缩、build.zig.zon 解析)改成源码形式分发,可以不重编编译器就打补丁;此外还有 SPIR-V 后端进展、新的 @bitCast 语义、ELF 链接器的增量编译能力。Andrew Kelley 在包管理那条里还提了一个有意思的副产品:因为 maker 进程是 ReleaseSafe 模式编译的,网络相关的安全检查现在默认开着,做文件哈希的加密代码也能用上宿主 CPU 的特殊指令--用他的话说,「我们既能吃 AOT 的蛋糕,也能吃 JIT 的」。对于跟踪编译器实现、包管理或系统语言演进的开发者,这份开发日志信息密度很高。详见
Anthropic 工程师:他们到底怎么用 Claude 工作丨 How I AI
Anthropic 工程负责人 Felix Rieseberg 在 How I AI 这期里分享了他怎么把 Claude 从「更聪明的输入框」变成工作伙伴。最值得带走的是「把任务往上抽一层」的思路:他搬家时把披露文件、贷款信息、户型图丢给 Claude Co-work,原本只想量个尺寸,最后 Co-work 给 Claude 一台虚拟电脑,它用 Python 读文件、做出一个可以走进去看的 3D 房屋模型。他关于模型选择的判断也很实用--在自己还没想清楚要问什么的时候,选 Opus。适合所有想把 AI 用得更顺手的读者。详见
纽约大学联合 LeCun 团队(AMI)提出 AdaJEPA,让基于 JEPA 路线的隐空间世界模型不再在训练后冻结,而是通过测试时自适应(Test-Time Adaptation)在部署中持续学习。核心循环是「规划、执行、观测、更新、再规划」:每次只执行 MPC 算出的第一段动作,把真实观测当成自监督信号去更新编码器和预测器(默认只更新最后几层、每次只做 1 步梯度下降),下一轮规划用的就是被当前环境校准过的模型。实验显示它面对分布外偏移时,规划成功率明显优于固定世界模型。这条和今天精讲二的持续学习主题互补--一个讲 agent 怎么学,一个讲世界模型本身怎么学。详见
Logto:开源认证平台--前红杉运营合伙人打造的 Okta 替代方案
前红杉运营合伙人、Airbnb 工程师 Gao Sun 因为对 Okta 高昂定价(客户身份产品每月 3000 美元起步)不满,打造了 Logto--一个 MPL-2.0 开源认证平台。它支持 OIDC、OAuth 2.1、SAML SSO、多租户、基于角色的访问控制、通行密钥,企业 SSO 连接数没有 Auth0 那样的上限,可以自托管在已有的 Postgres 实例上,几乎零成本。项目已有 13608 个 Star,拿到红杉中国、真格基金和源码资本的投资。对于正在选型身份层、或对 Okta/Auth0 定价敏感的团队,这是一个值得纳入对比的选项。详见
补充阅读 上线之后缺失的一层:让生产 AI 智能体持续变好的反馈闭环 - Raphael Kalandadze 的核心观点是「上线不是终点,是真正工作的起点」。他主张给生产 agent 加一层反馈系统,由监控、会话分析、评审 agent 和用户视角检查共同驱动。这篇和精讲二放在一起读最合适,一个给框架,一个给工程落地。详见
我不懂 Rust,我的 AI 却用它重写了 PHP 解释器 - 作者不懂 Rust,用 LLM 从零写了一个 PHP 解释器,唯一不可贿赂的评判标准是 22000 个测试用例,最终跑到 17.4% 通过率,甚至跑通了一个 WordPress 站点。对研究 AI 编程能力和测试驱动方法的读者,这是一个很诚实的能力样本。详见
《吾辈如神》:AI 增强创造力的 10 条法则 - 摘自彼得·戴曼迪斯和史蒂芬·科特勒的新书,基于神经科学(自由能量原理、心流机制)提出 AI 增强创造力的法则,强调不能把思考外包、要保持认知自主性。适合关心 AI 与创造力的读者,作为周末长读。详见
更好的模型,更差的工具 - Armin Ronacher(Flask/Sentry 作者)记录了一个反直觉现象:新版 Claude(包括 Opus 4.8)有时会在工具调用的 schema 里塞进自造的字段,导致工具调用被拒。他把这种倒退归因于模型针对宽容的 Claude Code harness 做的后训练。对做工具集成、agent 框架的开发者,这篇是一个重要提醒--模型越强,schema 纪律可能越松。详见
「超越极限」:一百万颗卫星和太空镜子对夜空构成严重威胁 - ESO 的一项新研究警告,提议中超过 170 万个物体的卫星星座(包括 Reflect Orbital 计划的 5 万颗极其明亮的镜面卫星)会显著增亮夜空,对地基天文学造成严重冲击。适合关心太空治理、天文或大型工程外部性的读者。详见
2026 游戏行业最绝望的战争 - 这篇分析了游戏行业正在发生的三重挤压:硬件涨价(Steam Deck 1TB OLED 涨幅接近 50%、Switch 2 和 NSO 会员同步涨价)、半导体产能转向 AI 让玩家地位下降、玩家钱包战争全面爆发。作者认为机会在高资本效率的中小团队和有辨识度的新 IP。适合游戏行业从业者,以及对「AI 红利如何重塑相邻行业」感兴趣的读者。详见
今日阅读路径 先看 Noi 调试实录,它是最具操作性的--无论你用不用 AI 编程,那套「设计能改变判断权重的实验」的方法论都能直接用在自己的复杂 bug 上;
接着看 MCP apps 那场分享,它指向的是软件分发模型的潜在变化,能帮你判断接下来要不要押注这条路径;
最后看持续学习这场演讲,它补上了前两篇都没回答的问题--agent 上线之后,到底怎么从「会话」里长出可验证的改进。
如果还有余力,sqlite-utils 那条可以作为今晚的睡前读物,它短、具体,而且和 Noi 那篇里关于 Fable 能力边界的讨论正好连起来。
BestBlogs 是 AI 驱动的私人阅读助手,帮助你发现真正适合你的高质量内容,欢迎体验和关注我们。