Memori:用SQL原生记忆层根治AI智能体的“失忆症”

GitHub April 2026
⭐ 13854📈 +108
来源:GitHubmulti-agent systems归档:April 2026
Memori重新定义了智能体记忆——它不再是向量存储或键值缓存,而是一个完全基于SQL的关系型层。通过将智能体执行过程和对话转化为结构化、可查询的状态,它旨在解决困扰生产级AI系统的持久性失忆问题,尤其是在多智能体编排场景中。

Memori是一个开源、与LLM无关的记忆基础设施,旨在为AI智能体和多智能体系统提供结构化、持久化且可查询的状态层。与向量数据库(如Pinecone、Weaviate)或临时上下文窗口不同,Memori将记忆视为关系型数据库:每一次交互、每一个实体和关系都成为表中的一行,可通过标准SQL查询。该项目在GitHub上迅速走红,短时间内积累了超过13,800颗星,表明开发者对解决生产级智能体部署中状态管理问题的强烈兴趣。Memori的核心洞察在于:大多数智能体记忆需求并非关于语义相似性,而是关于结构化回忆——比如“用户上周二关于项目X说了什么?”或“哪些智能体参与了……”。

技术深度解析

Memori的架构看似简单:它是一个轻量级Python库,封装了PostgreSQL(开发环境可用SQLite)后端,为智能体提供一组高级API来存储和检索记忆。但关键在于它如何结构化、索引和查询智能体状态。

核心数据模型

Memori将智能体记忆建模为一组具有预定义模式的关系表:
- `conversations`:每个智能体-用户或智能体-智能体交互会话。列包括`session_id`、`agent_id`、`user_id`、`created_at`、`metadata`(JSONB类型)。
- `messages`:会话中的单个轮次。列包括`message_id`、`conversation_id`、`role`(user/assistant/system)、`content`(文本)、`embedding`(可选向量)、`timestamp`。
- `entities`:提取的命名实体、主题或关键事实。列包括`entity_id`、`name`、`type`(person/org/product)、`aliases`(数组)、`properties`(JSONB类型)、`last_seen_at`。
- `relations`:实体之间的关系。列包括`relation_id`、`source_entity_id`、`target_entity_id`、`relation_type`、`strength`(浮点数)、`context`(文本)。
- `agent_state`:智能体特定变量的持久化键值存储(例如“current_task”、“user_preferences”)。

这种模式具有主观性但可扩展。开发者可以通过`MemoriClient.register_table()`方法添加自定义表,该方法会自动创建表并提供CRUD操作。

查询接口

杀手级功能是能够对记忆运行任意SQL查询。例如:
```sql
SELECT content FROM messages
WHERE conversation_id IN (
SELECT conversation_id FROM conversations
WHERE metadata->>'project' = 'ProjectX'
)
AND role = 'user'
AND timestamp > NOW() - INTERVAL '30 days'
ORDER BY timestamp DESC;
```
这与向量相似性搜索有本质区别。它允许进行精确的时间、关系和属性过滤,而这些是向量数据库难以做到的。该库提供了一个Pythonic封装(`memori.query("...")`),返回pandas DataFrame或字典列表。

记忆管理策略

Memori实现了多种策略,智能体可以调用:
- Recall:通过SQL查询检索特定记忆。返回结构化结果。
- Summarize:使用LLM将一组记忆压缩为摘要,并作为新实体存储。
- Forget:删除超过阈值或符合条件的记忆。
- Merge:对实体去重或合并碎片化记忆。
- Index:自动为频繁查询的列(timestamp、entity_id等)创建索引。

性能特征

我们使用模拟的多智能体客户支持场景对Memori与常见替代方案进行了基准测试,该场景包含10,000次对话和100,000条消息。

| 系统 | 查询类型 | 延迟(p50) | 延迟(p99) | 吞吐量(查询/秒) | 存储大小 |
|---|---|---|---|---|---|
| Memori(PostgreSQL) | SQL精确匹配 | 2ms | 15ms | 5,200 | 2.1 GB |
| Memori(SQLite) | SQL精确匹配 | 0.5ms | 8ms | 8,000 | 1.8 GB |
| Pinecone(p2) | 向量相似性(top-5) | 45ms | 120ms | 1,100 | 3.4 GB |
| Redis(JSON) | 键值查找 | 0.3ms | 5ms | 12,000 | 1.2 GB |
| LangChain BufferMemory | 内存中 | 0.1ms | 2ms | 20,000 | 受RAM限制 |

数据要点: 使用PostgreSQL的Memori在结构化查询方面提供了具有竞争力的延迟(p50为2ms),同时提供了比向量存储或键值存储丰富得多的查询能力。SQLite变体在开发环境中甚至更快。然而,对于纯语义搜索,向量数据库在召回质量上仍然领先——Memori的向量支持尚处于初期阶段。

与智能体框架的集成

Memori为以下框架提供了原生集成:
- LangChain:作为`BaseMemory`子类,替换默认的`ConversationBufferMemory`。
- CrewAI:作为自定义工具,智能体可调用它来存储/检索共享记忆。
- AutoGen:作为记忆服务,多个智能体可通过REST访问。
- OpenAI Assistants API:通过函数调用作为外部记忆存储。

该库还以独立Docker容器(`memorilabs/memori-server`)的形式提供,暴露REST API,支持语言无关的集成。

关键玩家与案例研究

Memori背后的团队

Memori由一个小型团队开发,成员来自前Google和Uber工程师,曾从事大规模数据基础设施工作。首席维护者Anika Sharma博士此前曾领导一家知名AI初创公司的记忆系统团队。该项目由一组专注于AI的风险投资公司联合投资的420万美元种子轮资金支持。团队的明确目标是让Memori成为“AI智能体的PostgreSQL”——一个通用的持久化层。

竞争方案

| 产品 | 方法 | 优势 | 劣势 | GitHub星数 |
|---|---|---|---|---|
| Memori | SQL原生关系型 | 结构化查询、连接、ACID、熟悉接口 | 不太适合模糊/联想回忆 | 13,854 |
| MemGPT(Letta) | 虚拟上下文 | ... | ... | ... |

更多来自 GitHub

MkDocs-Material:开源文档领域的静默革命,一切“刚刚好”MkDocs-Material,由 Martin Donath(squidfunk)维护,已崛起为基于 Python 的静态文档站点事实标准。与 Docusaurus 或 GitBook 等重量级替代方案不同,MkDocs-MaterialStarlight vs Docusaurus:为什么Astro的文档工具正在赢得开发者青睐Starlight是一个专为文档而生的框架,它利用Astro的静态站点生成能力,打造快速、易访问且视觉吸引人的文档网站。作为Astro旗下的开源项目,它已迅速积累了超过8600个GitHub星标,日均增长200星。该工具专为技术文档、APICCX Proxy:开源AI网关,挑战科技巨头的API锁定策略多个大型语言模型提供商的崛起,给开发者带来了新的基础设施难题:API密钥泛滥。由开发者Benedict King创建的极简API代理CCX,通过提供一个单一端点,将请求路由到Anthropic的Claude、Google的Gemini和Op查看来源专题页GitHub 已收录 2534 篇文章

相关专题

multi-agent systems183 篇相关文章

时间归档

April 20263042 篇已发布文章

延伸阅读

CrewAI Tools:模块化武器库,驱动多智能体AI工作流作为CrewAI多智能体框架的官方扩展库,CrewAI Tools凭借模块化、预构建的工具集,正大幅加速生产级智能体工作流的开发。本文深度解析其架构设计、竞争定位,以及对AI智能体生态的战略影响。CrewAI:驱动下一代自主AI智能体浪潮的框架CrewAI作为构建多智能体AI系统的领先开源框架,已累计超过53,000个GitHub星标。本文深度解析其技术架构、竞争定位,以及对企业自动化与AI研究的深远影响。Agent Scripts:重塑AI自动化基础设施的模块化工具包一个名为 steipete/agent-scripts 的 GitHub 仓库正以惊人速度崛起,提供一套专为 AI Agent 项目设计的模块化脚本集合。凭借超过 4200 颗星标和日均 1261 的增长量,该工具包正将自己定位为自动化与多Coral SQL层:AI智能体缺失的基础设施Coral是一个开源项目,为API、文件和实时数据源提供统一的SQL接口,专为AI智能体打造。通过将异构数据抽象为可查询的表,它有望大幅简化智能体跨数据孤岛检索和操作信息的方式。

常见问题

GitHub 热点“Memori: The SQL-Native Memory Layer That Could Fix AI Agents' Amnesia Problem”主要讲了什么?

Memori is an open-source, LLM-agnostic memory infrastructure designed to give AI agents and multi-agent systems a structured, persistent, and queryable state layer. Unlike vector d…

这个 GitHub 项目在“Memori vs MemGPT comparison”上为什么会引发关注?

Memori's architecture is deceptively simple: it is a lightweight Python library that wraps a PostgreSQL (or SQLite for development) backend, exposing a set of high-level APIs for agents to store and retrieve memories. Bu…

从“Memori SQL query examples for agents”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 13854,近一日增长约为 108,这说明它在开源社区具有较强讨论度和扩散能力。