技术深度解析
Engram的架构代表了从记忆作为缓存到记忆作为基础设施的范式转变。其核心是一个分层存储系统,根据持久性需求和访问模式分离不同类型的记忆。
核心记忆引擎分为三个不同层级:
1. 情景记忆:以高保真度存储特定事件、互动和时间戳。采用时间序列数据库与向量嵌入相结合的方式实现时间与语义检索。
2. 语义记忆:包含提取的事实、偏好和通用知识。该层使用图数据库维护概念之间的关系,并从情景输入中持续整合。
3. 程序记忆:编码已学技能、工具使用模式和成功工作流。以可执行代码片段或参数化模板形式存储,代理可根据新情况进行调整。
漂移检测系统是Engram最具创新性的组件。它采用多模态方法识别存储记忆变得不可靠的情况:
- 嵌入漂移分析:定期使用更新的嵌入模型重新嵌入存储记忆,并与原始嵌入进行余弦相似度比较。显著下降会触发审查标志。
- 矛盾检测:使用逻辑蕴含模型检查新代理输入与现有语义记忆之间的关系。矛盾不会自动覆盖记忆,而是创建随时间衰减的信心分数。
- 时间衰减函数:不同类型的记忆具有定制的半衰期。稳定API的程序记忆衰减缓慢,而关于易变信息(如股票价格)的情景记忆则快速衰减。
- 与外部来源交叉验证:对于事实性记忆,Engram可以可选地查询经过验证的知识库,确认存储信息未被取代。
API本身提供了一些新颖的原语:
```python
# 核心Engram API概念
memory.store("episodic", event, metadata={timestamp, confidence})
memory.retrieve("semantic", query, recency_bias=0.3)
memory.consolidate() # 将重要情景记忆转移到语义层
memory.drift_scan() # 返回可能过时的记忆列表
memory.prune(low_confidence_threshold=0.7)
```
Engram开发团队最近的基准测试显示了长期一致性的积极结果:
| 记忆系统 | 30天保留准确率 | 漂移检测精度 | 记忆损坏率 |
|---------------|---------------------------|---------------------------|------------------------|
| Engram v0.8 | 94.2% | 88.7% | 1.3% |
| 简单向量DB | 67.5% | N/A | 12.8% |
| 仅会话 | 0% | N/A | N/A |
| LangChain Memory | 41.2% | 22.1% | 18.9% |
数据要点: Engram的专用架构相比通用向量数据库或会话绑定方法,显著提高了长期准确性,其漂移检测系统成功在影响代理性能前识别出大部分记忆损坏。
在GitHub上,`engram-ai/memory-core`仓库在公开发布三个月内获得了4.2k颗星。代码库主要用Rust编写存储引擎,同时提供Python绑定,强调性能和内存安全。最近的提交显示,正在积极开发分布式记忆同步和压缩算法,用于大规模部署。
关键玩家与案例研究
持久记忆竞赛涉及来自AI生态系统不同部分的多种方法:
开源挑战者:
- Engram:定位为纯粹的基础架构方案,通过干净的API和稳健的工程吸引开发者采用。其策略似乎是在大型玩家主导该领域之前建立标准。
- MemGPT:由加州大学伯克利分校主导的学术项目,率先提出了LLM的分层记忆管理概念。虽然创新,但更多聚焦于研究而非生产就绪。
- AutoGen与可对话代理记忆:微软的多代理框架包含记忆功能,但将其视为协调逻辑的次要部分。
具备记忆功能的商业平台:
- Anthropic的Claude:在企业部署中实现了200K上下文窗口和一些跨会话记忆,但此功能仍为黑盒特性,而非开发者可控的API。
- OpenAI的GPTs与自定义动作:允许通过外部数据库连接实现持久性,但要求开发者从头构建记忆系统。
- Cognition的Devin:自主编码代理在软件项目中展示了出色的程序记忆,但其记忆实现保持专有。
企业解决方案:
- Salesforce Einstein Copilot记忆:为客户特定场景实施客户记忆,跟踪交互历史记录