这段时间玩星野,发现一个比较大的问题,就是所有的虚拟角色当对话超过一定数目就会忘记刚才的设定,包括我们加给他的设定,这应该是目前ai程序的最大记忆容量限制的,虽然我不知道星野的容量大概是多少,但是应该是在3k字节左右甚至以上吧。。。毕竟就我们用的一般的对话的api,例如chatgpt3.0(免费)智谱清言,这些都是擦不多有3k字节左右的记忆限制。
3k记忆其实不算少了,但是随着对话长度,我们聊天的语句就会忘记,我们加的设定就会忘记,那么怎么才能让他分清楚我们聊天对话中哪些需要注意的点呢,临时突发奇想有点想法
早期玩智谱清言的时候就发现,所谓设定的智能体是提前输入参数的,随着设定变多,他在说话上就会偏向某些方面,但是很明显设定应该占据主导!
比如说我设定的一个虚拟角色,她是一个对人文艺术比较了解的人,设定她对理工科知识是不了解的,那么这个地方就可以配置为,我们在向他询问一些理工科的问题的时候她不应该回答,即使在之后我们尝试忘记这些设定也应该第一时间回想起来,也就是说设定的优先级应该是最高的。
但是这样会出现一个问题,假如测试者香老师一样去教导智能体理工科知识,这样教收到最后能否摆脱理工科白痴的设定。。。?这种时候只能设一个判断,如果知识本身和设定产生冲突,那么将知识放到第三方文本上,只做死记忆,保持设定。。。。
接下来当我们与智能体聊天添加设定时,比如说早期告诉智能体,你的年龄比我大,我应该叫你姐姐,这种后增加的设定,感觉可以做某种判断,判断的条件是是否直接与交谈双方强相关,强弱顺序为:对话双方彼此的属性(姓名,年龄,喜好)对话双方有关的第三方(彼此认识的朋友,亲友)对话双方强有关的时间对白(约会的约定,过去的双方强相关的经历),关于对白这里需要向下拓展一下,与对白相关的事物的强弱顺序,分别为,感受(经历本身情绪,开心,失望等),物品(经历中出现的跟彼此强相关的物品,比如说礼物,共同看到的东西等等)
暂时想到那么多,突然间想到在有限的空间中尽可能保持虚拟角色的人设,无论如何都需要第三方的服务器作为记忆存储,但还是不能只作为存储,需要对特殊记忆点进行存储,记忆点的判断需要有基本属性,这样可以尽可能模拟人类,对于记忆并不是完整的,表现出来的更多的是感受,物品等等