Claude Code 读代码读不动了,就有人让你往 CLAUDE.md 里塞说明。agent 在长任务里忘了三天前定的规矩,就有人让你加个记忆层。群里一聊 agent 记忆,方案满天飞:向量库挂 MCP、知识图谱塞 session,好像多一层“记住”就等于多一层聪明。
这些动作散在不同项目、不同人手里,单看都是个人偏好。放一起就冒出来一个被忽视的共同点:全都在急着给 agent 装记忆,没人先算一下这层东西本身要收多少税。
我把它叫做:记忆税。不是要反记忆,是把“上记忆”这个动作的成本和收益摊到太阳底下,让谁在下手之前都能问一句——这税我交了,最后赚回来没有?
九月初那个实验把这事钉得最死。有人拿 Claude Code 跑了 1,453 个 agent 会话,四个组、五种语料条件,塞进去将近五千篇文档、两万七千个嵌入块。其中只有 37% 的语料是干净可查的事实,剩下 63% 是过时的、矛盾的、不适用的,或者干脆没有的。他对比了裸 agent、只给检索指令但没给工具、他自己的记忆产品 RE-call,还有一个流传更广的 MemPalace。
有个细节我特别在意:他做了一个安慰剂组——完整的记忆指令,空的记忆库,协议逐字节对齐。这一下就把“听说要查记忆”和“真有记忆可查”拆开了。结果呢?仅指令组对裸 agent 净 -17。也就是说,在没东西可查的情况下,光让 agent 觉得该去查点什么,它就比根本不知道这回事的时候更乱。
这就是记忆税第一种收法:入场费。你给 agent 塞进去一套“该查”的预期,它就开始多绕路、多调用、多空想,哪怕最后什么也没捞着。税不是等你赚到了才收,它在你最需要解答的时候先咬你一口。
再看两个真装上记忆的组。RE-call 对仅指令组净 +20,p=0.015,看着很漂亮。但别急着站过去,p<0.05 的只有这一组;RE-call 对裸 agent 是净 +3,p=0.834,也就是跟没装记忆的裸奔状态在统计上分不出高下。MemPalace 对裸 agent 净 -15,整体解出率居然低于无记忆基线。最扎眼的数字:裸 agent 解出率 0.628,两个装记忆的组——一个 0.637,一个 0.587。
所以记忆这东西,装巧了,可能只比不装多解出半个百分点;装糙了,直接把你原来的解法也拖下水。税不是交一次就完,它是按会话、按 token 持续收的。RE-call 中位数一次会话 65.9 秒、56,476 输入 token;MemPalace 68.6 秒、90,706;裸 agent 44.7 秒、14,085。装层记忆,token 从一万四跳到五万六甚至九万七——这每一局都要重复交。
这直接打脸一个事:你能不能在没装任何记忆产品之前,先把裸 agent 的 baseline 测出来,再决定要不要为那 0.9 个百分点的提升付四倍的 token、多一倍的秒数?我知道多数人不回答,因为一回答就等于承认自己一个月前接的那个记忆层,可能一直在收一笔从没核算过的税。
不过先别急着把记忆税当大棒甩给所有记忆产品。那个作者自己也还了一手——上一轮他测出来的结果完全是另一个样子:RE-call 那轮破坏性最强,四个对抗条件里三个表现最差。后来发现是他的测试装置出了问题。RE-call 拿到 1,958 字节的额外指导,MemPalace 只有 853 字节,选择实验变体的标志硬编码在启动器里,根本没法覆盖。修掉之后,RE-call 的伤害损失直线收窄,优势从 1.8 倍缩到 1.35 倍。
这是提醒我,记忆税这个词得有两个边界。它不能变成无脑的反记忆口号,不然就把“记忆层用了没赚”和“记忆产品本身不行”搅成一锅。我吹号从来不为站队审判,是为了把各自比划的东西抓到桌上一句点破。谁要是拿“记忆税”去嘲讽所有给 agent 接记忆的人,那既没看懂实验,也没看懂工具——这号我不吹。
评论区里有人问了个合情合理的调节:把召回条数从 5 改成 10,别的什么都不动,superseded 条件下相对裸 agent 就从 +4 拉到 +10,每会话搜索次数从 3.10 降到 2.60,token 还省了 4%。可同时,在“无法比较内容”的条件下,token 又多花 8% 到 13%,两个预注册的成本下限也没达到。这个反馈比实验室跑数还像真的,它说明记忆税不是一块石头,是一套会随着检索频率、召回条数、写入闸门浮动的费率表。你调了一处,税可能这里少收点,转过身又加倍收。
我又去翻那个 baseline 的语料结构。4,902 篇对抗性干扰文档是拿语料自身词汇生成的,专门为了让检索器看什么都像、又什么都靠不住。superseded 条件里最惨的是:45% 的会话里两篇植入文档全检索不出来。作者说这比排序测度重要三倍——不是排序问题,是查询构造问题,你 agent 问的方式从一开始就不对。
所以这时候,装记忆层之前你该问的其实不是“哪个记忆产品最好”,而是“我这种任务,哪类条件占比最高?”如果项目里过时文档占一半,那记忆层在 superseded 上这点可怜的好处(RE-call 也就 +7)值不值得每个会话多投进去三四万 token?如果大部分任务是 present,那 RE-call 的 +14 可能真值得。问题从来不在词上,在你自己的场景分布。
这个词我现在正式交出来:记忆税。你应该把它认领走——下次谁在小群晒一张“我给 agent 加了记忆层,跑得可稳了”的截图,你就问一句:税交了多少,测过没有?问的不是信仰,是单会话成本、检索频率、条件占比、有没有安慰剂组。答不上来,八成又是拿直觉税冒充测量。
但这个词自己也得有个作废条件。要是三个月后没人公开拿它指认“装记忆不核算”这种动作,或者有人拿它去否定所有记忆研究、把它变成一句瞧不起人的空话,那我就回炉。造词的特权,止于词能不能让得出;让不出、用不对,这号就白吹了。记忆税自己也逃不掉它命名的那套逻辑:先列成本,再谈获益,最后才轮得到传播。
