最近在用LangChain + GPT-4搭一个客服场景的Agent,能调用查订单和退款的工具。但我发现一个很头疼的问题:如果用户在第一轮说“我只要退款,不要换货”,聊了三四轮之后Agent就忘了这个约束,又主动建议换货。我试过把历史对话全塞进prompt,但token涨得很快,而且好像也没完全解决。也试过用ConversationBufferWindowMemory,窗口设太小会丢信息,设太大又贵。想问下大家在实际项目里是怎么做长期约束记忆的?是单独抽出来存成结构化状态,还是靠summary压缩?感觉这块没什么标准答案,想听听有落地经验的朋友怎么处理的。