求助Agent的memory选择哪个方案

公司开发了一个Agent平台,技术栈是langchain4j+Java21,现在针对Memory存储这块有三个方案,最初的方案是方案三,现在是方案一 方案一 每个会话的ChatMemory存一个记录,条数是固定的 方案二 ChatMemory单独存储,但是条数是固定的 方案三 ChatMemory增...
求助Agent的memory选择哪个方案
求助Agent的memory选择哪个方案

公司开发了一个Agent平台,技术栈是langchain4j+Java21,现在针对Memory存储这块有三个方案,最初的方案是方案三,现在是方案一

方案一

每个会话的ChatMemory存一个记录,条数是固定的

方案二

ChatMemory单独存储,但是条数是固定的

方案三

ChatMemory增量存储,条数会越来越多,相当于全量,但是使用的时候是查询一条System和n-1条记录


因为需要实现一个重新回答的功能,如果使用方案一的话,重新回答的时候,ChatMemory会跟上一个回答不一致,会少最旧的几条

大概的功能流程是这样的:Q1->A1->A2

我现在的思路是:

Q1->A1,用户点击重新生成,然后我查询ChatMemory,删除掉Q1->A1这个过程中的全部ChatMemory,这样的话A1跟A2的回答是完全独立的,然后重新用Q1->A2,因为聊天记录是单独存的,所以可以实现Q1下面有A1和A2

如果按照我当前的思路去设计的话,方案一和方案二,查询到的ChatMemory条数会少于固定数量,除非我吧他们改成增量存储,方案三是适用这个思路的,但是数据条数增长很快。

佬们这哪个方案好一点呢,或者说还有其他的更好的方案呢

1 个帖子 - 1 位参与者

阅读完整话题

来源: linux.do查看原文