用了半年 LangChain Memory,才发现回滚测试压根没测对凌晨三点,被客户一条消息炸醒:“你们的客服机器人又失忆了,回滚对话后发现它把上个月的事情都记混了。”我打开监控,日志显示 Session 回滚时,ConversationBufferMemory 把不该保留的上下文带到了新的分支里——这就是典型的记忆污染。更崩溃的是,我们之前每周跑一次的“回滚测试用例”,居然全部通过。半年了,我们一直在用错误的方式测试记忆存储,直到真正用 Playwright + pytest 把整个聊天链路端到端回滚,才抓到那些藏在 UI 交互和异步存储里的遗忘与污染。