如果只看表层功能,OpenHuman 和 Hermes 都在讲“长期记忆”“个人 AI”“越用越懂你”。但如果拆到架构层,它们其实在解决两个不同问题:

OpenHuman 解决的是:Agent 如何快速获得你的个人上下文。
Hermes 解决的是:Agent 如何在长期使用中沉淀经验、偏好和技能。

换句话说,OpenHuman 更像是一个 个人数据记忆树 / RAG 知识库系统;Hermes 更像是一个 自我学习型 Agent 的经验管理系统


一、先看最核心的架构分野

现代 Agent 记忆通常可以拆成三个动作:写入、管理、读取。也就是:什么信息值得存、怎么组织这些信息、什么时候把它们取出来辅助决策。2026 年一篇关于 LLM Agent Memory 的综述也把 Agent 记忆概括为与感知和行动耦合的 write–manage–read 循环。(arXiv)

放到 OpenHuman 和 Hermes 上,可以得到这个对比:

维度OpenHumanHermes
记忆对象邮件、文档、日历、代码仓库、聊天记录等外部数据用户偏好、环境事实、项目约定、历史会话、任务经验、Skills
写入方式连接外部工具后自动同步、压缩、写入 Memory TreeAgent 在交互和任务执行中主动写入 memory / user profile / skills
存储形态Markdown chunks + SQLite + Obsidian vault + 层级摘要树MEMORY.mdUSER.md、SQLite session DB、skills 文件、外部 memory provider
主要目标快速构建“关于你的知识库”长期形成“关于如何帮你的经验系统”
更像什么个人 RAG / AI Obsidian / Memory GraphAgent 工作笔记 + 用户画像 + 程序性记忆

这就是二者最本质的区别:OpenHuman 记的是你的资料世界,Hermes 记的是它和你一起工作时学到的东西。


二、OpenHuman:从外部数据构建 Memory Tree

OpenHuman 的记忆架构是典型的 数据摄入驱动

它的官方 README 明确强调 118+ 第三方集成,支持 Gmail、Notion、GitHub、Slack、Stripe、Calendar、Drive、Linear、Jira 等工具;每个连接都会作为 typed tool 暴露给 Agent,并且核心系统每 20 分钟遍历活跃连接,把新数据拉入 memory tree。(GitHub)

这意味着 OpenHuman 的记忆不是主要靠“你和它聊天慢慢教会它”,而是靠连接你的工作流工具后,主动把已有信息世界搬进来。

它的记忆数据流大致是:

Gmail / Notion / GitHub / Slack / Calendar / Drive ...
        ↓
auto-fetch 自动同步
        ↓
规范化为 ≤3k-token Markdown chunks
        ↓
打分、压缩、折叠进层级摘要树
        ↓
SQLite 本地存储
        ↓
同步生成 Obsidian-compatible Markdown vault
        ↓
Agent 检索、读取、使用

OpenHuman 官方说明,连接的数据会被 canonicalized 成不超过 3k token 的 Markdown chunks,然后被 scored,并折叠进 hierarchical summary trees,存储在本机 SQLite 中;同样的 chunks 还会落地为 .md 文件,放进可用 Obsidian 打开的 vault。(GitHub)

所以,OpenHuman 的设计重点不是“Agent 做完一个任务以后总结经验”,而是:

如何把用户分散在各处的数据,变成一个 Agent 可读、用户可浏览、可编辑的长期知识库。

它更像一个自动化版的 个人知识管理系统。只不过传统 Obsidian 是人手动写笔记,OpenHuman 是把你的邮件、文档、聊天、代码仓库自动压缩整理成 Agent 也能读懂的记忆树。


三、Hermes:小型常驻记忆 + 会话检索 + Skills

Hermes 的记忆架构完全不同。

它的核心不是大规模摄入外部资料,而是把 Agent 长期运行过程中学到的内容分层沉淀。官方文档说,Hermes 的 persistent memory 由两个文件组成:MEMORY.mdUSER.md。前者用于保存环境事实、约定和学到的东西;后者用于保存用户偏好、沟通风格和期望。两者都存放在 ~/.hermes/memories/,并在 session 开始时作为 frozen snapshot 注入 system prompt。(Hermes Agent)

这套设计非常克制。Hermes 文档给出的限制是:

文件作用字符限制
MEMORY.mdAgent 的个人笔记:环境事实、项目约定、经验教训2,200 chars
USER.md用户画像:偏好、沟通风格、期望1,375 chars

这说明 Hermes 的常驻记忆不是“越多越好”,而是“少而关键”。因为这些内容会进入系统提示词,所以它必须控制 token 成本和干扰噪声。

Hermes 的基础记忆链路大致是:

用户对话 / 任务执行 / 用户纠正 / 项目经验
        ↓
Agent 判断是否值得长期保存
        ↓
写入 MEMORY.md 或 USER.md
        ↓
下次 session 开始时注入 system prompt
        ↓
影响后续行为和决策

此外,Hermes 还有一个重要补充:session search。除了 MEMORY.mdUSER.md,Hermes 会把 CLI 和 messaging sessions 存储到 SQLite 的 ~/.hermes/state.db,并用 FTS5 做全文搜索;这些历史会话不会全部进入上下文,而是在需要时按需检索。(Hermes Agent)

这就形成了一个很清晰的分层:

常驻记忆:MEMORY.md / USER.md
    ↓
保存最关键、最常用、最应该一直知道的信息

历史记忆:SQLite + FTS5 session search
    ↓
保存所有历史会话,需要时再查

程序性记忆:Skills
    ↓
保存“做某类任务的方法”

Hermes 官方也把 skills 称为 procedural memory,也就是程序性记忆:它们是针对重复任务类型的可复用方法,Agent 在解决困难问题后可以创建,并在类似任务出现时自动加载。(NOUS RESEARCH)

所以 Hermes 的记忆系统不是一个单纯的知识库,而更像一个 Agent 的“成长机制”:

它记住用户是谁,记住项目环境是什么,记住以前聊过什么,更重要的是记住某类任务以后应该怎么做。


四、一个记“资料”,一个记“经验”

可以用一句话概括:

OpenHuman:用户已有数据 → 压缩整理 → 个人知识库 → Agent 使用

Hermes:Agent 工作过程 → 抽取事实/偏好/经验 → 记忆与 Skills → 下次做得更好

这也是两者体验差异的来源。

OpenHuman 追求的是 冷启动快。你连接 Gmail、Notion、GitHub、Calendar 等工具,它就能在较短时间内获得你的邮件、文档、会议、仓库、消息上下文。OpenHuman README 甚至直接强调 “Context in minutes, not weeks”,也就是不需要等 Agent 观察你几周,而是通过同步和压缩快速获得上下文。(GitHub)

Hermes 追求的是 长期使用后变强。它的官方文档称 Hermes 是 self-improving AI agent,会从经验中创建 skills,在使用中改进它们,并跨 session 建立用户模型。(Hermes Agent)

所以你可以这样理解:

OpenHuman 的记忆像“外部大脑”。
它把你的资料、邮件、文档、聊天、日历变成一个可检索的个人知识库。

Hermes 的记忆像“工作经验”。
它把你们一起完成任务时形成的偏好、约定、错误修正和操作流程沉淀下来。


五、从 RAG 角度看:OpenHuman 更像 RAG,Hermes 更像 Agent Memory Loop

如果用 RAG 系统的语言重新描述,OpenHuman 的架构非常接近一个个人化 RAG 系统:

Connectors
  → Auto-fetch
  → Markdown chunking
  → Compression / scoring
  → Hierarchical summaries
  → SQLite / Obsidian vault
  → Retrieval for agent

它的关键问题是:如何把异构个人数据变成可管理、可检索、可解释的上下文。

Hermes 则更像 Agent Memory Loop:

Interaction
  → Memory write decision
  → Persistent memory update
  → Session search
  → Skill creation / improvement
  → Future task behavior changes

它的关键问题是:如何让 Agent 从一次次任务中形成稳定的偏好、经验和技能。

因此,OpenHuman 的记忆更偏 declarative memory,也就是“知道什么”;Hermes 的记忆除了 declarative memory,还更强调 procedural memory,也就是“知道怎么做”。


六、工程取舍:OpenHuman 更重数据治理,Hermes 更重记忆筛选

OpenHuman 的难点在于数据摄入和组织。它要处理大量来自不同工具的数据:邮件、文档、日历、聊天、代码仓库。这类系统的核心挑战包括:

  • 如何避免同步太多垃圾信息;

  • 如何决定哪些 chunk 重要;

  • 如何维护层级摘要树的一致性;

  • 如何让用户能审查和编辑记忆;

  • 如何保证本地隐私和权限隔离。

Hermes 的难点则在于记忆写入策略。因为它的常驻记忆空间很小,所以每次写入都要非常克制。Hermes 文档也明确写到,memory 有严格字符限制,满了以后需要合并、替换或删除旧条目;同时 memory entries 还会做安全扫描,防止 prompt injection、credential exfiltration 等危险内容被写入,因为这些记忆会注入系统提示词。(Hermes Agent)

这反映出两种完全不同的工程哲学:

工程问题OpenHumanHermes
最大挑战大规模个人数据如何整理成有用上下文少量高价值记忆如何长期稳定影响行为
风险信息过载、摘要失真、隐私边界、同步污染错误记忆、过度固化偏好、prompt 注入、技能误用
优化方向chunking、summary tree、检索质量、用户可编辑性memory filtering、consolidation、session search、skill evolution

七、该怎么选?

如果你的目标是:

“我希望 Agent 快速理解我的邮件、日历、文档、代码仓库、团队聊天和工作上下文。”

那 OpenHuman 的记忆架构更适合。它的价值在于把个人数据世界统一成一个可检索的 Memory Tree。

如果你的目标是:

“我希望 Agent 长期跟我工作,记住我的偏好、项目习惯、踩坑经验,并越来越会处理重复任务。”

那 Hermes 的记忆架构更值得研究。它的价值在于把交互过程沉淀成常驻记忆、历史检索和可复用 Skills。

更进一步,如果你是从 Agent 开发视角学习,我会这样看:

OpenHuman 值得研究的是:个人知识库如何产品化。
重点看 connectors、auto-fetch、chunking、summary tree、Obsidian vault、local-first 数据管理。

Hermes 值得研究的是:Agent 如何自我改进。
重点看 persistent memory、session search、skills、memory provider、写入/合并/遗忘策略。


结论

OpenHuman 和 Hermes 都在做“长期记忆”,但不是同一种长期记忆。

OpenHuman 是把用户的外部数据世界变成 Agent 可用的长期上下文。
它偏知识库、偏 RAG、偏数据摄入,目标是让 Agent 快速拥有“关于你”的背景资料。

Hermes 是把 Agent 与用户长期协作中产生的事实、偏好、历史和技能沉淀下来。
它偏经验系统、偏自我学习、偏 procedural memory,目标是让 Agent 越用越会做事。

所以,最准确的区别不是“谁的记忆更强”,而是:

OpenHuman 让 Agent 更快认识你;Hermes 让 Agent 更久以后更懂怎么帮你。