别再把你AI助手的记忆放在LLM上下文窗口里了
摘要
文章认为,AI助手的记忆和状态不应存放在LLM上下文窗口中,而应放在独立的事务性数据库中,采用确定性控制流,并将LLM视为处理非结构化输入的判断层。
大家好,最近我将一些智能体工作流投入生产,想吐槽/分享一个我看到很多人犯的重大架构错误。别再把你LLM的上下文窗口或大规模向量嵌入当作智能体的长期记忆。如果你的智能体需要保留状态、记住过去的误报、处理人机协同工作流或维护审计轨迹,那么将会话历史整成一个巨大的JSON blob来回传递到提示词中,简直就是无声失败和高昂token账单的配方。对我们而言,唯一能在生产环境中存活的架构依赖于严格的关注点分离。首先,持久化状态和记忆必须完全存在于智能体之外,放在像Postgres或Lakebase这样平淡且高度结构化的事务性数据库中。智能体只需在启动时读取,在工具执行时写入——它本身不应是数据库。其次,使用确定性控制流。如果你有明确的业务约束,比如“在写入数据前必须征求人类意见”,那就用Python或Langgraph这样的状态图框架来编码这个逻辑,不要依赖系统提示来强制执行安全边界。最后,把LLM当作判断层。严格将模型用于处理非结构化输入、生成工具参数或总结证据。将状态层迁移到专用数据库意味着我们实际上可以暂停、重放和单元测试智能体的执行,而不用担心上下文漂移或幻觉抹掉智能体的历史。很想知道其他人是如何处理多日工作流的持久状态的?你们是把所有逻辑都封装在自定义的SQL表中,还是依赖框架的记忆功能?
相似文章
尝试让智能体记忆跨会话持久化所学的经验
本文反思了AI智能体记忆的复杂性,远超简单的存储问题,强调了诸如判断真实性、优先级变化、区分决策与噪音以及何时恰当地呈现上下文等挑战。
受人类启发的LLM智能体记忆架构
微软研究人员提出了一种受生物学启发的LLM智能体记忆架构,该架构结合了睡眠阶段巩固和基于干扰的遗忘机制,以高效管理持久性记忆。
如何管理代理记忆而不让其变成杂物抽屉?
关于管理AI系统中代理记忆的实际挑战的讨论,侧重于避免信息过载导致输出质量下降,并提出使用工作流状态和多代理架构等策略。
AI 智能体记忆机制详解(28 分钟阅读)
本文全面介绍了 AI 智能体记忆机制的技术原理,区分了工作记忆与长期记忆的实现方式,并探讨了上下文管理、基于嵌入的检索以及数据生命周期治理等关键策略。
AI 智能体运行时间越长,你花费在管理其记忆上的时间就越超过实际使用它的时间。
本文重点讨论了随时间推移管理 AI 智能体记忆时日益严重的问题:用户花费更多精力维护上下文,而非实际使用智能体。文章指出,目前缺乏用于记忆衰减和治理的基础设施。