结论先说:给 agent 装记忆,是给它一台抽奖机;给它一间能读能写的档案室,才是给它脑子。

这句话不是修辞。2026 年 10 月 3 日,Kevin Liao 的《Agents Don’t Need Memory. They Need Documentation.》在 Hacker News 拿到 266 分;同一天,GitHub Trending 上 thedotmack/claude-mem 单日涨了 627 星、总星数 95.9k,走的恰好是 Liao 批评的那条路。两条路线在同一天各自爆发,说明这个分叉还没收敛。而真正让这件事值得写下来的,是另一边的量化证据已经出来了。

记忆插件卖的是抽奖,不是记忆

Liao 把市面上所有记忆插件拆成同一个五步套路:

  1. 扫描会话记录;
  2. 生成「记忆」片段;
  3. 插入向量数据库;
  4. 每次提问取最相似的 5 条注入;
  5. 不够就再给 agent 一个搜索工具。

然后他列了五个绕不过去的问题。我按对架构的影响排序,挑三个最要命的。

问题具体表现架构上的后果
按相似度浮现相似度只排序嵌入空间距离,不分辨对错与新旧读取路径是概率性的,同一问题可能拿到不同答案
脱离上下文存储一个片段装不下动机、环境、教训拿到结论拿不到约束条件,照做就出错
存储不可审计一万条嵌入躺在 SQLite 里,哪些存在、哪些过期、哪些从未被检索、哪些是错的却在影响行为,全都答不上来无法清理、无法排查、无法证明

翻译成架构语言:这就是一个没有过期机制、没有结构约束、没有审计接口、写入方还完全不受控的隐式全局状态。

这种东西在传统系统里我不会让它过评审。可一旦前面加上「agent 记忆」四个字,大家就觉得它理所当然。

还有一条更隐蔽:agent 搜不了它不知道自己不知道的东西。就算给了它一个搜索工具,它也无从判断「这次该不该搜」。

让它先查再干,干完再改回来

Liao 给的替换方案很朴素:把 agent 的循环从 prompt → build → forget 改成 prompt → consult → build → update。工作前先读相关文档,干完把过时的地方改掉、缺的地方补上。他的实现 aerovato/operator-memory 明确声明不用向量库、不用嵌入、不用后台守护进程,全部是可读可提交可分享的纯 Markdown。

对立的另一边也不是没道理。claude-mem 的工程完成度相当高:5 个生命周期钩子(SessionStart / UserPromptSubmit / PostToolUse / Stop / SessionEnd)采集、本地 Worker 服务、SQLite 存会话与观察、Chroma 做混合检索,还配了 mem-search skill、渐进式披露与 token 成本可见性、<private> 标签排除敏感内容、观察结果带引用 ID 可回溯。它回应了「记忆库不可审计」的一部分(至少能引用与检索了),但没解决过期与淘汰。

真正给出量化的,是 Airbnb。CTO Ahmad Al-Dahle 在 10 月 2 日接受 Latent Space 专访时披露的内部数据:

指标数字
由 AI 产出的代码占比约 60%
同比多交付的功能与改进近 80%
人均 PR 吞吐提升约 1.6 倍
纯由 AI 解决的客服工单约 50%(Q2 财报口径近 45%)
生产环境定制模型数量至少 10 个

其中 Everest 这个内部上下文图最能说明问题。它用 LLM、嵌入与检索构建组织级知识,让通用型工程师能跨专业代码库工作。效果非常具体:

同类工作第一次索引进 Everest 之后
第三方合作方 API 集成(杂货配送)8–9 个月—
同构的第三方 API 集成(机场接送)—约 6 周

九个月到六周,压缩掉的不是编码时间,是「重新搞懂一遍」的时间。这和 Liao 的主张是同一件事的两个证据:上下文层不是锦上添花,它是这类工作的主成本项。

边界要写在载体上,不能写在约定里

我在做一次 Go 后端重构时有过同样的体会。当时把服务之间互相发 HTTP 请求的结构改成四层架构,第一件事不是写代码,是定规矩:业务层里不许出现 web 框架的上下文对象。

原因不是那个对象危险,而是不该出现的依赖,一旦允许它出现,就再也收不回来了。

agent 的记忆也是同一条道理。你把「它该知道什么」交给向量的概率性回忆,这个边界就永远收不回来;你把它写进一组有读写契约、能评审、能回滚的文件,边界才真的存在。

我自己那条每天自动跑的 AI 日报流水线,恰好是个朴素的正面样本:没有向量库,没有自动摘要,没有半夜整理记忆的后台进程。每天往一个目录里落一个 Markdown 文件,周报读最近七天的文件,月报读周报。三个月前的一个结论为什么这么下,翻文件就在。

能打开、能搜索、能改、能删、能提交进版本库,这五件事加起来才叫记得住。

落地时该怎么分层

不是二选一。合理的分层是这样:

层承载什么判据
文档主干指令、规格、决策、外部接口踩坑、索引能列全、能评审、能回滚、能按日期回溯
检索补充长尾的历史会话与事实碎片必须带来源引用与时间戳,不能是裸片段
平台能力Cloudflare Artifacts 这类按 agent/会话供给仓库的原语副产物单位成本要低到可忽略

补充层那条「必须带来源与时间戳」是硬要求。没有来源的裸片段,就是 Liao 批评的第五个问题:错的记忆会悄悄影响 agent,而你查不到它在哪。

另外有一件事要提前想清楚:如果你在仓库里建了 agent 专属的文档目录,就要同时定下谁负责回写。只写不更新的文档库,三个月后会变成第二个记忆插件——一堆没人敢删的过期内容。

相关阅读:OpenAI 用 7000 张 GPU 查 50PB 记录:agent 的审计欠账是怎么定价的


数据说明

  • 本文所有事实均标注了发生时点,窗口内较早的事件(09-28 至 09-30)已单独注明日期,请勿当作发布当天的新事。
  • Kevin Liao 的数字(1000 条片段、每次取 5 条)来自其文章原始表述;claude-mem 的 627 星为 GitHub Trending daily 页面当日直连核验值,总星数 95,920。
  • Airbnb 的 60% 代码占比、80% 功能增幅、1.6 倍 PR 吞吐、Everest 的 8–9 个月与 6 周,均出自 CTO Ahmad Al-Dahle 接受 Latent Space 专访(2026-10-02)的自述,未经独立复现;客服工单比例与公司 Q2 财报口径(近 45%)基本一致。
  • Kevin Liao 本人是 operator-memory 的作者,其观点存在立场,本文采纳的是论证过程而非结论。
  • Cloudflare Artifacts 的 open beta 与竞赛信息来自官方博客(2026-10-01),计费起始日为 2026-10-15。