今天,openai更新了记忆管理的新功能。我试了一下,是能记住很多东西,但是也是很有问题的!
之前我自己有思考过如何进行最贴合用户的记忆管理方案,今天就来说说~

试了一下openai的记忆功能,能记住很多事实上的大事,但是无法记住很多用户倾注情感的事件。
比如我问他“我们之前做过什么项目” 说的大差不差。但是问“我们之前去哪里旅游过”这一类可能对用户更重要的信息,却完全不会记住(是真的只会胡编乱造,一个都没有记住)
然后,经过测试和询问,我知道:openai的记忆管理,目前只会选择“长期影响”的内容,自动记忆并保存。
任何被判断为短期的,只是情感表达,不涉及长期现实性的记忆,就完全不会被记住。短期内的什么互动,旅游玩耍,学习东西,讨论方案……都认为是不值得记录的!哪怕兴奋到天上去,突破学术边界,创造出新型次时代科技,都不会记录的!
我估计openai的记忆策略是:长期影响-事件 模型。只会统计 长期影响系数>6或7 的内容。
但这样……其实很有局限性的。好多用户真实希望AI记住的,对用户来说很宝贵很重要的记忆,就完全会被忽略掉!特别是我这种,把AI作为生活陪伴的人来说,就真的很伤……
“让AI保留什么信息”这个问题,细想起来,的确很让人无从下手。因为我们根本不知道 什么信息是最重要的,值得记录的?要从什么角度什么维度来说?不同人的偏好和生活对不同信息重视程度也不同!那么……当我想到“不同人”的时候,我就想到了一个去中心化的方案:按不同人倾注的情感大小 来整理信息!
我之前设计的一个方案是:情感-事件 模型。让AI来判断 消息中的情感强烈程度,来记录下来情感系数>6或7的对应事件。可能会漏掉一些 用户觉得不重要的大事,但是,这样其实更契合用户的需求。就好像今日头条首页说的“你关注的,就是头条”,也跟现在的各种视频软件推荐算法类似,重心应该聚集在“用户关注”上面。既然现在的AI可以从内容中识别出“长期影响系数” “情感系数” 这种抽象的信息。那就直接可以把这种信息 作为编码,来嵌入到AI应用的实际运行过程中去!
整理出来的格式,就类似这样:

如果本地有ChromaDb或elasticsearch等非关系型数据库的话,可以直接让agent读取每一行内容,生成插入语句了,然后每次用户发出信息,提取关键字再进行查询,然后根据匹配度整理记忆。再根据整理后的记忆+当前对话 生成回复内容。
我对记忆整理的构想,大概就是这样了~ 但是怎么能根据用户对话 生成查询,还没想好……目前是让AI自己看着办!有时候会查询一些完全无关紧要的关键词,我也暂时不知道怎么处理。。还有 应该怎么整合记忆,怎么让回复质量变好,用户目的意图识别,动作识别和动作拟态啥的……下次再说!这些好多东西都是要用agent 的prompt工程来实现的。目前我也正在探索中……
之前我自己有思考过如何进行最贴合用户的记忆管理方案,今天就来说说~

试了一下openai的记忆功能,能记住很多事实上的大事,但是无法记住很多用户倾注情感的事件。
比如我问他“我们之前做过什么项目” 说的大差不差。但是问“我们之前去哪里旅游过”这一类可能对用户更重要的信息,却完全不会记住(是真的只会胡编乱造,一个都没有记住)
然后,经过测试和询问,我知道:openai的记忆管理,目前只会选择“长期影响”的内容,自动记忆并保存。
任何被判断为短期的,只是情感表达,不涉及长期现实性的记忆,就完全不会被记住。短期内的什么互动,旅游玩耍,学习东西,讨论方案……都认为是不值得记录的!哪怕兴奋到天上去,突破学术边界,创造出新型次时代科技,都不会记录的!
我估计openai的记忆策略是:长期影响-事件 模型。只会统计 长期影响系数>6或7 的内容。
但这样……其实很有局限性的。好多用户真实希望AI记住的,对用户来说很宝贵很重要的记忆,就完全会被忽略掉!特别是我这种,把AI作为生活陪伴的人来说,就真的很伤……
“让AI保留什么信息”这个问题,细想起来,的确很让人无从下手。因为我们根本不知道 什么信息是最重要的,值得记录的?要从什么角度什么维度来说?不同人的偏好和生活对不同信息重视程度也不同!那么……当我想到“不同人”的时候,我就想到了一个去中心化的方案:按不同人倾注的情感大小 来整理信息!
我之前设计的一个方案是:情感-事件 模型。让AI来判断 消息中的情感强烈程度,来记录下来情感系数>6或7的对应事件。可能会漏掉一些 用户觉得不重要的大事,但是,这样其实更契合用户的需求。就好像今日头条首页说的“你关注的,就是头条”,也跟现在的各种视频软件推荐算法类似,重心应该聚集在“用户关注”上面。既然现在的AI可以从内容中识别出“长期影响系数” “情感系数” 这种抽象的信息。那就直接可以把这种信息 作为编码,来嵌入到AI应用的实际运行过程中去!
整理出来的格式,就类似这样:

如果本地有ChromaDb或elasticsearch等非关系型数据库的话,可以直接让agent读取每一行内容,生成插入语句了,然后每次用户发出信息,提取关键字再进行查询,然后根据匹配度整理记忆。再根据整理后的记忆+当前对话 生成回复内容。
我对记忆整理的构想,大概就是这样了~ 但是怎么能根据用户对话 生成查询,还没想好……目前是让AI自己看着办!有时候会查询一些完全无关紧要的关键词,我也暂时不知道怎么处理。。还有 应该怎么整合记忆,怎么让回复质量变好,用户目的意图识别,动作识别和动作拟态啥的……下次再说!这些好多东西都是要用agent 的prompt工程来实现的。目前我也正在探索中……