2026-03-18

20 篇热帖

Have a fucking website

内容摘要:关于企业和创作者拥有网站的重要性

这篇文章强烈建议企业和个人创作者建立自己的网站,并强调了拥有网站的重要性,批判了过度依赖社交媒体平台的现状。

核心观点:

  • 社交媒体的局限性: 作者认为社交媒体平台虽然便捷,但存在诸多问题,包括成本高昂、设置复杂、以及并非所有潜在客户都使用这些平台。
  • 网站的优势: 拥有网站能提供一个可靠的在线存在,展示服务、价格、营业时间等信息,且不受社交媒体平台规则变动的影响。
  • 平台风险: 社交媒体平台的规则可能随时改变,导致用户积累的粉丝或内容失去价值,甚至被平台无故封禁。
  • 所有权问题: 在社交媒体平台上发布的内容和粉丝数据不属于用户,而是平台所有,用户实际上是将数据免费提供给平台用于广告和数据收集。
  • 邮件列表的重要性: 作者建议建立邮件列表,因为电子邮件是联系潜在客户的一种稳定方式,不容易被平台控制。
  • 互联网的本质: 互联网最初的设计是基于相互链接的网站,而现在社交媒体平台通过构建“围墙花园”并限制链接分享来鼓励用户长时间浏览,这种模式是新的,并且应该被改变。

总结:

作者呼吁企业和创作者摆脱对社交媒体的过度依赖,重视拥有自己的网站和邮件列表,以确保在互联网上拥有更稳定、可靠的存在,并掌握自己的数据和与客户沟通的渠道。 建立网站是推动互联网回归其最初互联互通状态的重要一步。

A Decade of Slug

十年 Slug 算法:回顾与开源公告 (Ten Years of the Slug Algorithm: A Review and Open Source Announcement)

这篇文章回顾了 Slug 算法的十周年,该算法用于在 GPU 上直接从贝塞尔曲线渲染字体。Eric Lengyel 于 2016 年秋季开发了该算法,并在 2017 年中期发表了相关论文。Slug 算法库 (Slug Library) 的 1.0 版本于不久后发布,并已广泛应用于视频游戏行业以及科学可视化、CAD、视频编辑、医疗设备甚至天文馆等领域的公司。客户包括 Activision、Blizzard、id Software、2K Games、Ubisoft、Warner Brothers、Insomniac、Zenimax 和 Adobe 等。

算法演进 (Rendering Evolution)

Slug 算法的核心在于,它无需预先计算或缓存字体图像,而是直接在 GPU 上从贝塞尔曲线数据渲染文本和矢量图形。算法的目标是健壮、快速且高质量。

  • 优化移除: 早期版本包含“带分割优化”,旨在提高大尺寸字体的渲染速度。但由于可能导致像素着色器性能下降,该优化已移除。
  • 抗锯齿和超采样: 早期版本使用自适应超采样来增强小尺寸文本的抗锯齿效果,但由于 dilation 技术已经能有效缓解小字体的锯齿问题,并且超采样会增加着色器复杂性,因此超采样功能被移除。
  • 多色 Emoji: 渲染多色 Emoji 的方法从基于每层渲染的复杂着色器,改为渲染多个独立的字体图形,提高了效率并简化了着色器代码。

动态膨胀 (Dynamic Dilation)

自 Slug 库发布以来,最重要的改进是“动态膨胀”技术。它解决了之前需要手动指定字体边界膨胀距离的问题。动态膨胀技术会根据当前的模型-视图-投影 (MVP) 矩阵和视口尺寸,自动计算每个顶点所需的膨胀距离,以确保在视口空间中半像素的膨胀,从而保证了抗锯齿效果,并避免了不必要的资源浪费。

动态膨胀的计算涉及复杂的数学公式,需要根据 MVP 矩阵、视口尺寸以及顶点位置和法向量等信息,计算出最佳的膨胀距离。

开源公告 (Patent Announcement)

作者宣布,他将 Slug 算法的专利永久性地贡献给公共领域,这意味着任何人都可以自由使用该算法,无需任何许可费用。作者还发布了一个新的 GitHub 仓库,其中包含了 Slug 算法的参考顶点着色器和像素着色器,并以 MIT 许可证开源。这些着色器代码是基于实际的 Slug 库代码,并包含动态膨胀功能,比 JCGT 论文中提供的代码更先进。

总结 (Summary)

Slug 算法在过去十年中不断演进,通过移除不必要的优化、采用动态膨胀等技术,提高了渲染效率和质量。现在,作者将该算法开源,鼓励更多开发者使用和改进该技术。

Rob Pike's 5 Rules of Programming

Pike's Rules 及相关原则总结

以下是对 Pike's Rules 及其相关原则的总结:

核心思想:避免过早优化,重视数据结构,优先选择简单易懂的方案。

Pike's Rules 具体内容:

  1. Rule 1: 不要猜测程序性能瓶颈的位置。瓶颈通常出现在意想不到的地方,因此在未证实瓶颈存在之前,不要进行速度优化。
  2. Rule 2: 测量是关键。只有在测量之后,并且代码的某个部分明显占据了大部分时间时,才应该进行优化。
  3. Rule 3: 对于小规模数据(n 小),复杂的算法通常比简单算法慢。复杂的算法通常包含较大的常数项。除非确定数据规模经常很大,否则不要使用复杂的算法。(即使数据规模很大,也应首先遵循 Rule 2 进行测量。)
  4. Rule 4: 复杂的算法更容易出错,并且实现起来也更困难。优先使用简单的算法和简单的数据结构。
  5. Rule 5: 数据是核心。如果选择了正确的数据结构并组织良好,算法通常会变得显而易见。数据结构比算法更重要。

关联原则及背景:

  • Hoare's maxim: Pike's Rules 1 和 2 重申了 Tony Hoare 的著名格言:“过早优化是万恶之源。”(Premature optimization is the root of all evil.)
  • Ken Thompson's advice: Ken Thompson 将 Pike's Rules 3 和 4 重新表述为:“当有疑问时,使用暴力破解。”(When in doubt, use brute force.)
  • KISS (Keep It Simple, Stupid): Rules 3 和 4 体现了 KISS 的设计哲学,即保持简单。
  • Fred Brooks' observation: Rule 5 之前由 Fred Brooks 在《神话般的一月》(The Mythical Man-Month)中提出。Rule 5 经常被简称为“编写使用智能对象的愚蠢代码。”(write stupid code that uses smart objects)。

总结: 核心在于不要为了优化而优化,而是应该先测量、理解数据结构的重要性,并优先选择简单易懂的解决方案。

If you thought code writing speed was your problem you have bigger problems

软件交付中的瓶颈:AI 代码助手并非万能药 (瓶颈理论与软件开发)

本文探讨了在软件开发中引入 AI 代码助手带来的潜在问题,以及如何正确识别和解决瓶颈,以提升整体交付速度。

问题背景:

许多公司在看到 AI 代码助手能提高代码输出 40% 的数据后,盲目地将其推广到所有团队,期望能大幅提升软件交付速度。然而,这种做法往往适得其反,导致问题更加严重。

瓶颈理论 (The Theory of Constraints):

文章引用了埃利·戈德拉特 (Eli Goldratt) 的著作《瓶颈》(The Goal),介绍了瓶颈理论的核心思想:

  • 每个系统都存在一个瓶颈,决定了整个系统的吞吐量。
  • 优化非瓶颈环节并不能提升系统效率,反而会造成积压和混乱。 就像在生产线上,如果一个环节加速生产,但下游环节的处理能力不变,只会造成半成品堆积,导致后续环节不堪重负,降低整体效率。

AI 代码助手带来的“生产力”陷阱:

AI 代码助手加速代码编写,但如果没有解决其他瓶颈,反而可能导致:

  • 代码评审积压: 代码输出增加,但代码评审人员数量没有增加,导致代码评审周期延长。
  • 质量下降: 赶工导致代码评审不充分,错误更容易进入生产环境。
  • 理解成本增加: AI 生成的代码可读性差,开发者难以理解和维护,增加了排查问题的难度。
  • 周期时间延长: 即使代码编写速度提升,由于评审、测试、部署等环节依然存在瓶颈,整体交付周期反而可能变长。

真正的瓶颈可能在哪里?

文章指出,真正的瓶颈通常不在代码编写环节,而是以下几个方面:

  1. 不明确的需求: 产品经理与用户缺乏沟通,导致需求不清晰,最终导致开发了错误的功能。
  2. 交付流程中的等待: 代码从开发人员到用户手中,需要经过代码评审、CI、测试、安全评审、部署等多个环节,每个环节都可能存在等待时间。
  3. 部署信任缺失: 团队对部署过程缺乏信心,导致频繁的部署失败,最终选择批量部署,反而增加了风险。
  4. 缺乏反馈: 功能上线后缺乏数据分析和用户反馈,导致后续开发方向不明确,重复开发。
  5. 组织结构和流程问题: 过多的审批环节、冗长的会议、缺乏清晰的决策流程等,都可能成为瓶颈。

解决方案:

文章强调,要解决瓶颈,需要:

  • 绘制价值流图: 明确每个环节的耗时,找出瓶颈所在。
  • 测量周期时间,而非代码输出: 关注从代码提交到用户使用的时间,而不是代码行数或 PR 合并数量。
  • 消除等待: 优化代码评审流程、自动化部署、简化决策流程等。
  • 限制在制品 (WIP): 减少同时进行的项目数量,提高完成率。
  • 与开发人员沟通: 了解他们遇到的实际问题,并采取相应的措施。

总结:

AI 代码助手可以提高代码编写效率,但并不能解决软件交付中的所有问题。要真正提升交付速度,需要识别并解决真正的瓶颈,优化整个价值流,而不是简单地加速代码编写环节。 关注周期时间、消除等待、优化流程、与开发人员沟通,才是提升软件交付效率的关键。

Python 3.15's JIT is now back on track

CPython JIT 项目进展总结 (Python JIT 项目进展总结)

本文档总结了 Ken Jin 的博客文章,记录了 CPython JIT 项目的最新进展和关键因素。

主要成果:

  • 性能提升: CPython 3.15 alpha JIT 在 macOS AArch64 平台上比尾调用解释器快 11-12%,在 x86_64 Linux 平台上比标准解释器快 5-6%。实际性能范围从 20% 的降速到超过 100% 的加速不等(不考虑 unpack_sequence 微基准测试)。
  • 项目回归正轨: JIT 项目在经历过之前的困难时期后,重新走上了正轨。

挑战与转折:

  • 早期困难: 3.13 和 3.14 版本的 JIT 实际上比解释器更慢,且项目经历过资金短缺,一度面临不确定的未来。
  • 社区参与: Faster CPython 团队在 2025 年失去了主要赞助商,促使 Ken Jin 提出社区托管的方案。
  • 目标设定: 在 CPython 核心 sprint 中,JIT 核心团队制定了 3.15 版本实现 5% 性能提升,3.16 版本实现 10% 性能提升的目标,并计划添加 free-threading 支持。

关键因素:

  • 团队合作: 项目的成功归功于关键贡献者 Savannah Ostrowski、Mark Shannon、Diego Russo、Brandt Bucher、Hai Zhu、Zheaoli、Tomas Roun、Reiden Ong、Donghee Na 等人的努力。
  • 问题分解: 将 JIT 优化分解为简单的、可管理的任务,例如“尝试优化 JIT 中的单个指令”,降低了新贡献者的入门门槛。
  • 鼓励与认可: 鼓励社区成员,并庆祝各种成就,提升了参与者的积极性。
  • 幸运的尝试:
    • Trace Recording (追踪记录): 最初的尝试结果不佳,但在 Mark 的建议和 Ken Jin 的误解下,最终采用了一种创新的“双调度”机制,极大地提高了 JIT 代码覆盖率,并加速了 JIT 的性能提升。
    • Reference Count Elimination (引用计数消除): 尝试消除 JIT 代码中的引用计数减少分支,意外地取得了显著的性能提升,并且便于并行化和教学。

基础设施支持:

  • 性能测试: 每日 JIT 运行和性能数据报告对发现和修复性能回归至关重要。
  • 基础设施团队: Savannah 提供了关键的基础设施支持,虽然目前只有 4 台机器,但却发挥了整个团队的作用。

经验教训:

  • 沟通交流: 与他人交流想法和学习其他项目(如 PyPy)有助于提升 JIT 开发能力。
  • 人才是关键: 项目的成功离不开优秀的团队和社区支持。

总结:

CPython JIT 项目通过社区的共同努力、合理的规划和一些幸运的尝试,取得了显著的性能提升,并为 Python 语言的未来发展奠定了基础。

Illinois Introducing Operating System Account Age Bill

HB5511 - 数字时代保障法案摘要

法案概述:

HB5511,即“数字时代保障法案”,是伊利诺伊州第104届立法大会的一项提案,旨在规范社交媒体平台对未成年人的管理。该法案由Jennifer Gong-Gershowitz代表提交,并获得了多位代表的支持。

主要内容:

  • 生效日期: 法案的主要条款将于2028年1月1日起生效,部分条款将于2027年1月1日起生效。
  • 操作系统提供商义务: 要求操作系统提供商在账户设置时提供一个可访问的界面,要求用户提供出生日期、年龄或两者。同时,提供商需向请求信号的用户提供该用户年龄的分类信息,并仅发送符合规定的最少量信息。
  • 社交媒体平台义务: 要求社交媒体平台在伊利诺伊州运营前,必须进行年龄验证,以确定用户是否为未成年人。对于已知为未成年人的用户,平台必须使用指定的默认设置。
  • 法律责任: 违反该法案的行为将构成《消费者欺诈和不当商业行为法》下的违法行为。法案相应地修改了《消费者欺诈和不当商业行为法》,以进行相应的调整。
  • 新增法条: 创建新的伊利诺伊州法典第815 ILCS 505/2MMMM条款。

立法进展:

  • 提交: 2026年2月6日,该法案提交给众议院秘书处。
  • 首次阅读: 2026年2月13日,在众议院进行首次阅读,并被提交给规则委员会。
  • 联署: 在2月18日至2月23日期间,法案获得了多位众议员的联署,包括首席联合发起人Margaret Croke、Janet Yang Rohr和 Kimberly Du Buclet,以及其他联合发起人。
  • 委员会分配: 2026年3月4日,法案被分配给众议院司法 - 民事委员会。
  • 撤销联署: 2026年3月16日,撤销了 Kimberly Du Buclet 的首席联合发起人身份。
  • 听证会: 计划于2026年3月19日上午8:00在州议会大厦114室和虚拟房间1举行听证会。

总结:

HB5511法案旨在通过对操作系统提供商和社交媒体平台施加义务,保护伊利诺伊州的未成年人免受社交媒体潜在危害的影响。该法案目前正在众议院司法 - 民事委员会审议中。

Meta and TikTok let harmful content rise to drove engagement, say whistleblowers

社交媒体算法竞赛内幕:揭露利益驱动下的安全隐患 (社交媒体算法竞赛内幕:揭露利益驱动下的安全隐患)

概述

BBC 调查报道“Inside the Rage Machine”(《愤怒机器》)通过多位知情人士的爆料,揭示了 TikTok 崛起后,社交媒体巨头(如 Meta,拥有 Facebook 和 Instagram)为了迎头赶上,在算法设计上做出的危险决策。这些决策导致平台内容安全性下降,放宽了对有害内容的限制,以追求用户参与度和股价上涨。

主要发现

  • 算法优化以牺牲安全: Meta 工程师透露,公司高层曾指示允许更多“边缘”有害内容(如仇恨言论、阴谋论)进入用户 feed,以模仿 TikTok 的算法,并刺激股价。
  • 政治优先: TikTok 内部人士提供了罕见的内部仪表板访问权限,显示 TikTok 对政治人物的投诉案件给予优先处理,甚至超过涉及儿童的有害内容报告。原因是避免监管或禁令,而非保护用户安全。
  • Instagram Reels 的安全漏洞: Meta 推出的 Instagram Reels 在缺乏充分安全措施的情况下推出,内部研究表明 Reels 上的评论中存在更高比例的欺凌、骚扰、仇恨言论和暴力内容。
  • 算法“快餐效应”: Meta 内部研究表明,其算法倾向于提供刺激性内容,以最大化利润,但可能损害用户的福祉,并与公司的使命“将世界拉近”相悖。
  • 缺乏安全投入: 即使安全团队要求增加人员,Meta 仍然将资源投入到 Reels 的推广上,导致安全团队人手不足,无法有效处理有害内容。
  • “黑盒”算法: TikTok 工程师承认,算法的内部运作难以审查,且工程师对内容本身并不关注,只将其视为 ID。
  • 算法激化个人观点: 一名青少年(Calum)表示,算法向他推送激怒他的内容,导致他逐渐接受种族主义和厌女主义观点,被算法“激进化”。
  • 有害内容常态化: 英国反恐警察注意到社交媒体上出现更多种族主义、暴力和极右翼内容的常态化现象。
  • 安全团队内部压力: TikTok 安全团队成员(Nick)爆料,公司优先处理政治内容而非儿童安全问题,并对员工提出的安全担忧置若罔闻。他建议家长“删除 TikTok”,以保护儿童。
  • **Meta 的快速追赶:**为了赶上 TikTok,Meta 在 Reels 推广上投入巨资,并允许更多“边缘”有害内容,以快速提升用户参与度。

公司回应

  • Meta 否认故意放大有害内容以获取经济利益,并称其对用户安全进行了大量投资。
  • TikTok 称爆料是“捏造的指控”,并表示公司投资了技术以防止有害内容被查看。

结论

此次调查揭示了社交媒体公司在算法竞赛中,为了追求用户参与度和经济利益,而忽视内容安全问题的现象。算法的设计和优化,可能无意中放大了有害内容,并对用户的心理健康和社会稳定造成负面影响。 调查呼吁对社交媒体算法进行更严格的监管,并敦促公司优先考虑用户安全,而非短期利润。

Get Shit Done: A Meta-Prompting, Context Engineering and Spec-Driven Dev System

好的,这是对原文内容的总结,用中文书写,字数在800字以内:

Get Shit Done (GSD) - 一个强大的 AI 开发辅助系统

Get Shit Done (GSD) 是一个轻量级、强大的元提示工程和基于规格的开发系统,旨在提升 Claude Code、OpenCode、Gemini CLI、Codex、Copilot 和 Antigravity 等 AI 代码生成工具的效率和可靠性。它解决了“上下文腐烂”的问题,即 Claude 在填充上下文窗口时质量下降的常见现象。

核心功能与优势

  • 解决上下文腐烂: GSD 通过精巧的上下文工程,确保 Claude 始终拥有所需的信息,避免质量下降。
  • 快速迭代开发: GSD 简化了开发流程,让用户能够快速描述想法并将其转化为可用的代码。
  • 多平台支持: 适用于 Mac、Windows 和 Linux 系统。
  • 强大的社区支持: 被 Amazon、Google、Shopify 和 Webflow 等公司的工程师信任。
  • 模块化设计: 允许用户灵活地添加、插入或移除阶段,适应不同的开发需求。
  • 原子 Git 提交: 每个任务都生成独立的 Git 提交,便于追踪和回滚。

工作流程

GSD 的核心工作流程包括以下几个步骤:

  1. 初始化项目: 通过 /gsd:new-project 命令创建项目,系统会询问目标、约束、技术偏好等信息,并生成项目文档。
  2. 讨论阶段: 使用 /gsd:discuss-phase 命令细化每个阶段的实现细节,明确需求和期望。
  3. 规划阶段: 使用 /gsd:plan-phase 命令进行研究和规划,生成详细的任务计划。
  4. 执行阶段: 使用 /gsd:execute-phase 命令并行执行任务计划,确保代码质量。
  5. 验证工作: 使用 /gsd:verify-work 命令进行用户验收测试,确保功能符合预期。
  6. 发布与完成: 通过 /gsd:ship 命令创建 Pull Request,并使用 /gsd:complete-milestone 命令完成里程碑。

关键技术

  • 上下文工程: GSD 通过精心设计的文档结构(PROJECT.md、REQUIREMENTS.md、ROADMAP.md 等)来管理上下文信息,确保 Claude 始终拥有所需的信息。
  • XML 提示格式: 任务计划采用 XML 结构,提供清晰的指令和验证步骤。
  • 多代理编排: GSD 使用多个专门的代理来执行研究、规划和执行任务,提高效率和质量。
  • 原子 Git 提交: 每个任务都生成独立的 Git 提交,便于追踪和回滚。

快速模式

除了标准的开发流程外,GSD 还提供了快速模式 (/gsd:quick),适用于快速完成一些简单的任务。

配置

GSD 的配置信息存储在 .planning/config.json 文件中,用户可以通过 /gsd:settings 命令进行修改。

社区与支持

GSD 拥有活跃的社区,用户可以通过 Discord 频道获取帮助和交流经验。

总结

Get Shit Done (GSD) 是一个强大的 AI 开发辅助工具,它通过精巧的设计和流程,帮助开发者更高效、更可靠地利用 Claude Code 等 AI 代码生成工具,实现快速迭代开发。其核心优势在于解决上下文腐烂问题、简化开发流程、提供模块化设计和强大的社区支持。

GPT‑5.4 Mini and Nano

OpenAI 发布 GPT-5.4 mini 和 nano 模型:更快速、更经济的解决方案

OpenAI 发布了 GPT-5.4 mini 和 nano 两款新型小型语言模型,它们是迄今为止最强大的小型模型,旨在为高负载工作提供更快速、更高效的解决方案,继承了 GPT-5.4 的诸多优势。

主要特点:

  • GPT-5.4 mini: 在编码、推理、多模态理解和工具使用方面显著优于 GPT-5 mini,速度提升超过 2 倍。在一些评估,如 SWE-Bench Pro 和 OSWorld-Verified 中,性能接近 GPT-5.4。
  • GPT-5.4 nano: 最小、最经济的版本,适用于速度和成本至关重要的任务,例如分类、数据提取、排序和简单的代码子任务。同样比 GPT-5 nano 有显著提升。

适用场景:

这两款模型特别适用于对延迟敏感的产品体验,例如:

  • 响应迅速的编码助手
  • 快速完成辅助任务的子代理
  • 捕获和解释屏幕截图的计算机使用系统
  • 能够实时对图像进行推理的多模态应用程序

性能对比 (xhigh reasoning effort):

模型 SWE-Bench Pro Terminal-Bench 2.0 Toolathlon GPQA Diamond OSWorld-Verified
GPT-5.4 (xhigh) 57.7% 75.1% 54.6% 93.0% 75.0%
GPT-5.4 mini (xhigh) 54.4% 60.0% 42.9% 88.0% 72.1%
GPT-5.4 nano (xhigh) - - 35.5% 82.8% 39.0%
GPT-5 mini (high) 52.4% 46.3% 35.5% 81.6% 42.0%

应用与定价:

  • API:
    • GPT-5.4 mini:支持文本和图像输入、工具使用、函数调用、网络搜索、文件搜索、计算机使用和技能。上下文窗口为 400k,定价为每 1M 输入 token $0.75,每 1M 输出 token $4.50。
    • GPT-5.4 nano:定价为每 1M 输入 token $0.20,每 1M 输出 token $1.25。
  • Codex: GPT-5.4 mini 使用的配额仅为 GPT-5.4 的 30%,成本约为三分之一。
  • ChatGPT: GPT-5.4 mini 可用于 Free 和 Go 用户,以及作为 GPT-5.4 的速率限制回退。

子代理模式:

OpenAI 提倡将大型模型用于规划和决策,而将小型模型(如 GPT-5.4 mini)用于快速执行并行子任务,例如代码搜索、文件审查和处理辅助文档。这种组合模式能够提升效率和降低成本。

总结:

GPT-5.4 mini 和 nano 模型的发布,为开发者提供了更具性价比和效率的解决方案,特别是在需要快速响应和处理大量任务的场景下。通过合理利用不同模型的能力,可以构建更强大的应用程序,并优化成本。

Nightingale – open-source karaoke app that works with any song on your computer

Nightingale 项目概要

Nightingale 是一个独立的聚会游戏,可以将任何歌曲转化为卡拉 OK 体验。它能够分离人声,转录歌词,并以词级别同步和音高评分的方式播放。

主要功能:

  • 🎤 声干分离 (Stem Separation): 使用 UVR Karaoke 模型或 Demucs 将歌曲中的人声与乐器分离。用户可以调节引导人声的音量。
  • 📝 词级别歌词 (Word-level Lyrics): 利用 WhisperX 将歌曲中的每一个单词转录并与音频对齐。如果 LRCLIB 中已存在歌词,则优先使用。
  • 🎯 音高评分 (Pitch Scoring): 用户可以通过麦克风唱歌并获得实时评分。系统会跟踪星级评分和每首歌曲的排行榜,记录用户的进度。
  • 👤 玩家档案 (Player Profiles): 支持创建多个玩家档案,每个档案拥有独立的评分历史。用户可以在不同歌手之间切换,而不会丢失任何人的记录。
  • 🎬 视频文件支持 (Video File Support): 支持导入 .mp4 或 .mkv 视频文件。系统会自动分离人声,并播放原始视频作为背景。
  • 🌌 动态背景 (Dynamic Backgrounds): 提供多种动态背景效果,包括 GPU 渲染的粒子效果(等离子体、极光、星云等),Pixabay 视频循环,以及视频文件的原始视频。
  • 🎮 游戏手柄支持 (Gamepad Support): 用户可以使用游戏手柄导航菜单、选择歌曲和控制播放。支持方向键、摇杆和面按钮。
  • 📦 单一二进制文件 (Single Binary): 首次启动时,系统会自动配置 ffmpeg、Python、PyTorch 和 ML 模型,无需额外安装。

工作原理:

  1. 分离 (Separate): 使用 UVR Karaoke 或 Demucs 将歌曲分解为声干和伴奏。对于视频文件,系统会自动提取音频。
  2. 转录 (Transcribe): 首先在 LRCLIB 中查找同步歌词。如果未找到,则使用 WhisperX 转录人声并进行词级别对齐。
  3. 播放 (Play): 播放伴奏,同时高亮显示歌词,提供音高评分、动态背景和游戏手柄支持。

平台支持:

  • Linux (x86_64, aarch64)
  • macOS (ARM, Intel)
  • Windows (x86_64)

Nightingale 利用 CUDA 或 Metal 进行 GPU 加速,如果没有 GPU,则回退到 CPU 模式。

保持更新:

用户可以订阅邮件列表,及时获取新版本和更新通知。保证不发送垃圾邮件,并允许用户随时取消订阅。

Java 26 is here

Java 26 总结

Java 26 发布!在发布 Java 25 后的六个月,Java 又迎来了一次更新。与之前的版本相比,这次更新的功能集略有减少,可能预示着后续将有更重大的变化,例如 Project Valhalla 的首批 JEPs 可能会在今年晚些时候发布。

主要内容:

  • JEP 概述: 总结了 Java 26 中的 10 个 JEP(Java Enhancement Proposals),包括状态、所属项目、功能类型和与 Java 25 的变化。

    • JEP 500: 准备使 final 具有最终意义(警告关于使用反射修改 final 字段)。
    • JEP 504: 移除 Applet API。
    • JEP 516: 使用任何 GC 的 AOT 对象缓存(提升启动速度)。
    • JEP 517: HTTP/3 支持 HTTP 客户端 API。
    • JEP 522: G1 GC:通过减少同步来提高吞吐量。
    • JEP 524: 加密对象 PEM 编码(第二预览)。
    • JEP 525: 结构化并发(第六预览)。
    • JEP 526: 延迟常量(第二预览)。
    • JEP 529: 向量 API (第十一孵化期)。
    • JEP 530: 模式、instanceof 和 switch 中的原始类型(第四预览)。
  • 新功能:

    • HotSpot:
      • AOT 对象缓存:支持 ZGC 等垃圾收集器,提升启动速度。
      • G1 GC 优化:通过减少同步来提高吞吐量和降低延迟。
    • Core Libs:
      • HTTP/3 支持:允许使用 HTTP/3 协议进行网络通信。
    • 预览功能:
      • PEM 编码:提供用于编码和解码 PEM 格式的 API。
      • 结构化并发:提供更清晰、更易于管理的并发编程模型。
      • 延迟常量:允许延迟初始化不可变对象,提高启动性能。
      • 向量 API:提供用于向量计算的 API,提升性能。
      • 原始类型模式:扩展模式匹配功能,支持原始类型。
  • 废弃:

    • Applet API:由于安全问题和替代技术的出现,该 API 已被移除。

关键点:

  • Java 26 侧重于夯实基础,为后续重大功能(如 Project Valhalla)做好准备。
  • HotSpot 优化提升了启动速度和吞吐量。
  • HTTP/3 支持为网络通信带来了新的可能性。
  • 预览功能为开发者提供了尝试新技术和提供反馈的机会。
  • Applet API 的移除标志着 Java 在 Web 技术领域的一次转型。

总而言之,Java 26 是一次稳健的更新,为未来的发展奠定了基础,并为开发者提供了新的工具和功能。

Meta Horizon Worlds on Meta Quest is being discontinued

Meta Quest 平台更新通知 (2026 年)

以下是 Meta Quest 平台在 2026 年即将进行的重要更新,旨在为 VR 和 Horizon 平台带来更专注的成长。

1. Meta Horizon Worlds 转型:

  • 商店移除: 截至 2026 年 3 月 31 日,Horizon Worlds 和 Events 将不再出现在 Quest 商店中。
  • VR 体验终止: 2026 年 3 月 31 日起,Horizon Central, Events Arena, Kaiju, 和 Bobber Bay 世界将不再在 VR 中可用。
  • VR 应用移除: 2026 年 6 月 15 日后,Horizon Worlds 应用将从 Quest 设备移除,VR 体验将完全终止。
  • 移动平台延续: 从 2026 年 6 月 15 日起,用户可以通过 Meta Horizon 移动应用继续访问所有移动优化的世界。

2. Meta Horizon Hyperscape Capture (Beta) 调整:

  • 移除 Horizon Worlds 集成: 截至 2026 年 3 月 24 日,Hyperscape 录像的观看功能将从 Horizon Worlds 中移除。
  • 现有录像保留: 现有的 Hyperscape 录像将继续在 Hyperscape Capture (Beta) 应用和 Preview 应用中可观看。
  • 功能限制: 虽然可以继续录制新的 Hyperscapes,但分享、邀请和与他人共同体验 Hyperscapes 的功能将不再支持。

3. Meta Horizon Plus (MH+) 权益调整:

  • 移除 Horizon 专属权益: 截至 2026 年 3 月 31 日,MH+ 订阅将不再包含 Horizon 专属权益,例如 Meta Credits、数字服装、头像和游戏内购买。
  • 核心游戏权益不受影响: MH+ 的核心游戏福利和每月游戏将不受影响。

其他更新:

Meta 持续投资于提升 Quest 体验,最近更新包括 Surface Keyboard 和 Touchpad 等新功能,以及自定义应用和窗口位置的功能。Navigator 现代化界面也在逐步推广至更多用户。

Mistral AI Releases Forge

Mistral AI Forge:企业知识驱动的 AI 模型构建系统

Forge 是 Mistral AI 推出的企业级系统,旨在帮助企业构建基于其专有知识前沿 AI 模型

核心问题与解决方案:

当前大部分 AI 模型依赖于公开数据训练,适用于广泛任务,难以满足企业内部的特定需求。企业拥有大量内部知识,例如工程标准、合规政策、代码库、运营流程和历史决策。Forge 旨在弥合这一差距,让企业能够训练理解其内部上下文的模型,从而将 AI 与其独特的运营方式对齐。

主要功能与特点:

  • 基于机构知识的训练: Forge 允许企业在大量内部文档、代码库、结构化数据和运营记录上训练模型,使其学习内部词汇、推理模式和约束。
  • 模型生命周期支持:
    • 预训练 (Pre-training): 使用大型内部数据集构建领域知识模型。
    • 后训练 (Post-training): 调整模型行为以适应特定任务和环境。
    • 强化学习 (Reinforcement Learning): 调整模型和代理与内部政策、评估标准和运营目标对齐,并在复杂环境中提升代理性能(例如,工具使用和决策制定)。
  • 控制与战略自主性: Forge 允许企业保留对模型、数据和知识产权的控制权,确保模型符合合规要求、运营约束和内部治理框架。
  • 定制模型提升企业代理的可靠性: 通过提供对运行环境的更深入理解,定制模型使代理能够准确选择工具、遵循操作规程并理解不同系统之间的关系,从而提升可靠性和效率。
  • 多架构支持: 支持稠密模型和混合专家 (MoE) 架构,方便企业根据性能、成本和运营约束进行优化。
  • 代理优先设计: 专门为代码代理设计,允许代理自动微调模型、寻找最佳超参数、安排任务和生成合成数据。
  • 持续改进: 通过强化学习和评估管道,实现模型行为的持续适应和优化,确保模型与组织目标对齐。

应用场景示例:

  • 政府机构: 构建训练有素的多语言模型,支持政策分析、公共服务和运营规划。
  • 金融机构: 训练模型以确保合规性和风险控制,符合内部治理政策。
  • 软件团队: 训练模型以理解内部抽象、模式和架构选择,提高开发效率和质量。
  • 制造商: 训练模型支持诊断、设计分析和运营决策。
  • 大型企业: 部署基于内部知识系统的代理,协助员工完成复杂工作流程。

总结:

Forge 旨在将 AI 模型视为企业战略资产,随着企业知识、流程和专长的发展而不断演进。它为企业提供构建、部署和持续改进基于自身数据和运营上下文的 AI 模型的能力,从而实现 AI 在核心运营中的战略应用。

The pleasures of poor product design

总结:不适感设计项目“The Uncomfortable”

这篇文章介绍了希腊建筑师卡特里娜·坎普拉尼(Katerina Kamprani)的项目“The Uncomfortable”(不适感),该项目专注于设计“故意造成不便的日常用品”。

项目背景:

  • 坎普拉尼在大学期间学习建筑学,但在硕士项目和广告公司工作均未成功。
  • 她希望通过幽默的方式表达自己,并意识到建筑学过于严肃,于是开始创作“故意设计不便”的物品。
  • 项目于2011年启动,并在欧洲获得了广泛关注,举办了十余次展览。

项目内容:

  • “The Uncomfortable” 的核心理念是不追求实用性,而是创造出功能性欠佳但却美观的物品。
  • 坎普拉尼设计了大约50-60件作品,其中约一半是3D渲染图,另一半是实际原型。
  • 作品基于熟悉的物品形式(如叉子、酒杯、洒水壶),通过改变其设计,制造出“变异产品”。
  • 网站 https://www.theuncomfortable.com/# 展示了她的许多作品。

坎普拉尼的创作过程与思考:

  • 最初,坎普拉尼通过头脑风暴来寻找设计灵感,现在则依靠直觉。
  • 她通过与朋友讨论来筛选想法,并避免过于明显的“不便”设计。
  • 项目让她意识到设计对残疾人士可能造成不便,并拓展了她在设计方面的理解。
  • 她目前没有计划将作品大规模生产,因为不想成为小企业主,并担心这会影响她的创作自由。

项目意义:

  • “The Uncomfortable” 挑战了人们对良好设计的固有观念,促使人们反思日常物品的功能性和美学之间的关系。
  • 该项目也启发了人们对残疾人士在设计中的需求进行思考。
  • 坎普拉尼认为,这个项目是她表达自我、与人沟通的一种方式,并让她在面对成功时能够更好地应对。
Why AI systems don't learn – On autonomous learning from cognitive science

摘要:关于自主学习的AI模型架构研究

该研究批判性地评估了当前人工智能模型在实现自主学习方面的局限性,并提出了一种受人类和动物认知启发的学习架构。 该架构旨在解决现有AI模型在自主学习方面的不足。

核心观点:

  • 问题: 当前AI模型在自主学习方面存在局限性。
  • 解决方案: 提出了一种新的学习架构,灵感来源于人类和动物的认知机制。
  • 架构组成: 该架构包含三个主要系统:
    • 系统A (观察学习): 通过观察学习知识。
    • 系统B (主动行为学习): 通过主动行为进行学习。
    • 系统M (元控制系统): 负责灵活地在系统A和系统B之间切换,切换决策基于内部生成的元控制信号。
  • 灵感来源: 该架构的设计灵感来自于生物体在进化和发育过程中如何适应现实世界的动态环境。

关键细节:

  • 该研究旨在构建能够像生物体一样适应复杂环境的AI模型。
  • 元控制系统 (System M) 的存在是该架构的关键,它允许模型根据内部状态动态调整学习策略。
  • 该架构将观察学习和主动行为学习相结合,以实现更全面的学习。
  • 该研究以arXiv形式发布,DOI为 https://doi.org/10.48550/arXiv.2603.15381
  • 提交者为 Emmanuel Dupoux。
  • 版本为 v1,提交时间为2026年3月16日。

简而言之,该研究提出了一个结合观察学习和主动行为学习,并由元控制系统驱动的AI学习架构,旨在提升AI模型的自主学习能力,并受到生物认知机制的启发。

SSH has no Host header

exe.dev SSH IP 地址共享解决方案总结

本文档描述了 exe.dev 如何解决在共享 IPv4 地址的情况下实现 SSH 连接到多个虚拟机的问题。核心问题在于,与 HTTP 协议不同,SSH 协议没有类似 "Host" 头信息来指示连接目标虚拟机。

问题背景:

  • exe.dev 提供按需付费的虚拟机服务,每个虚拟机都使用统一的域名 (例如 undefined-behavior.exe.xyz) 进行 SSH 和 HTTPS 访问。
  • 为了控制成本,无法为每个虚拟机分配独立的 IPv4 地址,也不能使用 IPv6-only,因为会影响部分互联网用户的访问。
  • 共享 IPv4 地址需要一种机制来区分不同的虚拟机连接目标。

解决方案:

exe.dev 采用了一种基于用户和 IP 地址的组合来识别虚拟机的方法,即使用 {用户, IP} 元组。具体实现如下:

  1. IP 地址池: 不再为所有虚拟机使用单个 IP 地址,而是使用一个公共 IPv4 地址池。
  2. 用户相对 IP 地址: 每个虚拟机被分配一个相对于其所有者的唯一 IP 地址。 这意味着,一个 IP 地址可能被多个虚拟机使用,但该 IP 地址仅被一个用户(或团队)的所有虚拟机使用。
  3. CNAME 记录: 域名解析结果不再是直接的 A 记录,而是指向一个 CNAME 记录,该记录指向分配的 IP 地址 (例如,undefined-behavior.exe.xyz CNAME 到 s003.exe.xyz,后者 A 记录指向 16.145.102.7)。
  4. SSH 认证和路由: SSH 连接时,客户端提供公钥和连接来源的 IP 地址。 通过结合用户的公钥和连接 IP 地址,系统可以唯一确定目标虚拟机。

技术实现挑战:

  • 跨系统通信: 创建虚拟机时,需要根据用户/团队信息分配合适的 IP 地址。
  • IP 地址获取: SSH 代理需要能够确定请求的本地 IP 地址,在云环境中由于公网 IP 通过 NAT 映射到私有 VPC 地址,这具有一定的难度。
  • 定制化管理软件: 由于解决方案的复杂性,不建议将其作为通用解决方案推荐给其他人,需要定制的管理软件来支持。

总结:

exe.dev 通过构建一个定制的 SSH 代理,并采用基于用户和 IP 地址的元组进行路由的方式,成功解决了在共享 IPv4 地址的情况下,实现虚拟机 SSH 连接的问题,保证了统一且可预测的域名行为。这种方案虽然复杂,但对于像 exe.dev 这样需要高密度虚拟机部署的服务来说,是可行的。

A tale about fixing eBPF spinlock issues in the Linux kernel

Superluminal Linux 版本调试经历总结

Superluminal (一个 CPU 性能分析器) 的 Linux 版本开发过程中,一位测试者 Aras 报告了周期性系统冻结的问题。经过深入调查,发现问题源于 Linux 内核内部的自旋锁 (spinlock) 竞争,并最终帮助修复了多个相关问题。

问题分析

  • 测试者在 Fedora 42 (内核 6.17.4-200) 上运行 Superluminal 时,系统会周期性地冻结 250+ 毫秒。
  • 初步分析显示,在 Superluminal 捕获的线程时间线中,所有线程在相同时间段内都处于繁忙状态,且未能收集到任何样本,这与实际工作负载不符。
  • dmesg 日志显示 NMI (非屏蔽中断) 处理程序运行时间过长,与冻结时间相符。

调试过程

  • 最初尝试在虚拟机中复现问题失败,最终在物理机上成功复现。
  • 通过编译自定义内核并启用调试功能,使用 gdb 远程调试内核。
  • 尝试在冻结状态下中断调试,但调试器无法响应。
  • 通过禁用不同类型的 eBPF 事件 (采样事件、上下文切换事件、唤醒事件) 逐步缩小问题范围,最终确定问题出现在采样事件和上下文切换事件同时启用时。
  • 进一步简化 eBPF 代码,最终找到一个极简的 repro:两个 eBPF 程序,分别在上下文切换和采样事件发生时,尝试预留环形缓冲区 (ring buffer) 空间,但立即丢弃。

深入内核

  • 该 repro 揭示了问题与 bpf_ringbuf_reserve 函数以及其使用的 rqspinlock 相关。
  • rqspinlock 旨在解决传统自旋锁的缓存行乒乓效应和公平性问题,通过维护一个锁持有者队列来避免竞争。
  • 问题在于 NMI 中断会打断上下文切换 eBPF 程序,导致在锁被更新到持有者表之前,NMI 程序尝试获取锁,从而导致死锁检测失败,最终导致系统冻结。

修复方案

  • res_spin_lock 函数中,将更新持有者表的操作提前到尝试获取锁之前,从而保证在 NMI 中断发生时,锁持有者表始终保持一致。
  • 此外,还对 check_timeout 函数进行修改,使其在超时检查时立即触发死锁检测,避免长时间的等待。
  • 最后,为了解决 NMI 频繁触发导致短暂冻结的问题,Superluminal 代码层面也增加了对递归 NMI 的丢弃处理。

总结

这次调试经历深入探讨了 Linux 内核的自旋锁机制,揭示了 NMI 中断与 rqspinlock 之间的交互问题。通过逐步缩小问题范围,最终找到并修复了多个相关 bug,并为 Superluminal 的 Linux 版本带来了更稳定的性能分析体验。这次经历也突出了早期采用最新内核版本的重要性,以便尽早发现和解决潜在问题。

Warranty Void If Regenerated

好的,以下是根据您提供的文本生成的中文摘要:

软件机械师:适应后过渡经济的新职业

这篇文章讲述了软件机械师Tom Hartmann的故事,以及一个因技术变革而转型后的农业社区的景象。七年前,软件机械师这个职业并不存在,如今却已成为后过渡经济中普遍出现的新职业,就像历史上电化、容器化和印刷术的发明一样,催生了新的职业。

从农业设备维修到软件诊断

Tom Hartmann 最初是一名农业设备技术员,负责维修拖拉机、联合收割机等。随着技术的进步,机器的软件不再需要维修,而是可以通过重新生成来更新。这导致了对传统IT支持技能的需求逐渐减少,而对能够诊断技术与实际应用之间差距的人才需求增加。Tom 通过参加认证课程并开设了自己的店——Hartmann Software Mechanics(兼营设备维修),成功转型为软件机械师。

硬件与软件的界限消失

文章指出,硬件和软件之间的界限正在消失。随着软件可以通过自然语言规范进行生成,相关的专业技能不再仅仅是“软件”,而是与软件所服务的领域相关。软件机械师需要具备领域知识,才能诊断规范问题。

典型案例:Margaret Brennan 的收割工具

文章通过 Margaret Brennan 的案例,说明了软件机械师的工作:Margaret 的收割工具推荐在未成熟时收割,导致了经济损失。Tom 发现问题在于天气服务更新了历史数据,导致模型计算结果与实际情况偏差,工具对作物成熟度的判断出现了偏差。他通过修改规范,添加了对数据源版本变化的监控,解决了问题。

“机械师悖论”和持续维护的需求

Tom 发现,客户通常更愿意支付修复故障的费用,而不是支付持续维护的费用,即使持续维护可以预防故障的发生。他将这种现象称为“机械师悖论”,并认为这源于人们对脆弱性的排斥和对紧急情况的反应。

Ethan Novak 的“意大利面问题”

Ethan Novak 是一位积极生成各种工具的农场主,他的工具之间存在复杂的集成关系,形成了一张“意大利面”式的系统。他的牛奶定价工具出现问题,原因是他的饲料优化工具在生成时改变了输出格式,导致定价工具错误解析数据。Tom 建议 Ethan 聘请软件编舞师来规范和管理他的工具生态系统。

Carol Lindgren 的物理开关

Carol Lindgren 是一位传统的农场主,抵触使用自动化工具。Tom 最终为她安装了一个物理开关,允许她手动override自动化的系统,满足了她对控制的需求。

软件机械师的角色

文章总结,软件机械师的角色不仅仅是修复软件,更重要的是理解客户的需求,并在技术和传统之间找到平衡。他们需要具备对领域知识的理解、对技术变革的适应能力以及对人性的洞察力。他们是连接技术与土地、技术与农民的桥梁,帮助人们在不断变化的经济环境中生存和发展。

核心主题:

  • 技术变革催生新职业
  • 硬件与软件界限的消失
  • 领域知识的重要性
  • 持续维护的必要性
  • 技术与人类经验之间的平衡
Edge.js: Run Node apps inside a WebAssembly sandbox

Edge.js 开源:安全、高效的 Node.js 边缘计算运行时

Wasmer 团队宣布开源 Edge.js (https://edgejs.org/),这是一个专门为 AI 和边缘计算设计的 JavaScript 运行时,用于安全地运行 Node.js 工作负载。Edge.js 的目标是提供与容器相比,更高的密度和更快的启动速度。

核心特点:

  • 完全兼容 Node.js: Edge.js 旨在保持与 Node.js 的完全兼容性,允许开发者直接运行现有的 Node.js 应用和原生模块,无需修改。
  • 可替换的 JS 引擎: 支持多种 JavaScript 引擎,包括 V8、JavaScriptCore 和 QuickJS。
  • 安全沙箱: 通过 --safe 模式提供安全的沙箱环境,利用 WASIX 技术隔离不安全部分(系统调用和原生模块)。
  • 基于 WebAssembly: 使用 WebAssembly 技术进行隔离,避免了 Docker 容器的开销。

Edge.js 的演变:

Wasmer 团队最初尝试使用 WinterJS 运行沙箱化的 JavaScript 应用,但发现其速度和兼容性存在问题。随后,他们意识到将 WebAssembly 和 WASIX 的沙箱能力与成熟的 JS 运行时相结合是更好的选择。Edge.js 通过将沙箱分为 JS 引擎部分和操作系统系统调用/原生代码部分,仅隔离不安全的部分,从而实现了 Node.js 的兼容性和安全性。

与现有方案的区别:

  • 与 Node.js 的区别: Node.js 紧密绑定到 V8 引擎,且无法在不使用容器化或硬件虚拟化的情况下安全运行工作负载。Edge.js 解决了这些问题,提供了高密度、快速启动和安全沙箱。
  • 与编译 Node.js 到 WASIX 的区别: 尽管存在将 V8 编译到 Wasm 的尝试 (如 Node-WASIX),但这种方法会带来性能损失。Edge.js 采用原生运行 JavaScript 引擎,仅隔离不安全部分,从而降低了开销。
  • 与 WinterCG 的区别: WinterCG 是一种为边缘安全运行 JavaScript 应用而设计的 API 规范,但它导致了服务器端 JavaScript 的碎片化和框架兼容性问题。Edge.js 旨在避免这些问题,允许现有的框架无需修改即可在边缘运行。

技术实现:

Edge.js 利用 Node.js 的 napi 接口作为 JS 引擎的抽象层,并使用 WASIX 进行系统调用沙箱。通过这种方式,Edge.js 实现了 Node.js 的兼容性和安全性。

性能:

Edge.js 的性能目前约为 Node.js 的 5-20% 左右,在安全沙箱模式下略慢。但团队致力于在未来的版本中显著提高性能。

兼容性:

Edge.js 兼容 Node.js v24,支持大多数 Node.js 模块。

总结:

Edge.js 提供了一种安全、高效的方式来运行 Node.js 工作负载,特别适用于 AI 和边缘计算场景。它通过保留 Node.js 的兼容性、利用 WebAssembly 和 WASIX 技术提供沙箱环境,并避免了容器化的开销,为开发者提供了更灵活的选择。

Claw Compactor: compress LLM tokens 54% with zero dependencies

Claw Compactor:用于 LLM 代币压缩的 14 阶段融合管道

Claw Compactor 是一个开源的 LLM 代币压缩引擎,围绕一个 14 阶段的 融合管道 构建。每个阶段都是一个专业的压缩器,从 AST 感知代码分析到 JSON 统计采样,再到基于 SimHash 的去重,通过不可变的数据流架构串联,每个阶段的输出馈送到下一个阶段。

主要特点:

  • 不可变数据流: FusionContext 是一个冻结的数据类。每个阶段都会生成一个新的 FusionResult;没有就地修改。
  • 压缩前进行门控: 每个阶段都有 should_apply(),在执行任何操作之前检查上下文类型、语言和角色。不适用的阶段将被跳过,无需任何成本。
  • 内容感知的路由: Cortex 可以自动检测内容类型(代码、JSON、日志、搜索结果)和语言(Python、Go、Rust、TypeScript 等),然后下游阶段可以根据类型做出压缩决策。
  • 可逆压缩: Ionizer 在哈希寻址的 RewindStore 中存储原始数据,从而实现可逆检索。

管道架构:

输入通过以下 14 个阶段:

  1. QuantumLock: 隔离系统提示中的动态内容,以最大化 KV 缓存命中率。
  2. Cortex: 自动检测内容类型和编程语言(16 种语言)。
  3. Photon: 检测和压缩 base64 编码的图像。
  4. RLE: 路径简写、IP 前缀压缩、枚举压缩。
  5. SemanticDedup: 基于 SimHash 指纹的跨内容块去重。
  6. Ionizer: 基于模式发现和错误保护的 JSON 数组统计采样。
  7. LogCrunch: 压缩重复的日志行,带有出现次数计数。
  8. SearchCrunch: 去重搜索结果。
  9. DiffCrunch: 压缩 Git diff 中的未更改上下文行。
  10. StructuralCollapse: 合并导入块,压缩重复的断言/模式。
  11. Neurosyntax: 通过 tree-sitter 进行 AST 感知代码压缩(安全正则表达式回退)。
  12. Nexus: ML 级别的代币压缩(停用词删除回退,无需模型)。
  13. TokenOpt: 代币格式优化 - 剥离粗体/斜体标记,标准化空格。
  14. Abbrev: 自然语言缩写(仅对文本执行)。

性能基准:

  • 实际内容压缩(FusionEngine v7 vs Legacy Regex):
    • Python 代码:3.4x 提升
    • JSON:6.5x 提升
    • 构建日志:4.4x 提升
    • 代理对话:5.4x 提升
    • Git diff:2.4x 提升
    • 搜索结果:7.7x 提升
    • 加权平均:3.9x 提升
  • SWE-bench 实际任务: 压缩率在 11.8% 到 19.1% 之间。
  • 与 LLMLingua-2 (ROUGE-L 忠实度) 相比: Claw Compactor 在相同的压缩率下保留了更多的语义内容。

快速入门:

  • 安装:pip install claw-compactor
  • 基准测试:claw-compactor benchmark /path/to/workspace
  • 压缩:claw-compactor compress /path/to/workspace

API:

  • FusionEngine 类用于单文本压缩和聊天消息压缩。
  • Rewind 工具用于可逆检索。
  • 可以创建自定义阶段来扩展管道。

项目统计:

  • 测试:1676 个通过
  • Python 代码:12,000+ 行
  • 融合阶段:14 个
  • 检测到的语言:16 种
  • 所需依赖项:0
  • 代码压缩率:15–25%
  • JSON 峰值压缩率:81.9%
  • 许可证:MIT

Claw Compactor 是 OpenClaw 项目的一部分,旨在为 AI 代理提供工具。 它的目标是帮助开发者压缩 LLM 的代币使用量,从而降低成本并提高效率。