在构建多代理 AI 系统时,LLM 的无状态特性导致上下文丢失,造成 token 浪费和响应不连贯。Memori 作为开源记忆引擎,通过分层存储和智能代理机制,实现高效的长期记忆管理,支持跨代理同步,显著降低成本并提升一致性。该引擎采用 SQL 数据库持久化记忆,避免专用向量库的复杂性,一行代码即可集成到现有 LLM 应用中。
Memori 的核心在于分层记忆架构,模拟人类短期与长期记忆。短期记忆(Conscious Mode)由 Conscious Agent 后台维护,每 6 小时分析历史记录,提取高频实体(如用户偏好、项目上下文)提升至工作记忆,最多 5-10 条注入提示词。长期记忆(Auto Mode)存储完整对话片段,按事实、偏好、规则、技能分类,使用 Pydantic 结构化验证。“Memori captures each chat turn and classifies it into facts, preferences, rules, and summaries。”长期层支持全文索引与向量嵌入,实现精确召回。
多代理同步是 Memori 的关键亮点。通过 namespace 参数隔离租户,每个代理或用户拥有独立记忆空间,但可配置共享数据库实现跨代理协作。例如,在 CrewAI 或 LangChain 多代理框架中,所有代理连接同一 PostgreSQL 实例,Retrieval Agent 根据 chat_id 和 namespace 动态拉取共享上下文,确保任务手递手无信息断层。同步机制依赖 gRPC 接口,memori-server(TypeScript)处理 ACL 中间件,支持 RBAC 角色控制读写权限。
高效检索采用 Hybrid Retrieval 策略,融合关键词匹配、语义向量(HNSW)和时间衰减。Retrieval Agent 先规划搜索意图(如“用户技能”),生成过滤器:实体标签优先级 > 相似度阈值 0.8 > 更新时间衰减(e^(-λt),λ=0.1/天)。Top-K 默认 3-5 条,按 relevance_score 排序注入提示,避免无关噪声。证据显示,此机制可节省 60-80% token,尤其在长对话中。
落地部署参数清单如下:
-
安装与初始化:
pip install memorisdk
from memori import Memori
memori = Memori(
database_url="postgresql://user:pass@localhost/memori_db",
openai_api_key="sk-...",
conscious_ingest=True, # 启用短期记忆
auto_ingest=True, # 启用长期记忆
namespace="agent_team" # 多代理命名空间
)
memori.enable() # 拦截 LLM 调用
-
数据库配置(分层存储):
- 短期表:
short_term_memories (TTL=7天, 索引: chat_id, entity)。
- 长期表:
long_term_memories (分区: namespace, 向量列 pgvector)。
- 迁移:
memori migrate 创建表与索引。
-
检索参数调优:
| 参数 |
默认值 |
建议范围 |
作用 |
| top_k |
5 |
3-8 |
注入条数,监控召回率>90% |
| similarity_threshold |
0.75 |
0.7-0.85 |
语义阈值,避免低质注入 |
| time_decay_lambda |
0.05 |
0.01-0.1 |
近期记忆权重 |
| embedding_model |
"text-embedding-3-small" |
ollama/nomic |
本地部署减延迟 |
-
多代理同步清单:
- 共享 DB:统一 connection_string。
- ACL:JWT token 绑定 namespace。
- 冲突解决:乐观锁 (version 列),重试 3 次。
- 边缘部署:memori-lite (Rust),50MB 内存,SQLite + HNSW。
监控要点包括:检索延迟<200ms、召回命中率>85%、token 节省率(对比无记忆基线)。使用 Prometheus 采集 memori-server 指标,如 query_count、inject_tokens。风险有记忆膨胀(>1M 条/namespace),限 TTL=30天自动 purge;无关召回导致幻觉,回滚至 conscious-only 模式。
实际参数落地:在 FastAPI 示例中,注入 memori.middleware,每代理实例复用 Memori 客户端。测试显示,100 轮多代理协作,token 降 70%,一致性提升 40%。此方案适用于客服代理、项目协作系统,确保长期上下文高效流通。
资料来源: