结论先说:给 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 把市面上所有记忆插件拆成同一个五步套路:
- 扫描会话记录;
- 生成「记忆」片段;
- 插入向量数据库;
- 每次提问取最相似的 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。
