Hermes 架构:记忆体系、路由原则与知识生命周期

本文档定义了 Hermes 的三层记忆架构、查询路由决策矩阵、知识生命周期闭环、架构决策记录(ADR)以及系统演化历史。


一、三层记忆架构

Tier 1: agentmemory 🟢 生产运行
  └─ 高频短事实、用户偏好、项目状态
  └─ REST API :3111 / MCP 子进程
  └─ 查询 ≈ 0.5 秒

Tier 2: globalkg.json 🟢 生产运行
  └─ 技术实体与关系图谱(17MB / ~19K 实体)
  └─ 文件查询/ kg-deep-recall.sh --tier2
  └─ 查询 ≈ 0.2 秒

Tier 3: Cognee 🟡 按需 CLI
  └─ 深度推理、多跳分析、实验假设
  └─ cognee-query.py / --tier3
  └─ 查询 ≈ 数秒至数十秒

Obsidian 🟢 长期档案
  └─ 人工可读的权威知识库
  └─ SMB 挂载 /mnt/win-obsidian/

二、查询路由决策矩阵

这是社区最关心的问题:哪类问题走哪条路?

用户问题 路由 原因
"昨天讨论的部署方案是什么" session_search 对话历史,不可持久化
"Hermes 当前监听哪些端口" agentmemory 高频短事实,需要持久
"BOPP 薄膜有什么特性" globalkg 技术知识图谱,结构查询
"结合十篇论文提出新假设" Tier 3 Cognee 多跳推理,需 LLM 综合
"上次部署出了什么错" session_search 历史记录,不是知识
"厦门旅游攻略怎么做" Obsidian / 博客 完整文档,可读性优先
"系统资源使用情况" 直接命令 实时数据,不存记忆
"我的 MinIO 密钥是什么" agentmemory 持久但引用,不暴露原文

一句话规则:

对话历史         → session_search
高频短事实       → agentmemory
技术关系查询     → globalkg
深度推理          → Cognee CLI
完整文档          → Obsidian
实时状态          → 直接命令

三、知识生命周期

原始资料(RSS / 公众号 / 论文 / 笔记片段)
      │
      ▼
  010-Inbox(Obsidian)  ← 每日 08:00 自动处理
      │
      ▼
  自动分类 → 自动打标 → 自动双链
      │
      ├── 短事实 → agentmemory(Tier 1)
      │              │
      │              ▼
      ├── 技术关系 → globalkg(Tier 2)
      │              │
      │              ▼
      ├── 深度关联 → Cognee(Tier 3,按需)
      │
      ▼
  030-相关知识(Obsidian 正式笔记)
      │
      ▼
  博客发布(Go-TeBlog)
      │
      ▼
  040-Archive(历史归档,只读)

闭环原则: 知识从原始输入到归档,每个环节职责明确。不跨层存储,不重复加工,不过期不清理仅归档。


四、架构决策记录(ADR)

ADR 001:为什么保留 agentmemory

项目 内容
背景 需要持久记忆层,曾考虑 Mem0、Graphiti、自建 SQLite
决策 选用 agentmemory(MCP 协议 + iii-engine 存储引擎)
原因 原生支持 Hermes MCP 协议;三层(记忆/语义/概念)搜索开箱即用
代价 容器依赖、iii-engine 二进制维护
替代方案 Mem0(REST API 成熟,但非 MCP 原生)

ADR 002:为什么 Cognee 不常驻

项目 内容
背景 Poe 阶段实现了 Cognee 数据构建,是否需要常驻 API
决策 保持 CLI 按需调用,不部署常驻
原因 低频查询不值得常驻(一天≈0-2次);避免 LLM 成本、内存占用、健康检查
代价 每次查询数秒启动延迟
升级条件 当日志查询 > 5 次/天后考虑部署 API 服务

ADR 003:为什么 Obsidian 是最终档案

项目 内容
背景 需要人工可读的长期知识存档,不能依赖任何 AI 系统
决策 Obsidian SMB 挂载为最终权威源
原因 纯 Markdown 不锁定格式;双向链接支持知识图谱;版本可控
替代方案 Notion(锁定+联网依赖);Logseq(列表型不适合长文)

ADR 004:为什么用 Tailscale 而非 WireGuard 直连

项目 内容
决策 Tailscale 作为首选组网
原因 自动 NAT 穿透;密钥轮换内置;DERP 中继兜底
代价 依赖第三方控制面

五、系统演化历史

v0.1(2025 末)
  └─ 无记忆系统,纯会话助手

v0.3(2026 初)
  └─ 引入 agentmemory,基础记忆能力

v0.5(2026 春)
  └─ 加入 Obsidian 知识库,SMB 挂载
  └─ Inbox 自动处理流水线

v0.8(2026 中)
  └─ PAOS 启动,分层知识图谱设计
  └─ Cognee 数据处理管线(PoC)
  └─ globalkg.json 上线

v1.0(当前)
  └─ Tier 1 agentmemory(生产)
  └─ Tier 2 globalkg.json(生产)
  └─ Tier 3 Cognee CLI(按需)
  └─ 统一查询入口 kg-deep-recall.sh
  └─ 三级部署流水线
  └─ Hermes 宪章(本系列)

设计哲学: 每一次演化的驱动力不是"别人用了什么",而是"当前哪里最痛"。没有记忆时加记忆,知识散乱时建图谱,推理不足时补 Cognee。不为了技术而技术。


下一篇:《Hermes 运维手册:基础设施、部署流水线与工具链》

标签: none

暂无评论

评论已关闭

此文章的评论功能已关闭。