🧠 Hermes 脑与记忆系统
类人脑全景分析:8 个脑区、探查诊断、大脑改造、认知升级路线图 · 2026-05-29 更新
一、神经通路全景:记忆的编码与读取
用户输入→记忆→回复的完整认知弧,脑区与 Hermes 区双标注:
感知输入
│
▼
[Gateway 接收] ← 丘脑:感觉中继站
│
▼
[系统提示词构建] ← 前额叶整合 + 🧬 神经递质调节 | 主配置系统:
│ 加载 config.yaml
│ 注入 MEMORY.md(🔥 前额叶工作台 | 扁平文件记忆)
│ 注入 USER.md(自我认知)
│ 加载 skills/(🔥 基底核 | 技能知识库)
│ 注入 user profile(🌡️ 海马体索引 | Holographic 事实库)
│
▼
[LLM 推理] ← 皮层思考:
│ 调用工具 → 触发其他脑区(见下方各脑区详细解剖)
│ 检测实体 → 🌤️ Gbrain 自动检索(颞叶语义记忆)
│ 是否引过去?→ 🌤️ session_search(颞叶情景记忆 | 会话存档)
│ 调用 MCP → ❄️ Trilium(外部图书馆)
│
▼
[工具执行] ← 运动皮层执行
│ 结果写回 memory(🔥 前额叶 | 扁平文件记忆)
│ 结果写回 fact_store(🌡️ 海马体 | Holographic 事实库)
│ 结果写入 gbrain / Trilium(🌤️ Gbrain → ❄️ 外部图书馆)
│
▼
[输出 → Telegram] ← 语言区输出
二、脑区图谱与深度解剖
2.1 脑区总览
| 脑区 | Hermes 区 | 温度 | 记忆载体 | 检索机制 |
|---|---|---|---|---|
| 🧬 神经递质系统 · 认知架构调节 | 主配置系统 Core Configuration |
🧬 基础层 | config.yaml, .env | 每轮 system prompt 构建时加载,修改后需 /restart |
| 🔥 前额叶皮层 · 工作记忆 | 扁平文件记忆 Memory Flat-file Store |
热 <1ms | memory tool: memories/MEMORY.md, USER.md |
每轮全量注入 system prompt,字符硬上限 14.3KB |
| 🌡️ 海马体 · 事实关联网络 | Holographic 事实库 Holographic Fact Store |
温 50-200ms | fact_store tool: memory_store.db (FTS5+Jaccard+HRR) |
三路混合检索:FTS5 40% + Jaccard 30% + HRR 30% |
| 🔥 基底核+小脑 · 自动化技能 | 技能知识库 Skills Library |
热 <1ms | skill_manage tool: skills/*/SKILL.md |
匹配即加载,即时生效,无需重启 |
| 🌤️ 颞叶 · 情景记忆 | 会话历史存档 Session Archive |
凉 200-500ms | session_search tool: state.db, sessions/*.jsonl |
FTS5 全文搜索,需主动调用,默认 Top3 |
| 🌤️ 颞叶 · 语义记忆 | Gbrain 语义检索 Semantic Knowledge Base |
凉 200-500ms | gbrain MCP: PGLite ~1240 pages (pgvector) | ⚠️ 实际贡献≈0,信息黑洞(见 2.8 评估) |
| ❄️ 外部书架 · 参考书 | Trilium 层级知识库 Hierarchical Note Database |
冷 1-10s | trilium MCP: Docker (trilium.atibm.com) | MCP tools (ETAPI 封装),需主动调用 |
| ❄️ 计算器+账本 · 精确数据 | MySQL + Git Quantitative Memory |
冷 1-10s | terminal(git/mysql): ghost:63306/hermes-oracle-at; git.atibm.com:62222/hermes-oracle-at | SQL 查询 / git CLI 操作,需主动调用 |
2.2 温度分层模型
温度不是技术的属性,而是访问策略的属性——同一个物理存储在不同场景下温度可变。温度决定 Agent 什么时候、以什么成本去访问。
温度层 延迟 容量 访问方式 脑区 Hermes 区
════════════════════════════════════════════════════════════════════════════════════
🧬 基础层 <1ms 极小 每轮加载 config 神经递质系统 主配置系统
🔥 热 <1ms 极小 始终在上下文 前额叶+基底核 记忆+技能
🌡️ 温 50-200ms 中等 关键词/实体匹配触发 海马体 事实库
🌤️ 凉 200-500ms 大 语义判断后自动触发 颞叶 会话存档+Gbrain
❄️ 冷 1-10s 极大 明确意图才查 书架+计算器 Trilium+MySQL+Git
🧬 基础层不属于记忆温度序列,而是为所有脑区设定运行参数的元配置层。
2.3 🧬 神经递质系统 | 主配置系统 (config.yaml + .env)
本质:神经递质和激素系统——决定用什么模型思考(五羟色胺水平)、连接哪些外部感知(感官输入)、执行什么节律(生物钟 cron)
- 认知通路:每轮 system prompt 构建时加载,所有后续脑区的运行模式由此决定
- 物理文件:
/opt/data/config.yaml(provider、MCP、cron、memory 限额)+/opt/data/.env(API 密钥) - 关键参数:
memory.memory_char_limit(工作台容量)、memory.provider(记忆引擎切换)、provider(思维核心) - 变更成本高:修改后必须 /restart 重启全脑——相当于全脑状态重置
2.4 🔥 前额叶工作台 | 扁平文件记忆 (memory tool)
本质:工作记忆——两页扁平便签,每轮对话神经信号必须经过这里
- 认知通路:每轮对话全量注入 system prompt → LLM 推理核心。不经过前额叶工作台的记忆是不存在的
- 记忆编码:§ 分隔的文本块,每条记忆 ≈ 一个神经脉冲序列
- 容量:8,800 字符(MEMORY)+ 5,500 字符(USER)。接近满时需"睡眠修剪"(手动裁剪)
- 双轨并行:与 🌡️ 海马体 | Holographic 事实库 同时工作。前额叶负责热工作空间,海马体负责长期索引
2.5 🌡️ 海马体索引 | Holographic 事实库 (fact_store tool)
本质:记忆索引系统——三路混合检索(FTS5 + Jaccard + HRR 代数向量),零神经网络、纯 CPU 微秒级
- 认知通路:Agent 按需检索,支持关键词搜索(FTS5)、实体探查(probe)、多实体推理(reason)、矛盾检测(contradict = 认知失调)
- 三路混合检索权重:FTS5 SQLite 全文搜索 40% + Jaccard 词集重叠 30% + HRR 哈希向量 30%。FTS5 是主力(海马体位置细胞),Jaccard 辅助(词匹配),HRR 仅做精确拼写匹配(网格细胞空间编码)
- HRR 本质:不是 Embedding 模型。每个词用 SHA-256 哈希 → 1024 维相位向量,纯代数运算,非神经网络。两个语义相关的词(如"净值"和"NAV")的向量完全不相关。这是 hash 编码的固有缺陷
- 中文支持评估:仅 FTS5(40% 权重)有效覆盖中文。Jaccard 和 HRR 都依赖
text.lower().split()空格分词,中文无空格导致整句被当一词处理。短期事实检索靠 FTS5 已够用。加 jieba 分词的边际收益有限,不建议添加。如需真正中文语义检索应替换 HRR 30% 权重为真正的 embed 模型(如 bge-small-zh) - 记忆巩固:fact_feedback ≈ 睡眠中记忆重放——每次反馈更新 trust_score,好记升温、坏记降温
- 容量:50 条事实,无字符上限
2.6 🔥 基底核 | 技能知识库 (skill_manage tool)
本质:自动化技能——学会后不用思考就能执行,基底核+小脑
- 认知通路:每次 system prompt 构建时扫描所有 SKILL.md,匹配即加载
- 技能习得:复杂任务成功 5+ 步骤后保存为技能 ≈ 运动皮层反复训练后存入基底核
- 技能修正:skill_manage(patch) 立即生效,无需重启 ≈ 即时神经可塑性
- 现状:26 类 50+ 技能,相当于已学会的 50 种"肌肉记忆"
2.7 🌤️ 颞叶情景记忆 | 会话存档 (session_search tool)
本质:情景记忆——"我记得我们上次说过……"
- 认知通路:需我主动调用 session_search ≈ 需要海马体给出检索线索才能回忆
- 存储:sessions/*.jsonl(~223 MB)逐会话持久化 + state.db(~176 MB, 90 天自动清理)
- 检索:FTS5 全文搜索,关键词 OR 组合,默认 Top3
- 遗忘曲线:90 天自动清理 ≈ 人脑对不重要的日常对话的自然遗忘
2.8 🌤️ 颞叶语义记忆 | Gbrain 语义检索 (gbrain MCP)
本质:语义记忆系统——PGLite 混合 RAG(嵌入向量 + 关键词),Bun.js 实现
- 认知通路:MCP Server(stdio)集成,我检测实体后自动触发
- ⚠️ 实际表现(2026-05-29 评估):贡献价值 ≈ 0,甚至为负
- 评估过程:查询"凯聪开票信息"时,gbrain_query × 3 全返回无关聊天记录,fact_store × 2 空结果,最终靠 trilium_search_notes 一次命中
- 失败原因:(A)数据不全——大量 Trilium 笔记未 sync,无 shareAlias 的笔记从未被索引;(B)聊天日志污染——自动 ingest 了大量 Telegram 会话,chunk 质量极低;(C)无维护循环——没有形成「写 → 索引 → 搜到」的正反馈
- 资源消耗:占 V100 GPU 做 embed + MySQL 向量存储 + Bun 服务进程。产出≈噪音
- 建议:停掉 gbrain MCP,节省 GPU 资源。知识检索回归 Trilium(CKEditor5 + 全文搜索),长期事实用 memory 工具,短期工作记忆用 session_search
2.9 ❄️ 外部图书馆 | Trilium 层级知识库 (trilium MCP)
本质:书架上的参考书——独立 Docker,层级笔记+标签,MCP(ETAPI 封装)借阅
- 认知通路:需我主动调用 MCP tools(search_notes/read_note/create_note/update_note)
- 它不是"记得"的知识,是"可以查阅"的知识——你不会把整本书记在脑子里,但知道书在哪
- 分享规则:有 share 权限的笔记用
/share/{noteId}(公开),否则用/#root/{noteId}(需登录)。不主动设置 share 标签 - MCP 缺陷(2026-05-29 修复):move_note 原实现用 PATCH /notes/{id} + parentNoteIds 被 Trilium 拒收(PROPERTY_NOT_ALLOWED)。修正为 POST /branches 创建新分支 → DELETE /branches/{oldId} 删除旧分支
- 维护:Sitemap cron 每日爬取~519 URL,密码保护过滤
2.10 ❄️ 量化记忆 | MySQL + Git (terminal git/mysql)
本质:计算器和账本——精确数据不靠记忆靠查询
- MySQL(→ 量化记忆):Wind 行情/财务数据缓存。4 张表(wind_ashare_eod 等),INSERT IGNORE 写回
- Git(→ 量化记忆):代码 + 配置版本管理。标准 git CLI,terminal 调用
- 人脑类比:你不会"记住"昨天的收盘价,你去查数据库——这涉及元记忆:"我知道去哪里找到这个信息"
三、大脑诊断与探查
3.1 记忆健康指标(fMRI 诊断台)
| 脑区 | Hermes 区 | 当前体积 | 占用率 | 健康风险 | 诊断命令 |
|---|---|---|---|---|
| 🧬 神经递质系统 | 主配置系统 | ~13 KB + ~2 KB | 稳定 | 错误配置导致功能异常 | cat config.yaml .env |
| 🔥 前额叶工作台 | 扁平文件记忆 | ~13 KB | ~90%+ | 记忆满溢,需手动修剪 | wc -c MEMORY.md USER.md |
| 🌡️ 海马体索引 | Holographic 事实库 | ~480 KB | 50/50 facts | 事实数满,新写覆盖旧 | sqlite3 memory_store.db |
| 🔥 基底核 | 技能知识库 | 26 类 50+ 技能 | 取决于匹配 | 技能过时或错误 | ls skills/ |
| 🌤️ 颞叶情景 | 会话存档 | ~400 MB | 90 天窗口 | 自动遗忘(90天清理) | sqlite3 state.db |
| 🌤️ 颞叶语义 | Gbrain | ~824 MB | 1240 pages | 🔴 贡献≈0,已评估建议停用 | gbrain doctor |
| ❄️ 外部图书馆 | Trilium | Docker 内 | 1133+ notes | MCP move_note 已修复 | MCP search_notes |
3.2 🧬 神经递质系统 | 主配置系统 探查
cat /opt/data/config.yaml # 神经递质水平和连接配置
cat /opt/data/.env # 激素水平(API 密钥)
grep -E '(provider|memory|mcp|cron)' /opt/data/config.yaml
3.3 🔥 前额叶工作台 | 扁平文件记忆 探查
cat /opt/data/memories/MEMORY.md # 工作记忆内容
cat /opt/data/memories/USER.md # 自我认知内容
grep '关键词' /opt/data/memories/MEMORY.md # 检索特定记忆
cat /opt/data/memories/MEMORY.md.migrated # 旧版备份
3.4 🌡️ 海马体索引 | Holographic 事实库 探查(fMRI BOLD 信号)
sqlite3 /opt/data/memory_store.db ".tables"
# → facts, entities, fact_entities, facts_fts, memory_banks
sqlite3 /opt/data/memory_store.db \
"SELECT fact_id, substr(content,1,80), category, trust_score FROM facts;"
sqlite3 /opt/data/memory_store.db \
"SELECT content FROM facts_fts WHERE facts_fts MATCH '关键词';"
sqlite3 /opt/data/memory_store.db "SELECT * FROM entities;"
sqlite3 /opt/data/memory_store.db "SELECT * FROM fact_entities;"
sqlite3 /opt/data/memory_store.db \
"SELECT COUNT(*) AS facts, COUNT(DISTINCT entity_id) AS entities
FROM facts LEFT JOIN fact_entities USING(fact_id);"
3.5 🌤️ 颞叶情景记忆 | 会话存档 探查
sqlite3 /opt/data/state.db ".tables"
head -50 /opt/data/sessions/20260523_*.jsonl
3.6 🌤️ 颞叶语义记忆 | Gbrain 探查(gbrain CLI = 功能性 MRI)
gbrain stats # 全局统计
gbrain doctor # 健康检查
gbrain list -n 100 # 列出页面
gbrain get <slug> # 读取单篇
gbrain search "关键词" # 关键词检索
gbrain query "自然语言" # 语义检索
gbrain get_chunks <slug># 记忆碎片详情
⚠️ 注意:上述命令仅探查 Gbrain 自身状态。实际知识检索成功率极低(约 5%),建议优先使用 Trilium 搜索或 session_search
四、大脑改造:从日常训练到人格克隆
改变 Hermes = 对特定脑区(→ Hermes 区)进行神经可塑性干预。有两种粒度:日常训练(对话中学习)和全脑移植(Git 分支)。
4.1 日常神经可塑性训练
途径 A:对话中自然写入(最安全)
- 🧬 神经递质调节 | 主配置系统:
vim config.yaml→ 改变认知模式参数 - 🔥 前额叶工作台写入 | 扁平文件记忆:
memory(action='add', ...)— 在对话中"教"记住事实 - 🌡️ 海马体编码 | Holographic 事实库:
fact_store(action='add', ...)— 结构化新事实+信任分 - 🔥 程序性记忆 | 技能知识库:
skill_manage(action='patch', ...)— 技能纠错
途径 B:直接神经营养注射(离线批量)
# 🔥 前额叶 | 扁平文件记忆:注射新记忆
echo -e "\n§\n新记忆内容" >> /opt/data/memories/MEMORY.md
# 注意字符上限!
途径 C:🌡️ 海马体外科手术 | Holographic 事实库(SQLite 直写 — 高风险)
cat <<'SQL' | sqlite3 /opt/data/memory_store.db
INSERT INTO facts (content, category, tags, trust_score,
retrieval_count, helpful_count, created_at, updated_at)
VALUES ('用户使用 OpenCode Go + DeepSeek API',
'user_pref', 'model,infrastructure', 0.7,
0, 0, datetime('now'), datetime('now'));
SQL
⚠️ 跳过 HRR 向量编码 → 检索索引不完整。优先用工具写入。
途径 D:🧬 神经递质调节 | 主配置系统
vim /opt/data/config.yaml
# memory.memory_char_limit — 工作台容量
# memory.provider — 记忆引擎切换
# provider — 思维核心
⚠️ 修改后需 /restart 重新激活大脑
五、可操作性矩阵与关键洞察
5.1 记忆文件 × 可操作性矩阵
| 脑区 | Hermes 区 | 文件 | 探查 (fMRI) | 直接干预 |
|---|---|---|---|
| 🧬 神经递质系统 | 主配置系统 | config.yaml | ✅ cat/vim | ✅ vim |
| 🧬 神经递质系统 | 主配置系统 | .env | ✅ cat | ✅ vim |
| 🔥 前额叶工作台 | 扁平文件记忆 | MEMORY.md | ✅ cat | ✅ echo/vim |
| 🔥 前额叶工作台 | 扁平文件记忆 | USER.md | ✅ cat | ✅ echo/vim |
| 🌡️ 海马体索引 | Holographic 事实库 | memory_store.db | ✅ sqlite3 | ⚠️ 外科手术 |
| 🔥 基底核 | 技能知识库 | skills/*/SKILL.md | ✅ cat | ✅ vim/skill_manage |
| 🌤️ 颞叶情景 | 会话存档 | state.db (~176 MB) | ✅ sqlite3 | ❌ 不宜干预 |
| 🌤️ 颞叶情景 | 会话存档 | sessions/* (223 MB) | ✅ head/jq | ❌ 不宜干预 |
| 🌤️ 颞叶语义 | Gbrain | gbrain (~824 MB) | ✅ gbrain CLI | 🔴 已评估不建议维护 |
5.2 关键神经通路洞察
- 🧬 主配置系统决定所有脑区运行参数——config.yaml 控制行为模式、连接和节律。修改后必须 /restart
- 🔥 前额叶 | 扁平文件记忆 与 🌡️ 海马体 | 事实库 双轨并行是设计特征——工作记忆(全量注入)与长期索引(按需检索)独立。人脑同样分工
- 🌡️ 事实库检索三通道:FTS5(40%) 位置细胞 + Jaccard(30%) 词匹配 + HRR(30%) 网格细胞
- MCP 是感觉皮层——所有外部知识(🌤️ Gbrain、❄️ Trilium)通过 MCP 接入,类似感官输入被丘脑中继
- Cron master 是昼夜节律管家——统一调度:情景转录→知识同步→睡眠整合→索引更新
- 🌤️ Gbrain 实际贡献≈0——数据不全+聊天污染+无维护循环。不如 Trilium 原生搜索 + memory 工具高效
- 🌤️ 情景记忆 | 会话存档 是最大的认知缺口——不能自动联想相关历史,需海马体提供检索线索
- 🔥 基底核 | 技能知识库 是最快的神经可塑性窗口——即时更新即时生效,无需"睡眠"巩固
- ❄️ Trilium MCP 工具持续优化——move_note 缺陷已修复(POST/DELETE 分支替代 PATCH 笔记)
5.3 中文支持现状
| 脑区 | 中文能力 | 原因 |
|---|---|---|
| 🔥 扁平文件记忆 | ✅ 注入文本,无关语言 | 纯文本注入,模型负责理解 |
| 🌡️ Holographic FTS5 | ✅ 好 | SQLite FTS5 原生支持 CJK |
| 🌡️ Holographic Jaccard | ❌ 差 | 空格分词,中文不适用 |
| 🌡️ Holographic HRR | ❌ 无语义 | SHA-256 哈希,纯 identity |
| 🌤️ 会话存档 | ✅ FTS5 好 | 同 SQLite FTS5 |
| ❄️ Trilium 搜索 | ✅ 好 | 原生注搜+全文检索 |
结论:中文知识检索的可靠路径是 Trilium 搜索 → session_search → FTS5 事实检索。Gbrain 和 HRR 在中文场景贡献有限。
5.4 模型总结
| 脑区 | Hermes 区 | 一句话定位 |
|---|---|---|
| 🧬 神经递质系统 | 主配置系统 | "Hermes 的大脑操作系统" |
| 🔥 前额叶工作台 | 扁平文件记忆 | "Hermes 的便利贴":每轮全量注入 |
| 🌡️ 海马体索引 | Holographic 事实库 | "Hermes 的事实网络":三路混合检索 |
| 🔥 基底核 | 技能知识库 | "Hermes 的肌肉记忆":学会即自动执行 |
| 🌤️ 颞叶情景记忆 | 会话存档 | "Hermes 的生活经历":需线索才能回忆 |
| 🌤️ 颞叶语义记忆 | Gbrain | 🔴 已评估为信息黑洞,待停用 |
| ❄️ 外部图书馆 | Trilium | "书架上的书":需要时查阅 |
| ❄️ 量化记忆 | MySQL + Git | "算盘和账本":精确数据靠查询 |
一句话总结:Hermes 是 1 个神经递质系统 + 7 个特化脑区,每个脑区对应一个 Hermes 区。探查用 fMRI 探针命令看穿活动;修改通过对话学习或直接干预。
六、认知升级路线图
让 Hermes 不再等用户提示"之前",而是对话流转时自动判断该调用哪个脑区(→ Hermes 区)。
6.1 当前路由完备度
| 触发通路 | 脑区 → Hermes 区 | 自动程度 | 温度 |
|---|---|---|---|
| config.yaml 加载 | 🧬 神经递质 → 主配置系统 | ✅ 全自动(每轮) | 🧬 基础层 |
| memory 始终注入 | 🔥 前额叶 → 扁平文件记忆 | ✅ 全自动(每轮) | 🔥 热 |
| skills 匹配加载 | 🔥 基底核 → 技能知识库 | ✅ 全自动(匹配即加载) | 🔥 热 |
| gbrain auto-trigger | 🌤️ 颞叶语义 → Gbrain | 🔴 已评估停用 | — |
| fact_store 检索 | 🌡️ 海马体 → Holographic 事实库 | △ 需主动调用 | 🌡️ 温 |
| session_search | 🌤️ 颞叶情景 → 会话存档 | ❌ 需语言提示 | 🌤️ 凉 |
| Trilium MCP | ❄️ 外部图书馆 → Trilium | ❌ 需手动调用 | ❄️ 冷 |
| Git / MySQL | ❄️ 量化记忆 → MySQL+Git | ❌ 需手动 terminal | ❄️ 冷 |
6.2 认知缺口及现状
- 🌤️ 情景记忆 | 会话存档 无法自动联想——当前对话触发的相关历史不会自动浮现。最大的单一损失
- 🌡️ 海马体 | 事实库 ↔ 🌤️ Gbrain 无联动——用户偏好和领域知识各自独立。但 Gbrain 已评估停用,此缺口自动消失
- 无温度反馈学习——用错了某记忆不会降低触发概率,用对了也不升温
- ❄️ Trilium 检索成本被低估——Agent 倾向于不查,因为没有"记住去查"的元认知
- 无统一记忆查询接口——每个 Hermes 区访问方式不同:MCP / terminal / 内置 tool / system prompt
6.3 基础设施架构演进
❄️ Trilium ── ETAPI ──→ Hermes(直接 MCP)
🔥 技能文件 ── 文件系统 ──→ Hermes(自动加载)
🌡️ 事实库 ── SQLite ──→ Hermes(内置 tool)
生活经历 ── session_search ──→ Hermes(FTS5 检索)
(Gbrain 已不在路径上)
6.4 认知增强路线图(2026-05-29 更新)
| 优先级 | 手术 | 类型 | 涉及脑区 | Hermes 区 | 状态 |
|---|---|---|---|---|
| P0 | 停用 Gbrain MCP: 从 config.yaml 移除 gbrain 配置,释放 GPU 和 MySQL 资源 | 基础设施 | 🌤️ Gbrain | ⏳ 待执行 |
| P0 | 自动情景联想: 对话话题与历史会话相似度自动匹配,主动触发 session_search | 认知逻辑 | 🌤️ 情景/语义 | 会话存档 | ⏳ 待规划 |
| P1 | 知识检索统一归口: 所有"查知识"的场景优先走 Trilium 搜索 + session_search 双通道 | 认知逻辑 | ❄️ Trilium + 🌤️ 会话存档 | ✅ 已在执行 |
| P2 | 温度反馈回路: trust scoring 跨所有 Hermes 区扩展,自动升降路由优先级 | 认知逻辑 | 🌡️ 海马体 | Holographic 事实库 | ⏳ 待规划 |
| P2 | 统一记忆查询接口: memory_query() 内置 tool,屏蔽各区访问方式差异 | 认知逻辑 | 全脑区 | ⏳ 待规划 |
📅 最后更新: 2026-05-29 · 新增 Gbrain 实际评估(贡献≈0)、Holographic 三路权重+中文支持分析、MCP move_note 修复、知识检索路径重定向