Published on

2026-第十四周

Authors

该周报主要为各个地方内容的汇总整理

技术

.claude/ 文件夹结构解析

本文详细介绍了 Claude Code 项目中.claude文件夹的结构与功能,说明其作为配置 Claude AI 行为控制中心的重要性。文章解释了如何通过该文件夹中的各类文件(如指令文件、命令、技能、代理等)来定制团队协作规则和个人偏好,从而提升开发效率并确保 AI 工具符合项目规范。

  • 🧠 核心配置文件CLAUDE.md是系统的核心指令文件,Claude 会在会话开始时读取并全程遵循其中的规则,建议内容简洁且针对项目特点。
  • 📂 双层目录结构 – 存在项目级和全局(用户主目录)两个.claude文件夹,分别用于团队共享配置和个人偏好设置。
  • 📝 规则分拆管理 – 当CLAUDE.md变得冗长时,可通过rules/文件夹按关注点拆分规则文件,并支持基于路径范围激活规则。
  • ⚙️ 自定义命令与技能commands/文件夹允许创建自定义斜杠命令,而skills/则定义 AI 可自动触发的智能工作流,两者均可设置为项目级或个人全局使用。
  • 🤖 专用代理配置agents/文件夹用于创建具有特定角色、工具权限和模型偏好的子代理,以处理复杂或专项任务。
  • 🛡️ 权限与安全设置settings.json文件控制 Claude 可执行的命令和文件访问权限,通过允许列表、拒绝列表和询问机制保障操作安全。
  • 💾 记忆与会话持久化 – 全局.claude目录存储项目会话记录和 AI 自动生成的记忆,实现跨会话的信息延续。
  • 🚀 渐进式配置建议 – 推荐从基础CLAUDE.md和权限设置开始,逐步根据项目需求添加命令、规则和个人全局配置,以平衡效率与复杂性。

React 在没有 startTransition 的情况下如何渲染?

本文解释了 React 中的 startTransition 功能,它用于将非紧急的状态更新标记为可中断的过渡,从而避免阻塞用户界面,保持应用的响应性。它通过将更新分为“紧急”和“过渡”两种优先级,使得如输入、点击等紧急操作能立即响应,而如筛选列表、渲染大型图表等耗时更新则可在后台进行,并在有更紧急任务时被中断。

  • 🚦 startTransition 的作用:将状态更新标记为非紧急,使其可被更高优先级的更新中断,从而避免界面卡顿。
  • ⚙️ 工作原理:React 18 的并发渲染将工作拆分为小块,在过渡更新期间可暂停并处理紧急任务。
  • ⌨️ 典型使用场景:处理用户输入时的实时筛选、AI 响应流式渲染、标签页切换和单页应用导航,确保界面即时响应。
  • 🚫 无需使用的情况:当渲染耗时极短(< 16ms)、更新直接控制用户输入或状态更新本身很轻量时,不需要使用。
  • ⏱️ 与防抖的区别:防抖延迟执行,而 startTransition 立即开始但可中断,避免不必要的等待时间。
  • 🔧 与 requestIdleCallback 的区别:后者用于调度非 React 任务,而 startTransition 深度集成于 React 渲染流程,支持中断和恢复。
  • 💡 核心价值:在保持用户体验流畅的同时,处理耗时的渲染任务,让应用感觉更敏捷。

React Fiber 如何渲染您的用户界面

React Fiber 是 React 16 引入的新协调算法,它将渲染过程分解为可中断的小工作单元,通过优先级调度和链表数据结构,实现了不阻塞浏览器的并发渲染,从而提升用户界面的响应性。

  • 🧩 新的协调算法:将渲染拆分为小工作单元(约 5 毫秒),在时间切片内进行,允许浏览器在帧之间执行任务,避免丢帧和界面卡顿。
  • 🌳 Fiber 数据结构:Fiber 是一个 JavaScript 对象,作为 UI 的内存表示,通过 child、sibling 和 return 指针形成链表结构,使 React 能够跨平台使用。
  • 🚦 四阶段渲染流程:包括触发(Trigger)、调度(Schedule)、渲染(Render)和提交(Commit),其中调度阶段使用车道(Lanes)优先级系统管理更新顺序。
  • 优先级调度:通过 32 位整数车道系统标记更新优先级,高优先级任务可中断低优先级任务,确保紧急交互(如点击)及时响应,同时防止低优先级任务饿死。
  • 🔄 可中断渲染:渲染阶段可根据优先级中断和恢复,而提交阶段是连续不可中断的,直接应用 DOM 变更,保证 UI 更新的一致性。
  • 🎯 高效遍历与跳过:React 通过检查 fiber 的 lanes 和 childLanes 属性,可跳过无更新的子树,减少不必要的渲染,提升性能。
  • 🏗️ 平台无关性:Fiber 的数据结构使 React 能用于 Web、移动端、3D 和终端等多种平台,分离了协调逻辑与平台特定代码。

用 CSS 实现《毁灭战士》游戏

本文介绍了一个使用 CSS 渲染的《毁灭战士》游戏项目,展示了现代 CSS 的强大功能。游戏中的所有元素(如墙壁、地板、敌人)均为<div>,通过 CSS 变换进行 3D 定位,游戏逻辑由 JavaScript 处理,但渲染完全由 CSS 完成。

  • 🎮 项目动机:探索浏览器和 CSS 的极限,证明现代 CSS 的强大能力,并因其独特创意(用 CSS 实现《毁灭战士》)而实施。
  • 🧩 技术分工:JavaScript 负责游戏逻辑和状态管理,CSS 负责所有视觉渲染,两者严格分离以实现高效协作。
  • 📐 3D 渲染原理:利用 CSS 变换(如translate3drotateY)和数学函数(如hypot()atan2())将原始游戏坐标转换为 3D 场景,无需额外图形库。
  • 🧭 坐标转换:通过反转坐标轴(如 Y 轴映射为负 Z 轴)将《毁灭战士》的 2D 坐标系适配到 CSS 3D 空间,使数学计算自然衔接。
  • 🌍 相机模拟:通过反向移动整个场景(而非移动相机)来实现玩家视角变化,仅需更新四个自定义属性(如玩家位置和角度)。
  • 🧱 元素构建:墙壁使用<div>和 CSS 计算宽度与旋转;地板通过rotateX(90deg)转为水平面,并用clip-path裁剪复杂形状。
  • 🖼️ 纹理对齐:使用世界坐标偏移background-position,确保相邻区域的纹理无缝拼接,避免视觉断裂。
  • 🚪 动画效果:利用 CSS 过渡和@property注册自定义属性,实现门、升降梯的平滑动画,减少 JavaScript 干预。
  • 👾 精灵动画:敌人精灵通过background-position切换帧,并使用scaleX进行镜像翻转,以模拟不同角度的视角。
  • 🎯 抛射物与特效:子弹和爆炸效果通过 CSS 动画控制移动,并利用animationend事件自动清理元素,提升性能。
  • 💡 光照系统:使用filter: brightness()@property动画实现动态灯光效果,通过 CSS 层叠简化管理。
  • 👻 特殊效果:对隐形敌人应用 SVG 滤镜(如feTurbulence)模拟扭曲透明效果,增强视觉表现。
  • 📱 响应式设计:游戏支持移动端,通过锚点定位(anchor positioning)自适应调整 HUD 和操控界面布局。
  • 👁️ 观察模式:提供俯瞰和第三人称视角,利用 CSS 的sin()cos()函数计算相机位置,实现平滑过渡。
  • 性能优化:通过 JavaScript 或 CSS 技巧(如动画延迟黑客)进行视锥裁剪,隐藏不可见元素以提升性能。
  • 🧩 深度排序:浏览器自动处理大多数深度排序,但对共面表面需微调位置以避免闪烁。
  • ☁️ 天空渲染:通过后置 2D 天空纹理和额外裁剪逻辑,模拟原版游戏的“作弊”天空效果。
  • 🐛 浏览器兼容:项目遇到多个浏览器 bug(如 Safari 的 View Transitions 问题、纹理重绘性能瓶颈),需针对性解决。
  • 项目总结:成功用 CSS 实现《毁灭战士》渲染,展示了 CSS 在 3D 渲染、动画和交互方面的潜力,虽性能不及 WebGL,但突破了 CSS 的传统应用边界。

借口审查

本文讨论了 Cheng Lou 推出的 pretext 项目,该项目展示了文本动态布局的多种效果,并探讨了这些效果在用户体验层面的实际价值。作者通过分析多个演示案例,指出虽然这些功能在视觉上令人印象深刻,但许多效果可能并不适合实际网页应用,因为可能影响可读性、增加代码负担,或已有 CSS 方案可以替代。

  • 🐉 文本避让动画:pretext 演示中文本动态避开移动元素的效果技术惊艳,但引发了“CSS 终结”的讨论,作者认为这更多是艺术展示而非实用功能。
  • 📐 手风琴折叠效果:CSS 现已支持通过interpolate-sizecalc-size()实现高度从 0 到 auto 的平滑动画,无需 JavaScript,但部分新特性浏览器支持尚不完善。
  • 💬 气泡文本自适应:针对聊天气泡的“收缩包装”问题,CSS 已有基于锚点定位的解决方案,虽然复杂但可避免引入 JavaScript 库,作者认为此优化并非必需。
  • 🖼️ 动态图文环绕:类似杂志布局的文本环绕效果可通过 CSS 的shape-outside实现,但元素旋转等复杂交互仍需 JavaScript,且可能影响阅读流畅性。
  • 🎨 艺术化 ASCII 效果:该效果纯属视觉艺术,无用户体验考量,建议添加aria-hidden避免屏幕朗读器读取混乱字符。
  • ⚙️ 动态编辑布局:文本随移动元素不断重排会严重干扰阅读,不适合需要专注阅读的内容场景。
  • 📏 文本两端对齐优化:pretext 展示了更优的齐行算法,能减少文本“河流”空隙,但可能增加断字需求,需在美观与可读性间权衡。
  • 💻 内联代码换行:项目可改善代码片段的换行效果,但可能过度换行,建议通过预处理添加<wbr>控制断位。
  • 🧱 瀑布流布局:JavaScript 可实现动态瀑布流,但需注意视觉顺序与阅读逻辑的匹配,CSS 正在推进grid-lanesreading-flow属性规范布局逻辑。
  • ⚖️ 项目定位与建议:pretext 适用于追求文本艺术化或高级排版控制的场景,但网页与印刷媒介不同,需权衡动态效果带来的代码开销与用户体验,确保功能服务于内容而非分散注意力。

信号,基于推拉算法的实现 — 威利·布劳纳

本文深入探讨了信号(Signals)的内部工作原理,特别是其核心的推拉(push-pull)算法。信号作为响应式编程的现代实现,通过自动追踪依赖和惰性求值,实现了细粒度的状态更新。文章通过代码示例和交互式图示,详细解析了信号如何推送通知使依赖失效,以及计算值如何在被读取时拉取最新状态,从而构建高效的响应式系统。

  • 🧠 信号是响应式编程的现代实现,基于推拉算法,能自动追踪依赖并高效更新状态。
  • 🌐 响应式编程思想源于 20 世纪 70 年代,系统内数据源的变化会自动传播到依赖计算图中。
  • 📡 信号采用推送机制:当信号值改变时,立即通知所有订阅者,标记依赖的计算值为“脏”(无效)。
  • 🔄 计算值采用拉取机制:只有被读取且标记为“脏”时,才会重新计算,实现惰性求值和缓存优化。
  • 🧩 依赖自动追踪通过全局栈实现:计算值执行时,其访问的信号会自动注册为依赖,建立动态关联。
  • 🏗️ 推拉结合形成完整流程:信号推送失效通知,计算值在需要时拉取最新值,确保更新精确且高效。
  • 🚀 该算法已被 Solid、Vue、Preact 等框架采用,且 TC39 正在推动信号在 JavaScript 中的原生标准化。

18 个月的代码,付诸东流。我们的教训总结。 | 汤姆·皮亚吉奥

经过一年半的开发,我们决定放弃现有产品并全面重写。这一决定源于早期技术债务、团队扩张后的质量问题,以及当前 AI 技术进步带来的重构机会。以下是关键经验总结:

  • 🐛 早期忽视测试导致质量危机:初期为追求快速上线,采用 TypeScript monorepo 且不设严格模式与测试。团队扩张后代码混乱度激增,出现大量未定义行为和错误处理问题,甚至导致客户流失。
  • 🔄 技术债务迫使彻底重写而非重构:早期为弥补 GPT-4 时代模型缺陷,构建了复杂的 Playwright/Appium 封装层。如今模型能力提升,原有精密检测机制已过时,叠加历史技术债务,重写比重构更合理。
  • 弃用 Next.js 与 Server Actions:Server Actions 存在异步处理困难、测试复杂度高、全局顺序执行限制、可观测性差、安全隐患及错误流控制混乱等缺陷。最终迁移至 React + tRPC + Hono 架构,资源消耗从 8GB/实例降至近乎免费。
  • ⛓️ 选择 Kubernetes 原生编排方案:评估 useworkflow.dev 等方案后,因需处理有状态工作流(如移动设备测试需申请租约、安装应用等),最终采用 Argo Workflows。其 Kubernetes 原生特性保障了多步骤作业的可靠执行与扩展性。
  • 🧪 新项目以测试与严格类型为先:重写时确立“测试先行”原则,采用最严格的 TypeScript 配置,确保代码质量与团队协作效率。

治理:文档作为知识网络

本文探讨了如何将组织文档从传统的文件夹结构转变为知识网络,通过原子化文档、内容地图和有机链接提升信息的可发现性和可维护性。

  • 🧠 知识网络优于文件夹结构:传统文件夹结构导致信息孤立,而知识网络通过链接形成有机的信息关联,类似维基百科或互联网的运作方式。
  • 🗺️ 内容地图作为导航入口:通过创建“内容地图”作为主题的引导页面,帮助用户快速定位所需信息,同时兼具概述和深度链接功能。
  • 📄 原子化文档提升可维护性:每个文档只阐述一个概念,通过引用和链接避免重复,确保信息单一来源,易于更新和探索。
  • 🏷️ 元数据增强信息实用性:添加创建日期、更新日期和作者等元数据,帮助判断信息的时效性和来源,尤其适用于法规或技术政策。
  • 📁 结构化文件夹降低使用门槛:尽管强调链接,仍保留“项目”“应用”“流程”等文件夹作为新用户的熟悉入口,平衡灵活性与易用性。
  • 🤖 警惕 AI 生成文档的弊端:自动生成的文档缺乏有机链接,易降低信息质量,应鼓励人工编写并利用 AI 辅助,而非完全替代。
  • 🔄 文档是动态的有机系统:文档的价值在于信息之间的关联,通过小型、可扫描的文档和深度链接,支持不同层次的信息获取和探索。

慢下来,才能更快——工程经理之道

在 AI 时代,最反直觉的做法可能是适时“放慢速度”。本文探讨了在 AI 加速执行的背景下,为何在决策、设计和需求澄清等“慢阶段”投入更多时间反而能提升整体效率。通过结合卡尼曼的“系统 1 与系统 2”思维模型,文章指出 AI 放大了快速执行能力,但也提高了错误决策的传播速度,因此必须在关键前期阶段深思熟虑,才能避免后续高昂的返工成本。

  • 🧠 AI 强化了“慢思考”的重要性:AI 擅长快速模式匹配(系统 1),但人类仍需负责决定“建造什么”“为何重要”等慢思考(系统 2)。当执行变得廉价快速时,前期决策的影响力反而更大。
  • 🐇 警惕“速度幻觉”:AI 能快速生成代码,但若基于错误需求或设计,只会更快地积累技术债务。看似快速的进展可能让人陷入更深的陷阱。
  • 在关键阶段主动减速:在需求澄清、设计规划和问题定义阶段投入时间,能大幅降低后续修改成本。例如,采用“思考优先”协议,在借助 AI 前先明确目标、成功标准和约束条件。
  • 🔄 用 AI 加速“慢工作”:AI 不仅能快速执行,也能辅助深度思考。例如,让其进行“事前剖析”以发现潜在风险,或生成边缘案例来完善设计。
  • 🏗️ 快速原型作为减速工具:用 AI 快速构建可抛弃的原型,能帮助验证方向、收集反馈,这实质上是“以快速服务慢思考”,避免在错误路径上浪费大量时间。
  • 🌬️ 应对“文化逆风”:面对“为何不用 AI 更快完成”的压力,需明确区分工作阶段:在慢阶段公开分享需求文档、设计草图等过程产物,设定时间盒,并邀请利益相关者参与,使隐性工作可见化。
  • ⛰️ 借鉴“上山下山”模型:如同 Basecamp 的“Shape Up”方法论,工作分为上坡(慢速探索、厘清问题)和下坡(快速执行)。长期来看,懂得在适当时机减速的团队反而能更快交付。

工具

GitHub - moscajs/aedes:基于流的轻量级MQTT代理,适用于任何流服务器,Node.js风格 · GitHub

Aedes 是一个基于 Node.js 的轻量级 MQTT 代理服务器,可在任何流服务器上运行,支持 MQTT 3.1 和 3.1.1 协议,提供集群、持久化、插件扩展等功能,并具有较高的性能表现。

  • 🚀 核心特性:支持 MQTT 3.1/3.1.1、TCP/SSL/WebSocket、消息持久化、集群、身份验证与授权、$SYS 主题及插件化中间件。
  • 🛠️ 安装与使用:可通过 npm 安装(npm install aedes),提供 Docker 支持及详细的 API 文档。
  • 🔌 扩展与插件:提供多种持久化后端(如 MongoDB、Redis、LevelDB)和消息队列发射器(如 mqemitter-redis),支持自定义中间件。
  • 📊 性能基准:基准测试显示 Aedes 在集群模式下(如搭配 Redis 持久化与 Redis 发射器)性能优于前身 Mosca,吞吐量更高。
  • 🌐 应用案例:被多个项目采用,如 Node-RED 的 MQTT 代理插件、Kuzzle IoT 后端等,社区活跃且有商业支持选项。
  • ⚠️ 安全提示:消息在授权发布回调后即视为有效,权限变更不影响已通过的消息;建议对敏感数据使用 QoS 0 或清洁会话。
  • 📜 开源与贡献:基于 MIT 许可证开源,欢迎提交问题或拉取请求,并提供付费支持选项。

marknative

marknative 是一个原生的 Markdown 渲染引擎,它绕过了传统的浏览器渲染流程,通过解析 Markdown 为文档模型、运行独立的布局引擎、分页,并最终使用原生 2D 画布 API 直接输出 PNG 或 SVG 图像。它具有无头、确定性、高性能和轻量级的特点。

  • 🚀 原生无头渲染:无需浏览器或 Chromium,直接在服务器端将 Markdown 解析并渲染为分页的 PNG/SVG 文档。
  • 🔄 独特的渲染路径:采用 Markdown → 文档模型 → 布局引擎 → 分页 → 原生 2D 绘图 的流程,而非传统的 HTML/DOM 路径。
  • 核心优势:支持服务器端批量快速渲染、跨运行环境具有确定性的分页效果、轻量级库嵌入以及直接输出图像格式。
  • 📦 易于集成:通过 npm 或 bun 安装,依赖的 skia-canvas 后端提供了预构建的二进制文件,开箱即用。
  • 🛠️ 功能丰富:支持 CommonMark 和 GFM(GitHub Flavored Markdown)语法,包括表格、任务列表和删除线等扩展。
  • 📄 灵活的 API:提供 renderMarkdown 用于完整渲染,parseMarkdown 用于解析文档模型,并可自定义输出格式(PNG/SVG)和主题。
  • 🧩 模块化管道:渲染流程的各个阶段(解析、布局、分页、绘图)相互独立,便于测试和定制。
  • 🗺️ 持续发展:未来路线图包括改进中英文排版、提升代码块和表格渲染质量、支持自定义字体和主题配置等。

GitHub - AkkalDhami/servercn: Servercn,受 shadcn/ui 启发的 Node.js 后端组件注册表。Node.js 后端的 shadcn 哲学。· GitHub

Servercn 是一个为 Node.js 和 TypeScript 设计的后端组件注册库,提供预配置的组件、模板和工具,帮助开发者快速构建生产就绪的后端代码。

  • 🚀 项目初始化:通过npx servercn-cli init命令快速创建具有生产就绪结构的新项目。
  • 🧩 组件添加:支持增量采用,使用npx servercn-cli add [组件名称]添加特定模块,如日志记录器、OAuth 等。
  • 📋 组件示例:提供 API 错误处理、响应格式化、文件上传、JWT 工具、速率限制器、健康检查等多种实用组件。
  • 🛠️ CLI 功能:包含列出所有可用注册项、组件、基础模块、模式、蓝图和工具的多种命令,支持 JSON 格式输出。
  • 👥 社区贡献:欢迎开发者提交 Pull Request 参与项目改进,提供详细的贡献指南。
  • 📄 开源许可:项目基于 MIT 许可证发布,允许自由使用和修改。
  • 🌐 项目生态:作为受 shadcn/ui 启发的 Node.js 后端组件注册库,致力于为后端开发提供类似的高效哲学。

适用于 React 的基于 TypeScript 类的 WebSocket 库

本文介绍了一个基于 TypeScript 类与 TanStack Store 构建的、专为 React 设计的 WebSocket 库,旨在提供稳定、可复用且反应式的实时通信解决方案。

  • 🏗️ 库采用类结构设计,核心逻辑封装在WebsocketConnectionWebsocketSubscriptionApiWebsocketMessageApi类中,React 钩子作为轻量包装层,确保实例的引用稳定性和单例复用。
  • 🔄 连接管理实现懒加载与自动重连,支持心跳检测、浏览器在线状态监听及指数退避重连策略,确保连接持久可靠。
  • 📡 订阅与消息机制分离:订阅模式用于流式数据(如列表、通知),消息模式用于请求/响应式命令(如验证、操作),均通过 URI 进行路由。
  • ⚛️ 与 React 深度集成:通过 TanStack Store 实现细粒度响应式更新,组件仅订阅所需数据片段,避免不必要的重渲染,同时支持跨组件共享订阅实例。
  • 🛠️ 提供生产级特性:包括连接生命周期管理、防抖重连、自定义日志、URL 动态替换(如鉴权变更)、以及针对边缘情况(如消息缓存、请求覆盖)的优化处理。
  • 📦 库已开源并发布至 npm,便于直接集成到项目中,适用于需要高效实时通信的复杂 React 应用场景。

更新

可迭代流 | Node.js v25.9.0 文档

Node.js 的 node:stream/iter 模块提供了一种基于可迭代协议(而非传统事件驱动或 Web Streams API)的流处理方式,将数据表示为 Uint8Array 批处理,支持拉取和推送两种模型,并包含丰富的转换、消费和工具函数。

  • 🧪 实验性功能:该模块目前处于实验阶段,需通过 --experimental-stream-iter CLI 标志启用。
  • 🔄 基于可迭代协议:流数据表示为 AsyncIterable<Uint8Array[]>Iterable<Uint8Array[]>,无需继承特定基类,任何实现可迭代协议的对象均可参与。
  • 📦 批处理数据:每次迭代产生一个 Uint8Array[] 批次,以分摊异步操作开销,提升性能。
  • ⚙️ 灵活的转换器:支持无状态函数或有状态对象(含 transform 方法)作为转换器,可处理压缩、加密等需跨批次缓冲的操作。
  • 支持拉取与推送模型pull() 实现按需拉取的数据流,自然具备背压;push() 允许显式写入数据,需通过 highWaterMarkbackpressure 选项管理背压。
  • 🚦 多种背压策略:提供 strict(默认)、blockdrop-oldestdrop-newest 四种策略,分别适用于严格防内存增长、传统阻塞、保留最新数据和丢弃新数据等场景。
  • 🔧 丰富的工具函数:包括 from() 创建源流、pipeTo() 构建管道、text()/bytes() 等消费者函数,以及 merge()tap()broadcast()share() 等高级功能。
  • 🔗 协议符号集成:通过 Stream.toAsyncStreamable 等协议符号,允许第三方对象无缝集成到流处理管道中,无需直接导入模块。
  • 📚 同步与异步版本:关键函数如 from()pull()text() 等均提供同步(Sync后缀)和异步版本,适应不同场景需求。

TanStack Router 新响应式核心:信号图 | TanStack 博客

TanStack Router 重构了其响应式核心,将原先单一的大型状态对象拆分为多个小型存储,以提升导航性能和更新效率。

  • 🚀 性能提升:通过将 router.state 拆分为多个独立的小型存储,实现了更精准的更新,减少了导航时的存储更新次数,从而加快了客户端导航速度。
  • 🔄 架构变革:新的模型以小型存储作为数据源,router.state 现在是从这些存储中派生出来的,而不是作为内部唯一真相源,这减少了不必要的订阅和更新。
  • 🧩 按需订阅:内部钩子如 useMatch 现在直接订阅相关的存储,而不是从大型状态对象中选择,这降低了订阅的冗余和计算开销。
  • 🌐 跨框架适配:新的存储边界设计允许不同框架(如 React、Vue、Solid)使用各自的存储实现,同时保持核心路由逻辑的一致性。
  • 📦 包体积变化:重构导致 React 和 Vue 的包体积略有增加(约 1KiB),而 Solid 由于不再依赖 tanstack/store,包体积减少了约 1KiB。
  • 实测效果:在基准测试中,客户端导航时间显著减少,React 从 7ms 降至 4.5ms,Solid 从 12ms 降至 8ms,Vue 从 7.5ms 降至 6ms。

AI

Claude Code Unpacked

本文深入解析了 Claude Code 的内部架构与工作机制,从用户输入消息到生成响应的完整流程,涵盖了其代理循环系统、50 多种工具、多智能体协作模式以及尚未发布的隐藏功能,并通过代码文件统计和模块分类展示了系统的复杂性。

  • 🔄 代理循环流程:从按键输入到渲染响应,逐步追踪源代码执行路径。
  • 🏗️ 架构探索器:通过交互式源码树展示内部结构,包括工具与命令、核心处理、UI 层、基础设施等模块。
  • 🛠️ 工具系统:涵盖文件操作、执行、搜索、智能体任务、规划等 53 种以上工具,按功能分类呈现。
  • 📚 命令目录:提供 70 余条斜杠命令,涉及设置配置、日常工作、代码审查、调试诊断等场景。
  • 🧪 隐藏功能:揭示代码中未正式发布的功能,包括特性标记、环境控制或注释掉的实验性内容。

人工智能时代的工作流程——2025 与 2026 年的变革

2025 年 AI 已成为工作流标配,显著提升个体效率,但团队协作与规模化应用仍面临质量、信任与流程整合的挑战;2026 年重点将从实验转向 AI 操作化、系统整合与可衡量的业务成果。

  • 🤖 AI 应用普及但成熟度不均:84% 的团队已在工作流中使用或试验 AI,但仅 12% 全面采用“AI 优先”模式,16% 仍完全回避
  • 效率提升伴随质量隐忧:66% 团队感受到生产力积极影响,但 40% 需修复低质量 AI 输出,代码生成成为最常用场景(58%)
  • 🔄 协作摩擦持续存在:仅 33% 认为 2025 年协作顺畅,较 2024 年(27%)略有改善,但跨角色协作仍是薄弱环节(仅 14% 用 AI 改善协作)
  • 🎯 2026 聚焦 AI 操作化:41% 团队将“有效实施 AI 工具”列为首要任务,44% 预期 AI 带来渐进式改进而非革命性变化
  • 👥 混合角色双刃剑效应:48% 认可混合角色加速迭代,但 55% 警告可能导致角色过载与倦怠,技能深度与职业路径模糊成新挑战
  • 🛡️ 信任机制亟待建立:69% 用户对 AI 输出持谨慎态度需人工审核,36% 抱怨结果不符合设计系统标准,安全隐私顾虑阻碍 31% 团队采用
  • 📊 基础流程决定 AI 成效:AI 放大现有协作基础,流程清晰的团队实现高效交付(21%),而基础薄弱者面临更多返工与延迟(42%)
  • 🧩 系统性整合成关键:2026 年需构建“AI+ 人员 + 流程”协同体系,强化设计系统(21%)、跨团队沟通(25%)与混合技能建设(29%)

其他

自主性被高估:为何对齐胜过自主

文章探讨了在敏捷和产品管理中,自主性常被误解为独立决策,而实际上真正的自主性在于有选择地行动,且高度依赖团队间的对齐。缺乏对齐会导致团队各自为政,形成孤岛,反而削弱自主性。因此,在团队协作的环境中,对齐比自主性更重要,通过提供如愿景、战略等“赋能约束”来引导团队,才能实现高效协作与真正的自主。

  • 🎯 自主性不等于独立性,而是有选择地行动,强调自我导向而非孤立决策。
  • 🔗 低对齐(非低自主性)会导致团队独立工作,形成孤岛,破坏协作。
  • ⚖️ 在团队相互依赖的现实环境中,对齐比自主性更重要,缺乏对齐会损害自主性。
  • 🧩 高对齐为高自主性铺平道路,使团队能在协作中自我决策,提升参与度和动力。
  • 🛡️ 对齐通过提供“赋能约束”(如愿景、目标)来限制选择,引导团队朝共同方向努力,促进协作。
  • ❌ 单纯增加自主性而不解决对齐问题会加剧孤岛现象,降低整体自主性,这正是 Spotify 模型在许多公司失败的原因。
  • 🔄 修复孤岛的关键是优先处理对齐问题,而非盲目提升自主性,约束是实现多团队环境中自主性的基础。

穷人没教育,寒门无贵子

本文深刻探讨了当前教育领域日益加剧的阶层分化现象,通过对比富裕家庭与普通家庭在教育资源、信息环境及对 AI 时代适应能力上的巨大差异,揭示了“寒门难出贵子”背后的系统性原因。作者指出,真正的差距不在于努力程度,而在于家庭所能提供的“代际资本”与“信息环境”。同时,文章强调,AI 技术的普及为普通人提供了一个历史性的窗口期,其关键在于父母自身能否率先利用 AI 解决真实问题、创造价值,从而为孩子树立榜样并构建有效的学习环境。全文的核心呼吁是:认清现实差距,停止无效的“寓教于乐”消费,亲自实践并认真对待财富积累,抓住 AI 时代尚存的平等机遇,为孩子争取真实的成长空间。

  • 🎭 认知鸿沟:作者拜访朋友时意识到,富裕家庭的孩子在贵族学校接受的是在真实世界中探索的教育,而普通家庭的孩子则困在刷题备考的流水线中,两者仿佛身处截然不同的“游戏”。
  • 📊 数据印证分化:数据显示,农村家庭近六成可支配收入用于教育,却不及国际学校一学期学费;寒门学子进入顶尖大学的比例从 2008 年的 1.15 骤降至 2015 年的 0.66,结构性差距持续扩大。
  • 🌍 世界观与资源网络:清华大学调查显示,近 44% 的学生入学前出过国,而西部大学仅 2.3%;贵族学校的家长圈形成强大的“代际资本”网络,为孩子提前铺就资源与人脉。
  • 差距的隐蔽性:教育分化的残酷在于其速度“超过了感知速度”,悄无声息地发生,让许多家庭多年后才发觉道路的终点与预期不同。
  • 🚫 “寓教于乐”的陷阱:市场上多数 AI 教育课程以“留存率”为核心,用游戏化机制制造进步的错觉,实则削弱了真实学习所需的“不适感”与挑战性。
  • 🔑 真实任务才是关键:有效的 AI 学习应围绕真实问题展开,如帮家庭生意制作 AI 助手,在挫折与解决中积累真实经验,而非追逐虚拟奖励。
  • 🕒 AI 窗口期的平等性:大语言模型(如 ChatGPT)诞生仅三年多,顶尖使用者也不过“小学三年级”水平,且最先进的工具几乎以相同成本向所有人开放,这是历史上罕见的机遇。
  • 💡 父母身教重于言传:如果父母自身未用 AI 创造真实价值,却花钱送孩子学 AI,这往往是一种“甩锅”式的焦虑缓解;孩子更需要看到父母如何用工具解决实际问题。
  • 💰 认真赚钱是责任:经济基础是孩子成长的“必要条件”,财富能换取时间与选择权,如周三带孩子去探索世界,这是一种被低估的关键教育资源。
  • 📡 信息环境决定认知:被 AI 替代的质检员从未被告知岗位风险,因其信息环境被算法固化;富裕家庭则自然传递趋势与机会。普通家庭可通过主动选择关注点来改善信息环境。
  • 🏃 军备竞赛已开始:富裕家庭让孩子参与真实 AI 项目,而普通家庭可能沉迷于“寓教于乐”的课程,导致未来能力差距难以弥补。
  • 🚪 普通家庭的入口:父母率先用 AI 做成实事,成为孩子的“活教材”,这比任何昂贵课程都更有效,且能提升自身竞争力。
  • 立即行动,拒绝等待:AI 领域的先发优势正在快速固化,窗口期每六个月收窄一次,拖延将导致机会流失。
  • 🧭 明确游戏规则:若无法进入贵族学校圈层,不应模仿其表面形式(如报高价课),而应找到 AI 时代的新游戏入口——实践解决真实问题。
  • 🔮 未来受益者的画像:五年后 AI 时代的赢家,将是早期认真使用 AI、解决实际问题并让孩子耳濡目染的“编排者”,而非仅懂技术理论的人。
  • 🕰️ 历史性窗口正在收窄:作者以自身为例,虽无法提供贵族学校的起跑线,但可让孩子在 AI 爆发初期理解工具与规则,利用当前更浅的阶层沟壑。
  • ✍️ 最终呼吁:差距真实存在,机会也依然存在。关键在于停止发呆,勇敢开始,用行动为孩子争取在 AI 时代的立足之地。

冲刺前的抽搐——迈克·费舍尔

本文探讨了从睡眠中老鼠的抽搐现象到企业学习与适应策略的类比,强调在行动前通过低风险、高频次的小规模测试来获取对系统自身的理解,从而避免后期的高成本错误。

  • 🐀 抽搐的本质:老鼠睡眠时的抽搐并非无意义动作,而是帮助大脑建立身体内部地图的低风险、自我驱动的学习方式,类似企业应通过小规模实验来理解自身系统。
  • 🔄 学习先于执行:传统企业常要求先执行后学习,导致问题出现时才被动调整;抽搐模式建议先通过探索获取理解,再展开大规模行动。
  • 🧪 低风险探索:抽搐式学习具有低风险、高频次、自我驱动和信息丰富的特点,不追求即时成果,而是专注于系统自身的反馈与认知。
  • 🚀 提升学习速度:企业竞争优势在于学习速度——快速更新对现实的认知模型;通过小规模试点和假设测试,能在不增加重大风险的情况下加速学习。
  • 📦 产品开发中的应用:在产品开发中,抽搐表现为原型、功能开关和手动流程等小规模测试,帮助团队在全面投入前发现用户真实需求与潜在问题。
  • 🏢 组织设计的启示:重组常因忽视非正式沟通网络而失败;通过临时结构或实验性调整进行“组织抽搐”,能揭示真实的权力分布与协作摩擦。
  • 🧭 策略作为假设:战略不应是僵化的宣言,而应视为可通过边缘探索和小规模并行实验验证的假设,从而在信号出现时灵活调整方向。
  • 👁️ 领导力的角色:领导者需接纳不确定性,鼓励提问与探索而非过早决断;允许抽搐能建立信任,避免因信息不足导致的过度矫正与剧烈波动。
  • 💡 系统性前瞻:抽搐不是低效或犹豫,而是智能系统通过早期温和学习避免后期灾难性错误的预见性行为;企业应将运动视为知识的来源,构建能持续学习与适应的体系。