元信息
- 标题:Memory for agents
- 作者:Harrison Chase(LangChain 联合创始人 & CEO)
- 来源 URL:https://www.langchain.com/blog/memory-for-agents
- 存档日期:2026-11-01
- 标签:Agent、记忆系统、LangChain、CoALA、上下文工程
这篇讲什么
这是 Harrison Chase「Harrison's In the Loop」系列里专讲记忆的一篇(2024-10-19,5 分钟读完)。作者在 Sequoia AI Ascent 大会上提出 agent 三大局限:规划、UX、记忆;前几篇讲完了规划和 UX,这篇补上记忆这块拼图。核心问题很朴素:LLM 本身不会记住任何东西,记忆必须有意加进去——那到底该怎么加?
核心观点
- 记忆是 application-specific 的。Replit 的编程 agent 该记住用户爱用哪些 Python 库,Unify 的调研 agent 该记住用户在研究哪些行业——「记什么」和「怎么记」都因应用而异,所以 LangChain 的路线是给低层抽象(Memory Store),不替你做决定。
- 三类记忆框架(借 CoALA 论文,Sumers et al. 2024):程序性记忆 = LLM 权重 + agent 代码(实践中最接近的形态是让 agent 自己改 system prompt,但少见);语义记忆 = 关于世界的事实库(最常见用法是个性化:用 LLM 从对话中抽取信息,之后检索进 system prompt);情景记忆 = 过往动作序列(实践中就是 few-shot 示例,攒够了可以做动态 few-shot)。
- 两种写入方式各有取舍:hot path(响应前靠 tool calling 显式写入,ChatGPT 的做法)代价是增加延迟、记忆逻辑和 agent 逻辑耦合;background(后台进程在对话中/后更新)没有延迟、逻辑分离,但记忆不即时生效,还得设计触发时机。此外用户反馈(如点赞)也是写入情景记忆的一条路。
最值得记住
- 「想象一个从不记得你说过什么的同事,逼你反复重复信息——那会让人抓狂!」——全篇最好的记忆框架起点。
- 「LLM 本身并不天生记住东西——所以你必须有意把记忆加进去。」
- 选型口诀:有标准做法、想复用 → 情景记忆(few-shot);做个性化 → 语义记忆;不能容忍延迟 → background 写入。
对我的启发
- Agent 系统:设计记忆时先拿三类框架做清单(我的 agent 需要「会做」「知道」「经历过」中的哪些?),再单独决策写入策略,两个维度别混在一起谈。
- 个人知识管理:这套分类学可以映射到自己的知识库——程序性 = skill/SOP,语义 = 摘要卡片(如本库),情景 = 案例与踩坑记录;知识库同样有 hot path(随手记)vs background(定期整理)的取舍。
- AI 编程工具:编程 agent 的记忆本质是个性化上下文,Replit 案例值得对照自己用的工具观察。
- 写作:用人类记忆类型做脚手架解释抽象概念 + 「不记事的同事」这类类比开场,是把论文讲给工程师听的好范式。
适合谁读
在做 agent/LLM 应用、要给产品加记忆功能的开发者;想要一个清晰记忆分类框架而不是直接抄 ChatGPT 做法的人;关注个人知识管理、想借 agent 记忆设计反哺自己笔记系统的人。概念密度高但门槛低,先读 CoALA 论文的这个 ELI5 版再决定要不要啃原文。