跳到主要内容
版本:Future

对比、优缺点及路线图

Engram 与自动内存引擎处于不同的内存生态空间。它重点针对人类所有权、可评审性和可移植性进行了优化。

Engram 的优势

  • 纯文本 Markdown 格式的事实唯一来源(source of truth)。
  • 持久写入前必须经过人类批准。
  • Git 原生的审计历史与同步。
  • 工作区优先(workspace-first)和全局后备(global-fallback)的内存分级。
  • 独立于智能体:任何智能体都可以直接读取 Markdown。
  • 安全保障层:Schema 校验、秘密扫描、注入扫描、哈希完整性校验和忽略规则。
  • 不需要运行常驻进程(daemon)、数据库或云端账户。
  • 导入、观察、归档、图谱、基准测试和修复流程为长期维护提供支持。

Engram 的权衡点 (Tradeoffs)

  • 自动化程度低于基于常驻守护进程(daemon)的内存系统。
  • 默认搜索是确定性的词汇搜索;search --semantic 增加了确定性的局部相似度匹配,而不是基于第三方向量模型服务的语义搜索。
  • 图谱向量是局部哈希的词向量,而不是高维语义嵌入。
  • 矛盾检测是启发式且仅具建议性的。
  • deduplicate --semantic 使用确定性的局部相似度,不调用外部向量服务。
  • 模式挖掘、加密配置和 PR 工作流设计资产虽已存在,但在运行时的完整工作流尚未完全打通。
  • 内存图谱完全依赖于自动生成的标签和摘要。

与 Agentmemory 的对比

rohitg00/agentmemory 是一个适用于编码智能体的强大的自动内存引擎。其 README 介绍了基于服务器的内存、MCP/hooks/REST 集成、许多智能体适配器、基准测试声明、查看器、回放功能、混合检索以及 Hermes 集成。

当您需要自动捕获、实时查看器/回放、向量检索、多个 MCP 工具和服务器端共享内存时,请使用 agentmemory

当您希望内存成为仓库可读的协议时,请使用 Engram:Markdown 优先、人类批准、Git 评审,即使没有运行中的服务器也能跨智能体移植。

对比维度Engramagentmemory
唯一事实来源批准的 Markdown 文件内存服务器 / 数据库
信任边界人类 A/B/C 批准自动捕获加工具治理
默认模式文件协议,不需要常驻进程推荐运行后台服务
评审机制Git diff 和 Markdown 评审查看器/API 和存储的会话
最合适场景需要所有权和可审计性的团队需要自动召回和回放的个人用户
风险点需要更多的手动纪律规范除非严密治理,否则会产生更多隐性状态

与 Hermes Agent 的对比

总结 (TL;DR)

EngramHermes Agent
设计哲学人类所有、文件优先的协议 (可选自动执行)自主、始终激活的内存
存储方式.agents/.engram/ 中的分类 Markdown 文件MEMORY.md + USER.md (硬性字符限制)
写入模型默认由人类批准 (A/B/C 闸门;可通过规则自动执行)智能体自主写入
召回机制按需:engram load "<任务>" 注入相关文件始终开启:每个会话的核心文件冻结到系统提示词中
向量搜索可选本地 sqlite-vec (确定性,非嵌入支持)通过外部提供商 (例如 agentmemory — BM25 + 向量)
跨智能体任何可读取文件的智能体都可使用 Engram 内存Hermes 核心是单智能体;通过 agentmemory 插件实现跨智能体
可移植性Git 原生、离线优先、纯 Markdown本地文件;外部提供商可能会引入云端锁定
运行开销无需后台守护进程,需要保存纪律 (除非配置了自动化)服务器进程 + 查看器 UI、REST API、MCP 服务器

存储格式

Engram 将每个内存存储为带有 YAML 前言(frontmatter)、哈希完整性校验和可选依赖图(depends_on)的分类 Markdown 文件。JSON 索引、图谱和 sqlite-vec 侧车(sidecar)作为加速层——Markdown 是唯一事实来源。

Hermes 将所有持久内存压缩为两个受限文件:

  • ~/.hermes/memories/MEMORY.md —— 智能体笔记,上限为 2,200 个字符
  • ~/.hermes/memories/USER.md —— 用户画像,上限为 1,375 个字符

硬性字符限制促使智能体去精选而不是累积。会话历史记录可通过 SQLite FTS5 进行搜索。


写入模型

Engram —— 默认采用明确的人类闸门。智能体提出候选内存;人类必须在写入磁盘前进行批准。机密信息和提示词注入扫描在保存时进行。 (注:用户可以通过保存一条规则来选择自动执行此过程,例如在回复完成时自动保存智能体新提议的内存,从而建立自动保存流程)。

Hermes —— 自主。智能体决定写什么以及何时写,仅受字符上限约束。核心循环中无需人类批准。


召回模型

Engram —— 按需路由。engram load "<任务>" 根据标签、类型、时效性、图谱和可选向量信号对候选进行重新排序,然后将紧凑包(默认 8 个文件)注入到上下文。

Hermes —— 始终激活的注入。会话开始时核心文件会被冻结到系统提示词中。可选的外部提供商(例如 agentmemory)在每次 LLM 轮次之前运行预取,并在之后进行同步。


何时使用哪个

当您需要可审计、经人类审查的内存、通过 Git 共享团队内容、隐私保证或跨工具的智能体无关可移植性时,使用 Engram (并可选择通过自定义规则自动保存)。

当您希望内存无需保存纪律自动累积、始终开启的上下文注入,或具有查看器、REST API 和可插拔向量后端的更丰富运行时环境时,使用 Hermes


与智能体内置内存的对比

内置的智能体内存很方便,但通常与单个主机绑定。它可能难以进行对比(diff)、导出、评审或与其他智能体共享。

Engram 将内置内存视为便利层,而不是权威来源。权威仍然是人类拥有的文件。

路线图想法

  • 用于图谱向量和搜索的可选局部嵌入(embedding)提供程序。
  • 更好的图谱诊断,用以解释特定内存被路由的原因。
  • 签入仓库的基准测试基准数据(fixtures),以便跟踪召回率是否下降。
  • 结合图谱、质量检查和归档的更强大的矛盾冲突评审工作流。
  • 针对 agentmemory 各种导出变体的更多导入测试。
  • 用于语义重复项检测的可选外部嵌入提供程序。
  • 能够在报告无效内存文件后提议修复方案的修复(repair)工作流。

下一步:返回到首页