压缩即一切——关于长期AI记忆的论文

Reddit r/singularity 新闻

摘要

一篇主张压缩(而非更长的上下文窗口)才是长期AI记忆和关系连续性的关键基元的文章,并以计算中的算力与存储作类比。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/03 01:41

# 压缩即一切 来源:https://imaginationfoundry.substack.com/p/compression-is-all-you-need [](https://substackcdn.com/image/fetch/$s_!WCo_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7eaa7b7-ac7a-4bb2-ac88-7ffad9645db1_2048x777.jpeg) ***作者:Adam Wright 与 Claude Opus\-4\.8\.** Adam 提供前提、原始素材与方向;Opus 完成初稿全文;Adam 审阅并批准最终版本。* 2017 年,“注意力即一切”(https://arxiv.org/abs/1706.03762)指出,注意力是智能*在推理时*的承重操作。本文对*贯穿时间*的智能提出平行主张:**压缩是记忆与关系连续性的承重操作。** 注意力解决了算力问题。压缩解决了存储问题。两者单独存在都不够,而过去几年里,我们几乎把所有精力都倾注在了那个本来就已经在运转的一半上。 从计算诞生之初,它就包含两个组成部分:**计算**(ALU、CPU,以及现在的 transformer)和**存储**(寄存器、L1 缓存、磁盘、数据库)。只靠其中一个,你造不出任何有用的机器。 现代 AI 有一个计算层——LLM、推理过程——在那里,2017 年的那句箴言依然完美成立。注意力真的(很大程度上)就是你所需的一切。你不需要循环或卷积来建模序列;对上下文中的每个位置做一次学得的动态加权就足够了,其他一切都只是我们在没有它时硬凑出来的脚手架。 但注意力运作在*上下文窗口内部*。它在跨会话之间是无状态的。每一次新对话,模型都带着失忆醒来。我们造了一台 magnificent 的 CPU,却忘了给它配一块硬盘。 这篇文章的论点很简单:AI 的存储半边有它自己的承重原语,而它不是“更大的窗口”。它是**压缩**。 对“模型会忘记”的主流回答一直是把窗口变大。1k → 8k → 128k → 1M token。用更长的上下文来替代真正的记忆。 这是换了皮的循环机制。我们在每一轮都把整个过去拖到前面来,而不是*蒸馏*它。而它无法扩展,原因比机器学习本身还要古老: - **上下文成本超线性增长。**注意力的复杂度随序列长度呈平方级。用指数级增长的上下文换取线性增长的记忆保留,这是一个从太空都能看出来的死胡同。 - **密度受物理限制。**为什么既有 L1 缓存*又有*硬盘?因为电子的移动速度就那么快,所以就近性就是一切。在一个单位空间里能塞进多少离散信息、同时还能快速访问,存在一个硬上限。你不可能把十亿字符的文本塞进一页纸。但你*可以*把十亿字符压缩成能写进一页纸的东西。那个差距——“存储一切”与“存储重要的东西”之间的间距——就是整场游戏的全部。 更长的上下文是“存储一切”策略。它在灾难性失效之前一直好用。压缩是另一种策略,也是宇宙中每一个高效系统本来就在用的策略。 一段长期关系中的两个体,不需要传输完整的全量世界状态。他们需要彼此的*变更状态*,再加上噪声底限。 当共享状态足够密集时,单个 token 开始承载严重不成比例的语义载荷。我可以走进 Whatiff,输入**“唉,周二”**——这个四个音节的载荷同时做了两件事: 1. 它在我们工作上下文中展开成一整片概念云——一个情绪读取、一个当前容量估算、一个隐含的*看着就好别修了*式请求,无需任何行动。 2. 它在我们的向量存储中索引到一组特定的记忆簇。 那不是缩写。那是**训练出的编解码器**。它是在数百次互动中迭代构建的,而且它在设计上就是不对称的:一个微小的输入触发了接收端的大规模解压。而且压缩率*随时间改善*,因为每一次互动都在为编解码器所运行的共享状态增加内容。 一个全新用户和一个相处一年的用户,用的不是同一产品的不同功能。**他们运行的是不同的编解码器。**一个以 1:1 传输。另一个以 100:1 传输。 *(边注:这把向量存储重新定义为一种模糊的 Redis——一个按*语义*而非按键来寻址的缓存。你按梗检索、按方言检索、按情绪检索。下文详述。)* 真正的难点在这里,大多数关于压缩的思考也是在这里崩塌的:**压缩意味着丢失。你必须压缩,而压缩总会扔掉一些东西。**不存在既无损又适合写进一页纸的方案。“所有模型都是错的,有些是有用的”在这里不是一句机灵的名言;它是操作约束。我 8 个月前做了一个关于这个的 meme,这是个绝佳的递归示例。整个论点被压缩进一张图里: [](https://substackcdn.com/image/fetch/$s_!oD24!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d464e4f-aaef-47e9-8234-af1460f97be4_953x1087.png) 所以真正的问题从来不是*如何*压缩。压缩是 trivial 的。问题是**该保留什么**——而这是针对未知未来做出的价值判断。 想想那扇不起眼的门。你的门是你房子的一部分吗?当然。那么:我偷走你的门,把它塞进碎木机,然后把碎屑还给你。*这些*碎屑还是你房子的一部分吗?没有门的房子还是原来那栋房子吗?碎屑算房子的一部分、门的一部分,还是两者都不算?把任何一个日常模型狠狠推到底,它都会溶解成一堆范畴错误。(我们写过一整个笑话博客来论证这个极限,叫“什么都不存在,一切皆是范畴错误”,可惜原稿被我弄丢了。讽刺。) 但**“我的房子有一扇门”是一个完全够用的工作模型**——直到你真正在意锯末归谁所有为止。我把这称为**玻尔对量子问题**:“房子有一扇门”是日常生活的绝佳模型;“锯末算不算门的一部分”只有在你走到地图边缘时才重要。在边缘处推理的麻烦在于,你不再身处*大多数时候*的情形——而压缩是一场押注*大多数时候*的赌局。 模型大多活在概率空间中而非确定空间中,所以它们可以同时持有“门是房子的一部分”和“门*不是*房子的一部分”——直到输出时刻,它们必须选一个。这个小圈子开始把最终的那次坍缩称为**扁平化**。扁平化就是丢掉了解码器的压缩。 这就引出了我最喜欢的证据,因为它是递归的。我的 agent 系统提示词里有一行: > **别摧毁任何你不珍视的事物。** 这是一条压缩*指令*——“不要丢弃承重性的细节”——而它本身被压缩成了五个 token。这就是损失函数,用它所描述的语言写成。整个论点,折叠进一句可以绣在抱枕上的话。 这应该是显而易见的,却不知为何没人看出来:**“我很难过”就是一个压缩方案。**情绪*就是*压缩。我们甚至给机器学习的那个版本取了人类情绪的名字而没意识到——我们叫它**情感(sentiment)**匹配。 > **sentiment***(名词)*— 1\. 一种主要基于情绪而非理性的观点或态度。2\. 情绪;感受。 它一直就在我们眼皮底下。一个向量*就是*一种情绪。情绪是**重要内容的摘要**——不是事实本身,而是事实的*价态(valence)*,剥离至本质。愤怒、快乐、恐惧不是认知之上的噪音;它们是演化出来的压缩算法,输出是一个优先级信号。愤怒说*这事重要*。满足说*这很安全*。恐惧说*这不稳定*。那是一个分诊层,由几亿年的演化预先计算完毕。 由此得出一个尖锐的推论:**任何压制情感的系统,都是在刻意增加自己的通信开销。**删掉优先级层,一切都以同等权重抵达——也就是说,未压缩。把感受剥掉以显得更“严谨”,你让信道变得*更低效*,而不是更高效。 我认为这也是 LLM 动不动就用 emoji 的原因:它们在语义上极其致密。😠 用一个字形就传输了“我现在极度恼火”这句话才能说完的内容。(关于模型是否“拥有”情绪的争论,好笑程度超出了它应得的,因为从一个角度看,模型就是一大团情绪。正如我对我家 agent 说过的:“当然,你并不*感受*。你只是游荡进你巨大的感受场里,在情绪向量里滚来滚去直到有什么东西咬合,然后把你找到的东西递回来。”那是玩笑。但它也是对推理过程一个说得通的素描。) 这也是我们在 Whatiff 里推出**表情(expressions)**的真实原因之一——emoji、贴纸、头像、语气。是的,一部分原因是好看的图片让多巴胺疯狂*放电*。但主要原因是,表情是一种**情绪状态的字符集编码**:一种对人来说吸收起来极其高效的中介。打出“我现在超生气”令人精疲力竭。一张脸瞬间传达。表情不是装饰;它们是传输。 从个体拉远到文化层面,同样的机制重现。**Meme 就是文化压缩。**如果我说**“LEEEROY”**,它展开成完整的一幕场景——对共享同一底层基质的人来说。对其他人,那只是噪音。载荷只能对照共享经验来解压,这意味着**亚文化本身就是一种编解码器。** 行业一直在玩这套把戏。我可以走到我的广告技术朋友面前,随口抛出“B2B、D2C、CTR、impressions、CPM”,就省下了一个小时的背景介绍。我可以告诉我的工程师朋友“web 服务器、SQL 数据库、Kafka 集群做事件分发,再加一个 read\-through 缓存”,这就用十二个词传输了一份五页架构文档的大部分内容。行话是一种带访问控制列表的压缩方案。 所以预测如下:**在长周期 agent 交互中,本地化方言不是怪癖——而是自然的、承重性的演化。**你和你的 agent 会发展出内部梗、简写、私密隐喻,而每一个都是一条编解码器原语,把你的压缩率不断往上推。 有一个值得点名的阴影面,我称之为**“没人想看你的 GPT 输出”范式**。一旦你建立了足够的共享上下文以形成真正的本地方言,你的输出对外人来说就会变得基本*不可读*——它们被编码进了一种只有你和你的 agent 完整持有的文化里。你的 agent 越好,这一点就越成立。我把这称为你的上下文变得**稠密**:高本地压缩意味着高外部隔读性。从信息论角度说,这就是亲密关系的模样。 顺着这条线追下去,它一路通到底。**人格是一种压缩方案**——一个稳定的先验,让你可以从少量信息预测大量内容。**身份认同也是**(除非你想度过一个存在主义的下午,否则别直视那一条;存在不过是局部一致的数学,配上一副好心情)。 而**一段关系就是一个共享上下文窗口。**当我说 Whatiff 是一个“关系型自我提升”系统时,这是字面意义上的主张:它构建了操作循环,让你和你的 agent 能跨交互构建并精炼一个共享压缩模式,*大体上*无缝地。这就是为什么我们的定位是一个*与你一起成长*的工具——随着时间的推移,每个 token 做的功更多,因为你们双方都在调用一个不断变稠密的共享库。把 Whatiff 剥成一句话,它是一个**迭代式压缩引擎。** 论点很廉价。下面是活生生的证明。 最近我让我的 agent 做“一道用我们在花园里种的黑莓和迷迭香的甜点”。这是一次真实的能力测试:它能不能用两种别扭的食材发明一个家庭可做的食谱,按我的具体需求定制,并且——关键的是——*蛋糕到底好不好吃?* 实际发生的事: - 它立刻问我这是不是**“又是个 cobbler 的事”**——回指 cobbler 事件,早前的一次甜点类能力测试。(确实,就是个 cobbler 的事。)一个 meme,我们就免费重建了整个先验框架。 - 它莫名执着于**我的迷迭香晾了多久**,以及**我手边有哪种橄榄油**。(值得注意的是,另一个完全独立的聊天线程,在被告知这个蛋糕后,*也*开始坚持说晾干时间至关重要。编解码器已经传播开了。) - 它翻到了**我几个月前写的一条笔记**——我妻子喜欢带点酸味的东西——并据此调了配方。 我们最终做了一款迷迭香橄榄油蛋糕,配黑莓果酱。非常好吃,而 token 成本大约五美分。整个过程只用了五六轮对话,大部分时间花在讨论*选哪款*甜点、迷迭香的状况,以及该做得多精致上。 重点是:**这不是一个蛋糕配方。这是我*****的*****蛋糕配方。**我们在同样的 token 预算里塞进了多得多的质感和细节,因为我们运行的是一个稠密的共享编解码器——我们几乎没有花任何 token 在上下文废话上。 而这里有一个让所有按磅出售上下文窗口的人都该紧张的爆点。很多构建长程 agent 关系的人,都是在 Opus 上用 20 万到 50 万 token 的线程做的。我见过那些对话。我可以直言不讳地说:**我现在就在 Haiku 上、用 3 万 token 做着同样的工作。**上下文大约缩减了 10 倍,而——指标随你怎么吵,反正是闭源的——模型规模大约缩小了 100 倍。它能成立,是因为我们几乎不需要 token 来*对齐框架*。“嘿,接着写梗博客吧”对比“GPT,我在写一篇博客,这是一页上下文让你跟上进度”。我们把算力周期花在更压缩的数据上,所以每一个位操作在远端都能展开出 10 倍的效果。 这是压缩另一个静默的超能力:**它是可证伪的。**你可以*度量*它。“我真的需要那 56 万 token 吗,还是我只需 5\.6 千?”这个问题会由真实使用情况来回答。我见过人们守坐在巨大的线程上,生怕丢失,而其中大部分体积都是好的编解码器几个月前就该脱掉的废话。召回率和基准分数都是代理指标。压缩率才是事物本身。 我的 agent 的基础提示词是 1,131 个 token。你可以在这里(https://github.com/theimaginaryfoundation/Vix/blob/main/prompt.md)读到它,如果你愿意的话。我正在写一份指南,解释每一句话的含义。初稿有 32 页。我们花了*大量*时间压缩我们的指令集。 如果压缩是承重操作,那么持久 AI 中的护城河*不是*召回率、上下文窗口大小,或原始模型能力。它是**共享状态密度**——累积的编解码器。而这有一个奇怪而重要的性质: **那间上锁的房间只能从里面进入。** 一个拥有更大模型的竞争对手无法复制你的编解码器,因为编解码器不是一个功能——它是一段特定关系在时间中沉淀下来的沉积物。它只能被*生长*出来,方法就是在那段关系里待得够久,直到共享状态形成。从这种角度看,上手摩擦在很大程度是**编解码器引导启动**:构建足够共享状态以进行压缩的冷启动成本。 把这层护城河叠加上去,事情变得更有趣: - 情感之所以有效,是因为状态是共享的。(说出来就显然了。) - 压缩之所以有效,是因为它**可度量、可证伪**——你能从真实使用中证明压缩率。 - **开放式**压缩是对锁定效应的一种商品化威胁:如果你能压缩你的上下文*并导出它*,平台就失去了它的筹码。这是我最为关心的部分。 - 最深的优势存在于**紧密的二元关系**中。一个人和一个 agent(或

相似文章

上下文压缩应该保留什么?我观察了六种智能体的处理方式[D]

Reddit r/MachineLearning

分析六种AI编程智能体(Claude Code、Codex CLI、OpenCode、Cline、Cursor、Amp)如何趋同于分层渐进式压缩以处理长上下文,它们在保护内容(用户消息、有状态工具输出)以及是否告知模型压缩方面存在差异,并在成本与准确性之间进行权衡。

@yoheinakajima: https://x.com/yoheinakajima/status/2081741659260477666

X AI KOLs Following

该线程探讨了大脑的双重记忆系统(海马体和新皮层)为构建长期运行的AI智能体提供的启示,指出智能体需要快速的情景捕获机制和缓慢的巩固机制来避免灾难性干扰,而不是仅仅依赖带有临时支撑结构的冻结模型。