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

Gorilla BFCL基准测试:大模型工具调用霸主地位的隐秘战场伯克利函数调用排行榜(BFCL)作为UC Berkeley Gorilla项目的核心组件,已跃升为业界评估大模型函数调用能力的黄金标准——即根据自然语言指令正确选择并执行API调用的能力。与测试知识或推理能力的通用基准不同,BFCL聚焦于工Agent Skills:让AI编程代理走向生产环境的实战手册Addy Osmani的agent-skills仓库绝非又一套提示词合集——它是一套经过工程验证的系统化实战手册,旨在让AI编程代理真正具备生产就绪能力。该项目直击一个关键鸿沟:令人惊艳的LLM演示与能在CI/CD流水线、代码审查、重构工作OpenLane-V2:让自动驾驶真正“看懂”道路逻辑的标杆基准OpenLane-V2代表了自动驾驶社区评估感知系统的根本性转变。以往的基准如原始OpenLane、ApolloScape或BDD100K几乎只关注像素级车道分割或2D边界框,将每条车道视为孤立实体。OpenLane-V2引入了拓扑推理的概查看来源专题页GitHub 已收录 1090 篇文章

相关专题

multi-agent systems138 篇相关文章

时间归档

April 20262509 篇已发布文章

延伸阅读

Fetch.ai AEA框架:构筑自主经济,从每一个智能体开始Fetch.ai的Agents-AEA框架是对未来去中心化数字经济的核心押注:一个由自主AI智能体进行交易与协作的世界。本文深入剖析其技术架构、现实应用场景,以及这一愿景从惊艳原型迈向普适基础设施层所必须跨越的严峻挑战。微软APM:AI智能体革命缺失的基础设施层微软悄然启动了一项可能奠定AI智能体生态基础的开源项目——Agent Package Manager(APM)。它被定位为“AI智能体的pip”,旨在解决当前困扰智能体开发的依赖管理、分发与部署等混乱难题。此举标志着微软意图塑造下一代AI基ChatDevDIY:可定制AI智能体框架如何重塑软件开发民主化以slippersheepig/ChatDevDIY为代表的可定制化分支项目,正推动AI辅助软件开发进入关键转折点。它们让开发者能够修改和扩展核心ChatDev框架,突破“一刀切”方案的限制,转向可根据团队需求与项目特性灵活定制的个性化AIKatanemo推出Plano:AI原生基础设施层,或将解锁生产级智能体系统前AWS首席工程师创立的初创公司Katanemo近日开源了Plano项目,这是一个专为AI智能体设计的原生代理与数据平面。它旨在通过抽象编排、安全、可观测性及LLM路由等复杂底层逻辑,让开发者能聚焦于智能体业务逻辑本身,为构建复杂、生产级的

常见问题

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,这说明它在开源社区具有较强讨论度和扩散能力。