Memori 作为开源 SQL 原生记忆引擎,通过分层存储架构(短期工作记忆与长期记忆)与多代理协作,实现 LLM 和 AI 代理的长时记忆持久化,避免传统向量数据库的高成本与黑箱问题。其核心优势在于语义去重与紧凑机制,能自动提炼本质信息,同时支持多代理场景下的同步,确保跨会话与跨代理上下文一致性。
分层存储架构:短期 vs 长期记忆
Memori 的数据库 schema 明确划分了 short_term_memory(短期记忆表)和 long_term_memory(长期记忆表)。短期记忆存储高频、近期或高重要性对话摘要,用于快速注入;长期记忆则保留完整处理后的实体、关系与推理,用于深度检索。这种分层设计模仿人类记忆机制:短期记忆容量有限(默认 5-10 条),长期记忆则通过 FTS(全文搜索)索引支持海量扩展。
证据显示,short_term_memory 字段包括 importance_score、frequency_score、recency_score 等复合评分,确保注入内容精炼。“Conscious Agent 每 6 小时分析长期记忆模式,将本质对话提升至短期存储。” 长期记忆则关联 chat_history、memory_entities(实体表)和 memory_relationships(关系表),支持复杂查询如实体关联检索。
落地参数:
- 数据库初始化:使用
database_connect="sqlite:///my_memory.db"本地测试;生产 PostgreSQLpostgresql://user:pass@host/memori,启用连接池pool_size=20。 - 表优化:自动创建 FTS 虚拟表
memory_fts,索引idx_memory_importance ON long_term_memory(importance_score DESC),查询延迟 <50ms。 - 记忆阈值:短期记忆
expires_at设置 7 天;长期retention_policy="30_days"自动清理低分记录(importance_score < 0.5)。
语义去重与紧凑:Conscious Agent 驱动
Memori 的自动去重不依赖 embedding,而是通过代理智能分析实现语义紧凑。Memory Agent 先处理对话,提取实体并分类(facts、preferences、skills、rules);Conscious Agent 则批量扫描长期记忆,基于模式识别(如重复实体)进行去重与摘要生成,仅保留高价值片段提升至短期。
例如,在多轮对话中,重复提及 “FastAPI 项目” 会被紧凑为单一 summary:“用户偏好 FastAPI 框架,用于用户管理接口。” 这避免了 token 浪费,节省 80-90% 上下文成本。
可落地清单:
- 启用
conscious_ingest=True,触发背景分析:memori.trigger_conscious_analysis()手动运行。 - 代理模型:
default_model="gpt-4o-mini",API 密钥环境变量MEMORI_AGENTS__OPENAI_API_KEY。 - 去重规则:自定义
retention_type过滤category="facts"优先级 >0.7;监控copied_count日志,确保 >80% 成功率。 - 紧凑参数:
limit=5短期注入条数;复合评分公式score = 0.4*importance + 0.3*frequency + 0.3*recency,阈值 0.6 以上推广。
风险控制:代理失败时降级至基本 FTS 搜索;异常重连指数退避(初始 1s,max 60s)。
多代理同步:Namespace 与检索隔离
多代理系统(如 CrewAI、AutoGen)需共享记忆而不冲突,Memori 通过 namespace 和 user_id 实现隔离同步。每个代理 / 用户有独立命名空间,Retrieval Agent 在 auto_ingest 模式下动态搜索全库,但过滤 namespace="production"。
架构中,DatabaseManager.search_memories(query, namespace, limit=5) 支持语义 + 分类 + LIKE 多阶段搜索,rerank 后注入 top 3-5 条。FastAPI 多用户示例展示:/chat/{user_id} 路由隔离记忆,确保代理间同步如 “代理 A 学到技能,代理 B 立即检索”。
工程参数:
- 同步配置:
MEMORI_MEMORY__NAMESPACE="multi-agent-team";多用户session_id+user_id复合键。 - 检索策略:阶段 1 FTS (score=1.0);阶段 2 分类 (0.6);阶段 3 LIKE (0.4);最终
_rank_results限 5 条,token <250。 - 监控点:Prometheus 指标
memory_growth(DB 大小)、search_latency(<100ms)、context_effectiveness(响应质量提升 2x)。 - 回滚策略:
auto_ingest=False纯 conscious 模式;缓存失效 TTL 5min。
生产部署清单
- 集成:
pip install memorisdk,memori = Memori(conscious_ingest=True, auto_ingest=True); memori.enable()。 - 性能调优:批量存储
batch_size=100;异步代理async def process()。 - 安全:RBAC 访问
namespace;加密敏感实体metadata JSON。 - 扩展:Neon/Supabase 云 DB;自定义 Agent 继承
BaseAgent。
Memori 的分层 + 代理设计,使长时记忆从 “存储” 转向 “智能管理”,适用于代理密集场景。实际部署中,结合日志监控 importance_score 分布,确保 90% 查询命中率。
资料来源: