今天看到一个叫mem0的项目https://github.com/mem0ai/mem0,原本觉得agent的记忆无非是对话列表的短期记忆和rag的长期记忆,还能有别的什么其他的.但这个项目还是有点不一样的地方.
mem0本身类似一个memory的智能体,它本身会对你的对话内容进行抽取(通过三个核心的提示词),然后将抽取到的信息存储到向量数据库(这一步就和其他的rag一样了).
在使用时可以通过接口去搜索记忆,实现了相对智能的长期记忆效果.技术框架上类似graphrag,只不过graphrag进行多级总结,构建知识图谱,解决的是大量信息整体分析的问题,而mem0是解决定制化memory的问题.
我认为mem0项目最大的优点就是使用和集成简单,独立使用或者和langgraph,crawai等进行集成都有方案.实现细节都隐藏到库的内部了,对与开发者来说只需要调用两个接口(add/search)就能实现相对智能的RAG(不用考虑向量数据库等细节,mem0已经做好了),mem0本身还有云平台,有免费的额度.
但是我本身还在犹豫是否将其集成到pentestagent,我个人觉得mem0还是更适合一些AI Assistants或者面向个人助理的场景.pentestagent的长期记忆更多的需要储存和智能提取结构化数据,例如一个ip开了多少个端口,都是什么版本的服务,已经扫描到有哪些漏洞,等等.

