CTWM:长程 agent 记忆别只看成功率,看使用形状
长程 language agent 越来越依赖外部记忆当「冻结的世界模型」:记忆流、向量库、图、时序知识库,或能跨 prompt 存活的分页系统。评测习惯却往往只留两把尺子——任务成功率和token 成本。Xinyuan Song(Emory)、Zekun Cai(东京大学 / LocationMind)的预印本 arXiv:2610.00010(Heavy-Tailed Memory Traces in Long-Horizon Language Agents)指出:还缺第三个对象——记忆使用的形状。在有限上下文、反复检索之下,记忆会向一小块 core 集中,稀有状态被挤进长尾,预测误差就在那里堆起来。一旦窗口有限,记忆不再是中性流水账,而变成资源分配机制;你若只盯期末分和账单,就看不见注意力长期压在哪些 hub 上。[1]
这不是再发一篇「又有一种 memory 模块」的软新闻。它要回答的是:当你已经有一套图记忆 / 检索后端时,同一条访问轨迹的统计形状本身能不能先当诊断,再当可控的预算旋钮?作者把控制器叫 CTWM(Core–Tail World Model):按秩分配 prompt 预算,用一个指数 (\tau) 管浓度,尾部摘要保留、不整段扔掉。本文按深度综述写法:先讲为什么成功率 / token 会漏掉故事,再讲保守 tail audit 与策略依赖,再讲 CTWM 如何把秩变成预算,再读 Synthetic Graph World / ALFWorld / LongMemEval 的数字,最后落成 harness 记忆层可迁的清单——并写清论文明确不主张什么。代码仓库在论文中给出:github.com/Hik289/world-model-self-organized-criticality。[1]
站内对照先摆清楚,避免串线。JitMem:读时再合成记忆 问的是 curation 发生在写入还是读时;本文问的是 读出来的条目在有限窗口里怎么被分配注意力——时间轴不同,旋钮也不同。扩张 Harness,而不是堆上下文 把已经稳定的控制决策沉进可执行代码;CTWM 把稳定下来的「谁该占更多 slot」沉成一个可解释标量 (\tau)。MomHA 多目标 harness 同时盯准确率、安全与 token;CTWM 补的是 token–覆盖–尾部误差三角上一条可审计的分配规则。先前的 Jev-Mem 只作记忆线交叉链——本稿不占、也不展开 Jev 周配额,焦点在重尾轨迹与秩预算,不在 System One 类型化记忆。
缺的不是「有没有记忆」,而是使用形状
部署里常见循环很朴素:观测与工具结果持续进来 → 本地更新记忆 → 经耦合的状态–转移结构检索 → 在 prompt / API 预算下丢掉一部分信息。作者提醒:这套材料和复杂系统里产生重尾的要素很像(局部更新、耦合结构、反复暴露、资源截断),但不能直接据此宣称临界性。他们刻意使用 heavy-tailed、log-normal-compatible、truncated-power-law-compatible 这些保守标签,而不是新造「agent 临界」名词;测量假说更窄——若世界模型自然围着一小块 core 与一条长尾转,能不能审计这个结构,并把它变成更好的记忆控制器?[1]
一旦上下文窗口有限,记忆就不再是中性记录。成功率告诉你任务有没有做完;token 告诉你花了多少;两者都看不见 agent 把注意力压在哪些状态、哪些转移、哪些检索证据上。稀有状态若长期只占预算边角,尾部预测误差会系统性偏高——这正是「平均看起来还行、长程偶发却翻车」的一种机制读法。图检索文献(GraphRAG、LightRAG、HippoRAG 等)已经说明关系结构能帮推理,但也更容易制造 hub:PageRank 式传播与 top-(k) 过滤会反复把同一小撮条目送进窗口。CTWM 的立场是:把这种浓度既当混淆因素,也当可用资源——先用随机游走梯子隔离混淆,再在语义策略诱导出更强审计尾时,把同一套秩结构拿来做分配。[1]
问题设定写得很清楚,也和「学潜空间动力学」的经典世界模型划清界限:底座语言模型冻结,参数不更新;适应只发生在外部记忆 (W_t)、检索与 prompt 构造。步 (t) 观察 (o_t)、选动作 (a_t)、抽出结构化状态 (s_t)、记转移 (e_t=(s_t,a_t,s_{t+1}))、从有限记忆取上下文 (C_t\subseteq W_t)、预测 (\hat s_{t+1}),再记误差 (\ell_t=\mathbf{1}{\hat s_{t+1}\neq s_{t+1}})。尾部误差默认取按访问次数排序后下半段状态上 (\ell_t) 的均值——刻意做成基准无关的分位数定义,不问你手调频率阈值。评测侧强调用 API 实报 prompt token 与配对比较:记忆系统应改善 agent 循环的成本与可靠性,而不只是离线检索分数。[1]
相关工作里,MemGPT 把记忆搬运当操作系统分页;Generative Agents 用 recency / importance / relevance 打分;Reflexion 存口头反馈;MemoryBank 与各类 agentic memory 做显式长期管理;时序 / 图记忆把经验组织成演化关系;Voyager 展示长程交互可积累可复用技能。CTWM 不换骨干策略、不训新潜空间、不要求 prompt 扛完整历史——它问多步之后有限外部记忆被怎样统计地使用,并把那个形状暴露成一个标量分配旋钮。检索增强与长上下文研究也提醒:给更多上下文 ≠ 用得好;模型会漏掉中间信息,流式注意力会隐式优先一小撮耐久 token。CTWM 把 prompt 预算当成显式分配问题,而不是再把「窗口长度」当唯一旋钮。[1]
Tail audit:浓度可复现,但依赖策略
作者用 Clauset 风格的保守审计:对正观测取截断样本,拟合 (x_{\min}) 与指数,做 bootstrap 拟合优度,再用截断幂律对 log-normal 的似然比及标准误做检验。固定门槛包括尾部样本量 (\ge 100)、(p^\star=0.10)、(z^\star=1.96)。只有通过这些筛子,才敢说某条轨迹是 truncated-power-law-compatible——不是宣称 scale-free 拓扑,也不是完整 SOC(后者还要耦合雪崩、时间标度等额外证据)。这种窄标签很重要:工程上你可以大胆用「形状」做诊断,同时避免把每张 log-log 图营销成物理定律。[1]
随机游走:有浓度,却更像检索伪影
负对照很重要:即便策略没有任何语义偏好,有限 top-(k) 检索也会反复暴露同一批 hub,造出重尾访问。论文里随机游走审计覆盖 54 个图规模单元格:纯幂律通过率 0%,功率谱指数落在 ([0.048, 0.176]),远谈不上 (1/f) 体制。但它仍有用——表 1 显示六个图族里有五个,图越大,top-10% 访问计数的标准差越高(例如均匀度从图规模 100 的 0.152 升到 1000 的 1.364)。读法:随机游走尾是可行动的分配信号,但不是临界动力学证据;它告诉我们「什么叫记忆伪影」,免得把每条 log-log 曲线都叫成幂律。[1]
Retriever ladder(图 3)把机制拆开四档。均匀水库 + 仅频率排序:Gini 已达 0.698,但各图族几乎叠在一起——浓度来自排序,却与图结构脱钩。换上状态感知 top-(k):Gini 落在约 0.44–0.63,图族开始被分开。关掉检索(只写不读、没有 top-(k) 曝光环):Gini 塌到 0.29–0.35,相对降幅约 33–45%——重尾几乎被拆掉。非偏好的状态感知检索(近因 / 均匀载荷、状态感知但不语义):仍能保住 scale-free 条件下 92–94% 的 Gini;对称载荷的正则图仍可得到 Gini 0.638。结论很窄也很好用:有限 top-(k) 检索本身就能在语义策略进场之前制造 hub 式记忆浓度;随机游走负对照的价值,正是把「检索人造物」和「任务塑造的尾」分开。[1]
语义 LLM 策略:最强的截断幂律 core–tail
换上冻结 API 模型 + ReAct 风格语义动作策略后,故事变了。随机游走基线通不过更强的拟合与时间检验;语义策略在最强审计轨迹上更偏向 truncated-power-law 家族,并给出有限均值的 core–tail 浓度。拓扑控制扫过均匀度、指数度、模块化、scale-free:多族支持 core–tail 解读,scale-free 证据最清晰,均匀度最弱(近 miss)。作者的保守表述是:语义策略诱导的幂律兼容浓度不绑死单一图族,但最强的截断幂律证据仍出现在 scale-free 条件。对工程的含义直白——你在日志里看到「记忆访问很不均匀」,先问驱动是随机还是语义:前者更可能是检索伪影;后者才是 CTWM 这类分配控制更有价值的区间。[1]
主发现可以收成一句:有限 agent 记忆会可靠地收成小 core + 长尾,但尾的含义依赖驱动。随机游走尾诊断检索伪影;语义策略尾才是截断幂律兼容浓度出现、且 CTWM 秩分配能压低尾部状态误差的区间。[1]
CTWM:按秩分配,不按原始分数;尾部摘要,不整段丢弃
检索分数跨记忆系统很少校准,诱导出的顺序通常更靠谱。CTWM 因此用秩 (r)(越小越优先),而不是原始分数。高秩条目进紧凑 core,低秩条目进摘要尾部,单个指数 (\tau>0) 控制预算向 core 集中的陡度:
[ b_t(r;\tau)=\frac{r^{-\tau}}{Z_t(\tau)},\qquad Z_t(\tau)=\sum_{j=1}^{M_t} j^{-\tau}. ]
小 (\tau) 更接近均匀检索(形式上 (\tau\downarrow 0) 时各秩份额趋于 (1/M_t));大 (\tau) 把更多上下文砸在高秩记忆上,同时留下可测的尾部切片,而不是把尾切没。这是相对「无结构塞历史」和「扁平检索」的结构优势:把量过的 core–tail 轨迹,收成可调预算策略。实现上:core 用紧凑的秩序 hint;tail 用聚合摘要。序列化格式与分配规则刻意分开——消融会交叉「冗长 vs 紧凑编码」与「图检索 vs CTWM 分配」。主对比里取 (\tau=1.0);附录给出核心质量单调性等形式保证,并讨论缺稀有状态时可略降 (\tau) 或加厚尾部摘要、prompt 被陈旧上下文淹没时可略升 (\tau)。[1]
更新–检索闭环也很清楚(图 2):观测解析成状态与转移 → 有限水库按当前步排序 → 划分高优先 core 与摘要尾 → 按秩指数分配 prompt 预算 → 每步 API 调用后记录预测误差、检索计数与 token,把测量环合上。作者强调:CTWM 给记忆后端一块可解释的控制面,而不是再塞一套难审计的 prompt 魔法。[1]
数字怎么读:Synthetic → ALFWorld → LongMemEval
实验底座:Synthetic Graph World 含六类图族,(|V|\in{100,500,1000});随机游走审计 54 个图规模单元格;语义审计含拓扑控制。方法对比四条记忆策略:Full History、Flat Retrieval、AriGraph 风格 Graph Memory、CTWM((\tau=1.0))。跨基准用 ALFWorld(经 TextWorld 兼容接口)与 LongMemEval。Token 一律用 API 实际回报的 prompt token / 调用步。[1]
Synthetic Graph World:覆盖不掉,token 与尾部误差一起降
表 3 是核心实用结果(状态 / 转移覆盖率均为 1.000/1.000):
| 方法 | Tokens/step | 尾部误差 |
|---|---|---|
| Full History | 3601.1 | 1.000 |
| Flat Retrieval | 159.9 | 0.994 |
| Graph Memory | 170.71 | 0.932 |
| CTWM | 160.65 | 0.805 |
相对 Graph Memory:prompt tokens −5.9%,下半段尾部预测误差 −13.6%,同时保住完整覆盖。读表要一眼看四处:Full History 覆盖全但贵得离谱;Flat Retrieval 便宜但对尾部状态几乎没有预测价值(0.994 接近「瞎猜尾」);图记忆用结构把尾部误差拉到 0.932;CTWM 在同一覆盖目标上把 token 与尾部误差两边再推一截。这就是「重尾不只是描述,还能当分配规则」的中心证据。[1]
消融表 4 把「分配」和「紧凑编码」拆开。Graph Memory 从 verbose 到 compact,尾部误差几乎不动(0.932 → 0.931),说明只压缩写法救不了尾。加上 CTWM 分配后,verbose 侧尾部误差到 0.856(tokens 200.3),compact 侧到 0.805(tokens 约 160.7)——compact CTWM 在该矩阵里 Pareto 最优。冻结轨迹回放进一步说明:固定检索映射与同一批秩 id 时,紧凑编码主要改的是 LLM 看到的 prompt 视图与随后策略路径,匹配回放可把 live gap 收束到约 (4\times10^{-4}) 量级。工程读法:分配当资源策略调;序列化当对模型的接口调——别混成一个旋钮。[1]
(\tau) 扫描用七个取值(0.25–2.0)。全分布浓度统计符合预测:Gini、偏度、max/median 都随 (\tau) 升高。作者故意不用自动选 (x_{\min}) 的 Clauset (\hat\alpha) 当控制指标——扫参时截断点不稳(附录 D)。图 7 把 (\tau) 画成闭环浓度旋钮:你调的是「预算落在哪些秩」,不是再猜一个神秘温度。[1]
ALFWorld:配对设置下稳定省 token,约 3.9–6.6%
跨基准表 5 给出相对 Graph Memory 的配对 token 降幅(Synthetic 独立重复一并列出,方便看方向稳定性):
| 配置 | Token reduction |
|---|---|
| Synthetic graph A | 5.68% |
| Synthetic graph B | 6.22% |
| Synthetic graph C | 5.77% |
| ALFWorld short-walk | 6.61% |
| ALFWorld long-walk ReAct | 4.36% |
| ALFWorld one-shot ReAct | 4.95% |
| ALFWorld three-shot ReAct | 3.90% |
| LongMemEval | 24.48% |
具身文本环境里,固定 ReAct prompt 已经占掉大量上下文,记忆内容占比相对小,所以节省幅度温和,但方向一致——正文概括为约 4–7%。必须写进决策的边界:跨基准主张是配对 episode 下的 token 效率,不是任务成功率。论文写明,当前未调优的 API ReAct 策略在 ALFWorld 上不够强,撑不起 success claim;相关失败模式放在附录 B。三-shot 比 short-walk 省得少,也符合「固定示范已经占窗、可分配余量变小」的直觉。[1]
LongMemEval:tokens −24.48%,聚合准确率持平
长程会话记忆里,记忆内容占 prompt 的份额更大。同一配对比较下,CTWM 相对 Graph Memory tokens −24.48%,并保持 aggregate accuracy parity。同时论文诚实写出 multi-session recall 盲区:对召回极敏感的查询,过于激进的 core–tail 预算应放松。跨基准故事因此不是「CTWM 通杀一切下游任务」,而是同一套经审计的分配规则,在很不一样的记忆工作负载上少花上下文——合成图动力学、具身文本、长程会话,方向一致,幅度随「记忆占窗比例」变化。[1]
和「只加长上下文」路线比,CTWM 的立场更接近站内 harness 叙事:窗口是稀缺资源,默认动作不该是无限往里塞。长上下文研究已经反复提醒,中间位置的信息容易被漏;流式注意力也会隐式保住一小撮耐久 token。你若已经在用图记忆,却仍然感觉「上下文越长越贵、尾部状态越不稳」,缺的往往不是更大的 (k),而是一张访问形状图,以及一个把预算从「扁平 top-(k)」改成「按秩加权 + 尾部摘要」的开关。( au) 的好处在于可解释、可回滚、可与现有后端并存——不必先说服团队重写整条记忆链路。[1]
迁进 harness 记忆层:一份可执行清单
若你已经在跑图记忆 / 向量检索 / 分页,不必整库换成「CTWM 产品名」。更务实的是把论文的 audit→control 管线嵌进现有 harness 记忆层:
- 给记忆访问打形状日志。 按状态 / 转移 / 检索条目记访问计数与预测误差;至少能画出 core vs 下半段尾部误差,并对齐 API 实报 token。没有这张图,成功率与 token 账单会一直掩盖分配问题。
- 先做策略依赖诊断。 随机或近随机驱动下的重尾,优先当检索伪影看(对照关掉检索后 Gini 是否塌)。语义策略下若审计更贴近截断幂律,再进入分配控制区。别把每条 log-log 都当成物理幂律。
- 用秩,不要迷信原始分数。 跨后端分数很少可比;秩序往往更稳。Core 给紧凑、可执行的 hint;Tail 摘要保留,不要「为了省 token 就整段删」。
- 暴露一个 (\tau) 旋钮。 小 (\tau) 更均匀,大 (\tau) 更盯 core。缺稀有状态就略降 (\tau) 或加厚尾部摘要;prompt 被陈旧上下文淹没就略升 (\tau)。把它当成资源策略配置项,而不是再写一套脆弱 prompt 模板。
- 分开调分配与序列化。 消融已显示分配主导尾部稳健,紧凑编码主要改模型读法与轨迹。两件事各有 KPI:前者看尾部误差与覆盖,后者看 token 与策略路径是否被 prompt 视图带跑。
- 评测对齐论文口径。 Token 用 API 实报;尾部误差用分位数定义;跨环境先报配对 token,再谈 success——尤其当底座 ReAct 本身不强时。LongMemEval 类召回敏感场景单独留「放松 (\tau) / 加厚尾」开关。
- 与站内其它记忆旋钮并列,而不是互相替代。 读时 curation(JitMem)、把控制沉进代码(Growing Harness)、多目标准确率–安全–token(MomHA),解决的是不同层的问题;CTWM 补的是有限窗口内的注意力形状。你可以同时做:写时少蒸干、读时再合成、窗口内再按秩花钱。[1]
落地时还有一个容易忽略的运营细节:把「形状仪表盘」接到现有 tracing / eval harness,而不是另起一套科研笔记本。每条轨迹至少落四列——访问秩直方图、下半段尾部误差、API prompt tokens、当前 (\tau)——回归时才能回答「这次省 token 有没有偷偷牺牲稀有状态」。这和 MomHA 把安全与成本并列进目标函数是同一类纪律:你量什么,系统才优化什么。[1]
边界:论文明确不主张什么
诚实边界比 headline 更重要,写进工程决策里:
- 不宣称完整 self-organized criticality。 随机游走重尾通不过纯幂律与时间检验;语义侧证据是分布层面的,不是 avalanche 动力学。仓库名里的 criticality 是研究线索,不是已证明的物理结论。
- 拓扑与 (\tau) 扫描是有限审计,不是穷尽环境研究;有限样本、分箱、备选分布与移动截断都会让幂律宣称变脆——论文自己用保守标签就是为了这件事。
- ALFWorld 不支撑任务成功主张;主张是配对下的 token 效率。未调优 API ReAct 的成功率上限,不应被 CTWM 叙事偷换成「任务更强」。
- LongMemEval 有 multi-session recall 弱点;召回关键查询不宜一刀切激进 core。
- 底座模型冻结:结论针对 API-agent 式「适应在记忆与检索」的设定,不直接外推到端到端学潜空间世界模型,也不等于换一个更强 executor 后数字自动平移。
- 代码仓库在论文中给出;复现仍应以原文实验协议与表 3–5 为准,本稿不额外发明未在正文出现的数字。[1]
还有一层和日常排障有关的读法:当线上偶发「同一类稀有状态反复预测错」,先别急着加长窗口或换更大模型。先看访问直方图——若错误正好落在下半段尾,而 core 条目吃掉了绝大部分 prompt slot,问题更像分配,而不像「模型不够聪明」。反过来,若关掉检索后浓度几乎消失,你面对的多半是 top-(k) 人造物,调 ( au) 之前应先检查检索器是否在无语义偏好时就反复喂同一批 hub。把诊断顺序写进 runbook,比把 CTWM 四个字母贴到架构图上更有用。[1]
小结
长程 agent 的记忆评测,若只剩成功率与 token,等于只看账单和期末分,不看注意力有没有长期压在同一批 hub、稀有状态有没有在尾部默默丢分。Song & Cai 的保守 tail audit 表明:浓度可复现,但含义依赖策略——随机游走更像 log-normal 兼容的检索伪影,语义 LLM 策略更容易走出截断幂律兼容的 core–tail。CTWM 把这条审计过的形状收成秩预算 (b(r;\tau)\propto r^{-\tau}),core 紧凑、tail 摘要,不重训底座。相对图记忆基线:Synthetic Graph World 上 tokens −5.9%、下半段尾部误差 −13.6% 且覆盖完整;LongMemEval tokens −24.48% 且聚合准确率持平;ALFWorld 配对节省约 3.9–6.6%(short-walk 6.61%、long-walk ReAct 4.36%、one-shot 4.95%、three-shot 3.90%)。重尾记忆轨迹因此既是有限检索的诊断,也是 token 更省的世界模型的控制信号——值得嵌进 harness 记忆层,而不是只当一篇复杂系统隐喻来读。[1]
参考文献
[1] Xinyuan Song, Zekun Cai. Heavy-Tailed Memory Traces in Long-Horizon Language Agents. arXiv:2610.00010, 2026. abs · html · code