说到底,要让Agent真正承担起实际任务,“记忆”是始终无法绕开的关键环节。原因很简单:如果连上一轮对话内容都记不住,那它与一个健忘的聊天机器人又有何异?无法积累上下文信息,无法洞悉用户的深层意图,更谈不上自主推理与决策。
理想中的Agent,应当像人类一样思考、学习并做出判断——而这一切的基础,正是“记忆”能力。
那么,如何赋予Agent这种记忆能力?这就引出了今天的主角:Memary。这是一款专门为增强Agent记忆而打造的框架,其核心思路是——模拟人类的记忆机制。并非简单地存储字符串,而是让Agent既能回顾过去,又能理解当下,甚至预判未来。

Memary:为Agent装上“记忆系统”
该框架最核心的理念,概括起来就是八个字:像人一样思考和记忆。传统记忆存储方式过于“僵化”——只管存入,不管如何利用。Memary则把记忆转化为一种动态、有结构且带有关联性的存在,Agent不仅能“记住”信息,更能“理解”这些信息之间的内在联系。
几个突出优势:
- 自动构建记忆:无需手动打标签或添加备注。Agent运行时,会自行搭建完整的记忆结构。
- 类人记忆模型:不只存储单条数据,而是通过“记忆流”和“实体知识存储”两种方式,分别记录用户知识的广度和深度。一个对应“你与多少人交流过”,另一个对应“你对谁最了解”。
- 智能检索:并非机械的关键词匹配。它结合知识图谱与递归检索,即使是复杂问题也能精准命中。
- 动态更新:记忆会不断“成长”。随着交互次数增多,Agent对事物的认知会持续调整——这与人类的学习路径高度一致。
- 性能分析:还能生成可视化仪表盘,直观展示Agent的记忆表现,并指出需要优化的环节。这对开发者而言,极具实用价值。
运作机制:这套系统到底如何运行?
要理解Memary,得先了解它内部的核心组件。

1. 路由Agent(Routing Agent)
它是整个系统的“调度员”。用户输入进入后,它判断该调用哪个工具来处理——是搜索?还是视觉识别?先制定方案,再执行操作。

2. 知识图谱(Knowledge Graph)
这一点比较容易理解。并非存储表格,而是绘制关系图——实体作为节点,关系作为边。Agent不仅知道“谁是谁”,还知道“谁和谁有关联”。信息的关联性,才是理解的真正起点。

3. 记忆模块(Memory Module)
该模块分为两部分:
- 记忆流(Memory Stream):记录所有接触过的实体及其时间戳。简单来说,就是“你见过哪些人/事”。
- 实体知识存储(Entity Knowledge Store):记录每个实体的引用频率与最近一次出现的时间,用于判断“你对谁最熟悉”。两者结合,便构成了Agent对某位用户的完整理解。

4. 新的上下文窗口
这并非简单拼接一段历史记录。它会整合Agent的响应、最相关的实体以及精简后的聊天历史。目标只有一个:让回复更精准、更贴切。

完整流程大致如下:
- 用户发送一条查询。
- 路由Agent判断任务类型,匹配相应工具。
- 如需查询知识图谱,Memary会采用递归检索与多跳推理,快速定位相关实体。
- Agent生成回答,并自动将新知识存入图谱。
- 记忆模块根据图谱变化,同步更新记忆流和实体知识存储。

实际使用起来复杂吗?
并不复杂。Memary的接入流程相当顺畅:
- 安装:支持pip安装或本地安装,可自行选择。
- 配置:通过一个
.env文件即可设置API密钥——OpenAI、Perplexity、Google Maps……均兼容。 - 定制:按需修改用户画像和系统画像文件,灵活度很高。
- 运行:执行一句
streamlit run app.py,服务即可启动。
此外,它还支持多图谱功能。你可以为不同用户创建独立的Agent,轻松切换上下文与记忆系统。
