























Agili 的 Hacker Podcast 今日话题跨了数据压缩、排队论、城市绿化、神经科学、AI 模型比较,甚至还有把网站塞进 Favicon 的巧思和 3800 年前的分数表。这些讨论在 Hacker News 上争得细致,我们把关键信息和观点整理了出来。
Matt Mahoney 在 2012 年发布的《Data Compression Explained》把数据压缩分解为两部分:模型估计每个符号的概率,编码器为高频符号分配较短码字。编码问题已有算术编码等最优解,但建模在一般意义下不可计算——最优建模等价于 Kolmogorov 复杂度,而 Kolmogorov 复杂度无法通过算法得出。所以压缩本质上是一个理解数据、预测数据的 AI 问题。
Mahoney 用大量基准测试(Calgary Corpus、Hutter Prize 等)说明,LZ77、PPM、BWT、上下文混合等算法在压缩率、速度和内存上分布出一条帕累托边界,“没有万能压缩器”。压缩随机数据或者递归压缩本身就是死胡同。社区评论补充说,如今 Fabrice Bellard 等人用神经网络建模已经在压缩率上超过了传统榜单,但神经网络模型体积大、解压内存高,长期归档还缺纠错码。
有评论把大语言模型看成一个有损压缩模型:训练目标正是逼近数据的最短描述,配合算术编码甚至可以做无损文本压缩。但 tokenizer 只面向语言,换成字节级模型(如 ByT5、BLT)理论上能处理任意数据,实用化却被模型体积和版本兼容困住。这条路还远。
人眼三种视锥细胞靠对比强度还原色彩,屏幕用红绿蓝控制这三种细胞,理论上覆盖大部分颜色,唯独青色大量落在 sRGB 三角形之外。LED 照明也恰好遗失这个区间:白光 LED 用蓝芯片加黄色荧光粉,青色掉进了光谱的深谷。
透过叶子看太阳,蓝光被吸收、红光部分被吸收,剩下纯粹的绿;水下光线多次过滤后的青蓝色,能把《蓝色星球》的画面衬得黯淡。孔雀眼斑周围的青色来自羽小枝的薄膜干涉,磨成粉末就成了深棕色;约 500 种鸟的颜色超出 sRGB。
城市绿灯其实是极其饱和的青绿色——NIST 标准有意选了这个色调让色盲也能区分红绿。激光接近单色,绿色激光因此成了科幻电影里代表“高级技术”的符号。作者说,520 纳米附近的颜色因为几何原因最难自然产生,所以绿色激光像是“最人工的颜色”。
一个看似反直觉的排队论结果:在同样的 80% 利用率下,服务器数量越多,请求排队概率越低,平均延迟迅速下降并趋近纯处理时间。5 台服务器时只有 3.6% 的请求需要排队,10 台时进一步降低。这对云服务账本是个好消息。
这个结论依赖 Poisson 到达和指数服务时间。真实流量往往有惊群效应和重尾分布,服务时间更接近对数正态分布,尾部延迟会被拉长。负载均衡器很多是随机分配的无状态模式,并不天然形成中央队列,需要额外参数来近似上述模型。此外请求如果不独立(比如多智能体 LLM 系统),合并的好处会被协调成本反转。
“3-30-300”规则由 Cecil Konijnendijk 提出:每户要能看到至少三棵树,社区树冠覆盖率达到 30%,且距离公园不超过 300 米。一项涵盖 862 个欧洲城市的研究显示,只有约一半居民从窗户能看到三棵树,南欧城市尤其惨淡。
达标区域集中在德国西部小城,整个欧洲只有约三分之一的人生活在这种环境中。全球八大城市中仅新加坡全部通过,热带气候和集中规划是主要原因。多名评论者提到,不同树种、树龄和位置带来的影响差别巨大,“30%”这个数字太粗了。
300 米内公园的指标最容易实现,但超过这个距离公园使用率急剧下降。综合三项全部达标的欧洲人只有 14%。研究者给出的行动指南很直接:刨掉沥青,种树。
作者没有用隐写术藏数据,而是直接把 HTML 编码成 favicon 的 RGB 像素。每像素三字节,前面加 4 字节长度头,生成的 9×9 像素图标看起来像随机噪点。浏览器加载图标后,Canvas API 读出像素,解码成 UTF-8 文本,一个网站就这么“存在”了 favicon 里。
favicon 只承载内容,解码需要的几行 JavaScript 仍然得单独提供。没有这段 bootstrap,它就是一张 PNG。功能上不实用,但作者在意的是测试“图标是一堆字节”这个边界。
评论里有人提出直接用 SVG favicon,标记本身就是文本,fetch 回来即可;还有人提到 PNG 的 tEXt 块可以塞任意数据,但那就没那么好玩了。一个极端的思路是让 index.html 和 favicon.png 指向同一个文件,省去一切额外步骤。
神经科学家 Oswald Steward 在 1982 年发现神经元突触周围存在核糖体,说明蛋白质可以在突触本地合成,而不是只能从细胞体运输。当时没人相信,15 年后才被认真对待,直到 2026 年获得 Kavli 神经科学奖,这个时间跨度本身就说明基础学科验证之难。
记忆依赖特定突触的强度变化,这需要新蛋白质。如果把数千个突触的蛋白都由细胞体统一运输,交通会崩溃。RNA 被提前送到每个突触附近,哪里需要就在哪里开工,这是突触可塑性的核心机制。脆性 X 综合征和阿尔茨海默病的早期表现也都和突触蛋白合成异常有关。
有评论提到扁形虫被砍头后,新长出头部仍保留旧记忆;器官移植受者偶尔出现新偏好,虽然原因可能是药物或心理,但记忆未必是大脑的单极叙事。Steward 则把对话拉回原点:他相信理解大脑能给 AI 带来更多东西,而不是反过来。
GLM-5.2(753B 参数,MIT 许可)在 Artificial Analysis Intelligence Index 上仅比 GPT-5.5 低 4 分,而后者参数量保守估计在 1–2T。纯靠放大规模的智能收益已经明显趋平。
在 AA-Omniscience 基准上,DeepSeek V4 Pro(1.6T 参数)面对无解问题只有 6% 的概率承认不知道,幻觉率高达 94%。GLM-5.2 幻觉率 28%,GPT-5.5 则达 86%。用同一个编程陷阱测试,DeepSeek 花了近 4 分钟和 7.7k token 给出了结构完美的错误答案,GLM-5.2 只用 12 秒就指出了问题本身不成立。学会及时说“做不到”成了区分实用性的关键。
评论中有人透露,自己兼职为 AI 公司编写从不存在过的软件,专门针对模型弱项生成训练数据。Mercor 等服务商每天向签约专家支付 300 万美元,用评判标准驱动强化学习。规模竞赛已经从爬取网络文本变成了重金定制高质量数据。
文章指出,要过滤成人内容,网站只需在响应中加入一个 RTA 头部,浏览器端即可根据家长控制决定是否展示。这个标准已经有十多年,成本近乎零。但政客绕过它,直奔集中化身份验证数据库——既能养活商业验证商,又能铺开全面追踪的框架。
立法者先以儿童保护为名强制成人网站年龄验证,再扩展到社交媒体,最后到达银行、聊天工具和游戏。一套统一身份系统建成后,任何“出格”言论都可能面临罚款或人肉搜索。文章也提到 Web Environment Integrity 和 Secure Boot 等技术有可能被用来限制只允许签名网站访问,连 Tor 也难逃。
社区提供了几种不同思路:让使用第三方身份验证的公司对数据泄露承担毁灭性责任(每泄露一条罚 100 万美元);干脆把给未成年人联网设备定义为违法,将责任锁定在父母层面;也有人批评原文将互联网比作上膛的枪过于夸张。
CSSQuake 把 Quake 的 3D 渲染交给了 CSS 的 transform 属性,游戏逻辑仍由 TypeScript 完成。在 M1 Pro 的 Safari 上不太流畅,换成 Chrome 或 Firefox 就好很多,有用户跑到了 60 FPS。作者坦言没有做性能优化,因为 CSS 本来就不是游戏引擎。部分机制和原版有出入,比如电梯按钮要靠射击触发,敌人击毙后会飘在空中。项目用了 id Software 的共享版资源,和 cssDOOM 一样在探索 web 标准的极限。
古埃及人表示分数时只能用单位分数(分子为 1 的分数)之和,且同一个单位分数不能用两次。例如 3/5 写成 1/2 + 1/10,而不是一个简单的 3/5。存世最古老的数学文献之一阿姆斯纸草书,主体就是 2/n 的表格。
作者 Mark Dominus 给出的解释是:有了这份表,任何分数都能通过二进制拆分和查表得出。把分子拆成 2 的幂次和,查表翻倍,合并重复项,再用 2/n 表消去重复,整套步骤完全是机械操作。19/20 最终可以化简为 [2,4,5]。所以阿姆斯不需要 3/n 或 4/n 的表,一张 2/n 表就足够。这种思路也和埃及人习惯的二进制乘法一致。
女:Hello 大家好,欢迎收听Agili 的 Hacker Podcast,我是莓莓。
男:大家好,我是阿迪。
女:今天想聊的话题跨度挺大,从怎么压缩数据、聊到我们眼睛里看不见的颜色,再到城市里到底该种多少树,还有一些特别有趣的把游戏和网站塞进奇怪地方的小实验。阿迪,要不先从一本讲数据压缩的老书开始?我听说它把压缩这事儿直接定义成了人工智能问题。
男:对。Matt Mahoney 在 2012 年写了一本《Data Compression Explained》,他自己也是压缩软件 ZPAQ 的作者。书里有个核心观点特别干脆:所有压缩算法都由两个部分组成——模型和编码器。模型负责猜下一个符号出现的概率,编码器给高频符号分配短码。编码问题其实已经解决了,用算术编码就能逼近香农极限。但建模问题从根本上没办法完美解决,因为最优建模等于要找出数据的最短描述,这对应 Kolmogorov 复杂度,而 Kolmogorov 复杂度在一般意义下是不可计算的。
女:等等,你说的“不可计算”是不是说,就跟让一个人永远猜不到硬币的下一面一样,我们没法用一条通用公式求出绝对最短的压缩结果?
男:就是这个意思。所以 Mahoney 直接把压缩定义为人工智能问题——你得先理解数据,才能预测数据,预测了才能压缩。评论区就有人顺着说,现在的大语言模型,也就是 LLM,训练目标本质上就是找一种接近最优的有损压缩方法。如果再配合算术编码,LLM 甚至能拿来当无损压缩工具,压缩文本。
女:那感觉很像一个超级厉害的速记员,听懂了意思就能用极短的符号记下来,没听懂的就只能原样抄。提到 LLM,我注意到最近好像有个模型刚发布就被禁了,说是跟安全有关?
男:对,美国政府对 Anthropic 的 Claude Fable 5 发布三天后就禁令了,理由是单一越狱方式构成国家安全风险。这是美国头一回用国家安全理由禁止一个 AI 模型。不过技术圈讨论更多的其实是这件事折射出的行业怀疑——大家开始觉得无限制扩大参数和数据规模,收益已经不太明显了。比如有一个开放权重的模型 GLM-5.2,总共 7530 亿参数,活跃的只有 400 亿,它在 Artificial Analysis 的智能指数上只比闭源的 GPT-5.5 低 4 分,比 Fable 5 低 9 分。而那两个闭源模型参数规模保守估计在 1 到 2 万亿之间。
女:这么一看,小的反而不比大的差多少。那更大的问题是,这些模型在遇到自己不会的问题时,表现怎么样?
男:这一点更麻烦。在 AA-Omniscience 这个专门测幻觉的基准里,DeepSeek V4 Pro 有 1.6 万亿参数,幻觉率却高达 94%。也就是说,碰到答不上来的问题,它只有大约 6% 的概率会承认不知道,其余时候都自信地编答案。GLM-5.2 的幻觉率只有 28%,Fable 5 是 48%,GPT-5.5 是 86%。有人举了个具体编程例子,要求设计一个自定义的 asyncio 事件循环策略。这个问题本身有架构性矛盾,单线程根本没法同时等子进程又不阻塞事件循环。DeepSeek V4 Pro 花了将近 4 分钟和 7700 个推理 token,给了一个结构完美的错误答案。GLM-5.2 只用了 12 秒和 799 个 token,直接指出问题不成立。
女:这就好像考试,平时死记硬背最多的学生,遇到一道错题反而会洋洋洒洒写满答题纸,而真正理解知识的学生会举手说题干出错了。现在行业对这种“越大越敢编”的趋势有解释吗?
男:一种可能是训练数据本身的问题。如果模型在训练中被灌输“总得给出答案”,它就会惩罚不确定性。现在很多训练数据已经不是单纯的互联网文本了,有从业者透露,他们会兼职为 AI 公司写一些从未存在过的软件,专门针对模型弱项制造训练数据,这些数据被锁起来只供训练。甚至 Mercor 这样的数据服务商每天要付给签约专家 300 万美元,生成带有评分标准的复杂推理数据。简单说,我们可能正在用更多数据教会模型更会编,而不是更知道自己不知道。
女:这个思路和刚才说的压缩还挺像的——更好的压缩需要真正理解数据,而不能只是死记硬背下一段话。那我们暂时离开算法世界,聊聊真实世界里一种我们常常忽略的“数据解析”:我们眼睛看到的颜色。今天有好几篇文章都在讲,屏幕其实根本显示不了自然界里很多颜色。
男:这要回到我们眼睛的工作原理。视网膜里有三种视锥细胞,它们不负责“看到颜色”,只是各自对不同波长喊叫,大脑再比较三种喊叫声的强弱来还原颜色。屏幕就利用这个机制,用红绿蓝三种原色去刺激这三种细胞,模拟出几乎我们能感知到的所有颜色。但“几乎”这个词留下了一个巨大的缺口,就是青色。sRGB 色域把我们能显示的颜色限制在一个窄小的三角形里,自然界里大量青、绿、蓝色都落在三角形外面。不光是屏幕,连白光 LED 也一样,它用蓝色芯片加黄色荧光粉,青色刚好掉在两个峰的谷底。
女:所以想看到这些屏幕上看不到的颜色,就必须出门?
男:对。文章里提到一个很直接的窗口,就是透过叶子看光。树叶的反射光谱基本还在 sRGB 里面,但透射光谱纯净得多。光线穿过一片叶子后,蓝光被吸收,一部分红光也被吸收,再经过叶子内部多次透射反射,颜色会被“提纯”到绿光峰值附近,那种绿比任何显示器上的绿色都浓。潜水也一样,水优先吸收红光,剩下的蓝绿光经过反复过滤,会呈现出屏幕完全无法表达的饱和青蓝色。有读者说自己去潜水看到的画面,比《蓝色星球》里的镜头还要生动。
女:那鸟类羽毛那种会变色的光泽呢?屏幕就更没戏了吧?
男:那是结构色,屏幕的噩梦。比如孔雀眼斑周围的青色,是靠黑色素薄层间隔排列对光进行物理作用产生的。如果把孔雀羽毛磨成粉,颜色就会消失,只留下深棕色。大约 500 种鸟类拥有超出 sRGB 色域的颜色,其中大概 100 种连 Display-P3 色域都装不下。蝴蝶的虹彩色更复杂,一个纸片蝶标本在不同角度能扫过从绿到蓝的整个区间,你用相机一拍,完全不是那个味道。
女:我忽然想起来,每天上下班路过的绿灯,总觉得那颜色很特别,该不会也是屏幕外的颜色吧?
男:没错,那其实不是绿的,是极其饱和的青绿色。NIST 在标准里特意这么规定,为了让色盲群体也能区分红灯和绿灯。现代 LED 绿灯的光谱几乎就是单色的,而激光的 520 纳米绿更接近理想光谱纯度,这大概就是为什么科幻电影里绿色激光总被用来代表高级技术——它太纯了,自然界真的很难出现。有读者说,亲眼看过 430 纳米的蓝色激光之后,感觉那颜色“在向你尖叫蓝色”,再看屏幕上的纯蓝只有失望。
女:从这种纯人工色彩,转向我们身边应该更多的自然绿——我注意到一个“3-30-300”的绿化标准最近经常被提起。
男:这个标准由 Cecil Konijnendijk 提出,要求每户、每所学校、每间办公室,从窗户能看见至少三棵树,所在社区要有 30% 的树冠覆盖率,离公园不超过 300 米。听起来很简单,但涵盖 862 个欧洲城市的研究发现,只有大概一半的居民能从窗户看到三棵树。南欧情况尤其差,西班牙瓦伦西亚只有十分之一居民达标。30% 树冠覆盖率更难,只有约三分之一的欧洲人满足这个条件,达标的多是德国西部的一些小城。
女:有没有城市能全部做到?
男:在全球八大城市测试里,只有新加坡全部达标。不过评论里也指出,新加坡一部分优势是热带雨林气候,但也跟城市规划和财富投入有关。另外两项全达标的人很少,综合来看,只有 14% 的欧洲人三项都满足,21% 的人一项都不满足。评论区里也有不少人对规则本身存疑,比如有人指出,看到三棵树和心理健康之间的关系可能是相关但不一定是因果——能住在绿树成荫的街区,本身通常也意味着更好的经济条件和更安静的环境。荷兰有个挺好玩的活动叫“拆砖竞赛”,鼓励居民把铺地砖移走种上绿植。芬兰人则说大树的生存需要城市规划配合,而不是一出现风险就砍掉。
女:所以不论标准本身是不是完美,行动方向其实就一句话——刨掉沥青,种树。聊完地面上该多种树,我们稍微把目光收回到屏幕里一棵看不见的“树”:浏览器标签页上的小图标 favicon。有人居然在里面藏了一整个网站?
男:对。这人没走传统的隐写术,而是直接把 favicon 像素当存储空间用。每个像素的 RGB 三个通道各占一个字节,三个字节刚好存一个 UTF-8 字符。他写了一段很短的 HTML 作为 payload,用 TextEncoder 转成字节,前面加 4 个字节的长度头,然后按顺序一个字节写进一个通道。结果 favicon 看起来就是一张随机噪点图。读取的时候,用 Canvas API 把 favicon 画到 canvas 上,逐个像素读出 RGB 值,重建字节数组,解码成 HTML,就还原了一个网站。
女:那浏览器打开这个网站的时候,等于自己从自己的图标里读出了一个网页?
男:对,但要有一个前提:favicon 本身只含网站内容,还需要一小段引导用的 JavaScript 去启动解码,否则它就只是一张含数据的 PNG。所以它不实用,但测试了一个边界——favicon 本来就是个图标,但本质上它只是字节。评论区有人提了更直接的方法,用 SVG 格式的 favicon,标记直接写在 XML 里,用 fetch 取回来解析即可。作者回应说他就是想“让 payload 活在像素数据里”。还有人提到,PNG 格式本身就支持在注释块里塞任意多内容,但那就没那么有趣了。
女:我听说还有人在 favicon 里跑游戏?
男:对,《毁灭战士》Doom 和乒乓球都被塞进去过,因为 favicon 小,有人就专门测试极限。另外读者还提到了 polyglot 技术,也就是一个文件同时是合法的 HTML 和 PNG,连引导 JS 都可以省掉。
女:说起把游戏塞进不可思议的地方,今天还有一个东西叫 CSSQuake,是用 CSS 来渲染 3D 的 Quake。
男:对,游戏逻辑用 TypeScript 写,只有渲染部分用了 CSS 的 3D transform,直接跑在浏览器里。它加载了 Quake 共享版资源,支持 8 张地图和多人模式。但评论区普遍反映,在 Safari 上跑起来不如 1996 年 Pentium-133 的原版流畅,M1 Pro 的 Mac 会卡顿和画面裁剪。换 Chrome 或 Firefox 就好很多,有用户在 M2 的 Chrome 上能跑出 60 帧。作者自己说引擎没做性能优化,毕竟 CSS 本来不是为游戏渲染设计的。还有些小 bug,像电梯按钮必须射击才能激活,原版碰一下就行,击杀的敌人有时会浮在空中。
女:在那个年代,Quake 的优化水平真是惊人。刚才这些都是在有限的“容器”里塞进意想不到的内容,这让我想到一个更古老的存储——3800 年前的阿姆斯纸草书。古埃及人把他们的一套数学“压缩算法”记在上面。
男:这份纸草书是现存最古老的数学文献之一,大部分内容是表格,列出了所有形如 2/n,n 为奇数的分数值。当时的埃及人没有我们现在的分数记法,只能写单位分数,也就是分子为 1 的分数,而且同一个单位分数不能重复出现。比如 3/5 要写成 1/2 加 1/10。要把任意分数表达成这种形式其实挺花心思。如果用贪心法,每次都取小于目标的最大单位分数,像 3/7 就会得到 1/3 加 1/11 加 1/231,但其实最优解是 1/4 加 1/7 加 1/28。
女:那为什么纸草书上只列了 2/n 的表,没有 3/n 或者 5/n?
男:作者给的答案很漂亮:“很可能不需要”。因为有了 2/n 表,任何除法都能通过类似二进制拆解的方法机械地算出来。比如 19/20,先拆成 18/20 加 1/20,18/20 等于 9/10,然后再拆 9/10 成 4/5 加 1/10……再配合查表和合并重复项,就能得到最终的单位分数和。整个过程不需要深入推理,只需要机械查表。这很像埃及人原本就会的二进制乘法,把乘数按 2 的幂次展开,然后翻倍累加。所以这份 2/n 表格,就是古埃及人的核心“解压字典”。
女:这跟我们开头聊的数据压缩突然对上了——很多时候,只需要一张高质量的“基准表”,配合机械操作,就能解决庞大的问题,而不是无限制地堆砌更多的表或更多的参数。
男:确实。今天从压缩聊到 AI 的幻觉,再到眼睛的感知、城市的树,最后落脚到 3800 年前的一张表,其实都在说同一件事:更聪明地建模,而不是更粗暴地堆量。
女:谢谢阿迪,也谢谢各位收听。喜欢我们的节目可以在任何泛用型播客客户端搜索订阅,我们下期再见。
男:再见。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。