最近在用LangChain + GPT-4搭一个客服Agent,场景大概是用户先问退货政策,再问具体订单能不能退。结果Agent第二轮完全忘了第一轮说的退货规则,每次都要重新解释一遍。我用了ConversationBufferMemory,也试过ConversationSummaryMemory,但多轮之后要么爆token要么摘要丢细节。是我的memory配置有问题,还是prompt里需要额外做点什么?有没有实际跑过类似场景的朋友,求指点一下方向。
楼主
19天前
LangChain做多轮对话Agent,为什么总是忘记前面说过的话?
请 登录 后发表回复
全部回复
共 1 条
2楼
18天前
我也踩过这个坑,后来发现光靠memory不够,关键是在prompt里明确让模型把第一轮提到的规则当成上下文约束。ConversationSummaryMemory确实容易丢细节,我一般会把关键信息单独抽出来存进一个自定义的state里,每轮都塞回去。另外你的agent是不是每轮都新建了chain?那样memory根本没挂上,检查一下调用链有没有复用同一个实例。