如何遗忘比如何记忆更重要——AI Agent框架的一些总结
开发

如何遗忘比如何记忆更重要——AI Agent框架的一些总结

· 1 分钟阅读

最近半年,一边做AI SaaS产品,一边逐渐迭代出一个适合SAAS产品的AI Agent框架。只不过,这个框架在记忆系统上一直做的不太好。最近,也是因为产品的需要,专门对这个AI Agent框架做了一些迭代,增强了记忆系统。

总结一下。

固定记忆与动态记忆的分离

原来的memory都是存在一起的。AI agent需要迭代memory的时候,就直接自动修改一下。

但这也带来了一些不可控的因素,原本有一些内容是无论如何都不能修改的,很有可能会被agent改掉。

所以,这次迭代,把memory分成了两个独立的部分。

一个是固定记忆,只要用户不主动修改,它就不会被修改。

另一个是动态记忆,完全由Agent控制,按Agent的需要去增加、减少或者修改内容。

这样一来,就约束了Agent的权限,不至于一不小心就改了影响全局的固定记忆。

如何遗忘比如何记忆更重要

如何保持生成内容的一致性和连续性?

之前一直把重点放在了动态上下文。虽然各种优化,但对于生成的内容和次数多了之后,还是会出问题。

所以,动态记忆就成了一个很有必要的事情。通过固定记忆+动态记忆+动态获取上下文来保障下一次生成的内容的连续性和一致性。

而对于动态记忆,尤其是在生成的内容对一致性和连续性要求较高时,如何遗忘就成了一件比如何记忆更重要的事。

就以写小说的agent为例。

如果要写一部数百章的篇幅。每生成一章,就在动态记忆中增加这章的关键要点,这样可以大幅度提升下个章节的连续性。但随着生成的章节越来越多,动态记忆的内容也会越来越庞大,不仅会让提交给AI的上下文因为过大而无法处理,而且,也很浪费Token。更重要的是,动态记忆中的很多太前序的章节,不仅没有必要再作为上下文,而且还会污染上下文,导致生成的内容质量下降。

所以,如何“遗忘”掉这些没用的记忆,就成了一件值得思考的事情。