视频加载失败

构建个人 AI 工程知识操作系统:Hermes + OpenViking 多层记忆架构实践

1767 字
9 分钟
构建个人 AI 工程知识操作系统:Hermes + OpenViking 多层记忆架构实践

构建个人 AI 工程知识操作系统:Hermes + OpenViking 多层记忆架构实践#

背景#

我日常使用 Hermes Agent(Nous Research 开源)作为 AI 助手,处理系统架构设计、NAS 运维、家庭能源系统规划、代码编写等任务。但几个月下来,暴露了一个核心问题:AI 没有长期记忆。

每次问同一个问题,它都从零开始推理。不会记住我的设备参数、不会记住之前的决策、不会从历史经验中学习。

解决这个问题需要一套完整的记忆架构,而不是单一工具。这篇博客记录了过去几天的优化过程。

一、知识库搭建:OpenViking#

选型#

对比了几个方案:

方案优势劣势
Supermemory自带 OCR、Gemini 提取太重(PyTorch ~2GB),ARM64 慢,需自建服务
knowledge-base-mcpMCP 协议,Claude 兼容同样太重(PyTorch + BGE-M3 ~4GB),ARM64 1 chunk/s
OpenViking轻量(Go 二进制),本地文件系统索引,FTS5 全文搜索无 OCR,需要手动组织知识

最终选择 OpenViking 0.4.11。原因:纯 Go 编译,无 Python 依赖,在 ARM64 上跑得飞快,FTS5 搜索毫秒级响应。

知识分类#

将知识库按领域划分:

viking://resources/rag/
├── engineering_control/ — 《工程控制论》上下册
├── history_politics/ — 毛选等(方法论层)
├── software_engineering/ — 《人月神话》等
└── systems_thinking/ — 《一般系统论》《系统科学方法概论》

核心是 工程控制论 + 系统科学,作为解决复杂工程问题时的知识来源。

Hermes 集成#

配置 Hermes 的 memory provider 为 OpenViking,并启用 OPENVIKING_RECALL_RESOURCES=true,让 Hermes 在遇到复杂问题时自动检索知识库:

memory:
provider: openviking

二、多层记忆架构#

Hermes 的长期记忆系统设计为四层,各司其职:

Layer 1: SOUL.md(行为准则)
├── 实事求是、调查研究、矛盾分析
├── 系统思维、控制论、工程优先
└── 反馈闭环、假设验证
Layer 2: Skills(怎么做)
├── knowledge-retrieval-evidence-policy
├── decision-memory
└── 各领域专业技能
Layer 3: USER.md + MEMORY.md(事实)
├── 用户偏好、设备参数、环境信息
└── 已验证的长期经验
Layer 4: OpenViking(知识 + 经验)
├── 工程控制论、系统科学
├── 软件工程、项目管理
└── 决策记录、历史案例

关键原则:不要把知识往 SOUL.md 里堆。SOUL.md 是行为准则,不是知识库。知识归知识库,事实归 memory,做法归 skills。

三、知识检索策略优化#

发现的问题#

测试中暴露了一个典型错误:AI 把”三电压逆变器”理解成”48V DC + 220V AC + 电网”,但实际是电池侧兼容 48V/60V/72V 三种电压。

原因是:模型用通用知识推测,没有优先尊重用户 memory 中已记录的设备事实。

解决方案#

创建 knowledge-retrieval-evidence-policy skill,强制以下规则:

  1. 事实优先于推测 — 用户 memory 中的设备参数 > 模型通用知识
  2. 未知参数必须标记 — 不允许自行补全,列出条件分支
  3. 检索在推理之前 — 复杂问题先查知识库,再推理

结果:下次测试时,Hermes 正确识别了三电压逆变器的含义,并主动询问未知参数,而不是自行假设。

四、家庭能源系统设计#

跨领域测试#

作为知识库效果验证,设计了一套家庭能源管理系统。Hermes 在这个过程中主动调用了 OpenViking 中的工程控制论和系统科学知识,完成了跨领域综合。

四层架构#

L4: 米家智能家居层 — 非关键负载控制
L3: HA 能源管理层 — 状态机、能量调度、SOC 管理
L2: 逆变器控制层 — MPPT、EPS 切换、电池检测
L1: 硬件保护层 — 断路器、SPD、熔断器(纯物理)

15 状态机#

覆盖无电池、电池怠速、PV 充电、PV 自用、余电上网、电网充电、削峰放电、多级停电、换电池、故障、手动接管等场景。

租赁电池的特殊性#

用户电池不是固定购买,而是临时租赁。这意味着系统必须支持:

  • 无电池状态:PV 自发自用,余电上网
  • 电池接入检测:自动识别 48V/60V/72V,无需 BMS 通信
  • 换电池不停机:热插拔支持

停电备用#

电气切换由逆变器硬件 EPS 完成(<20ms),HA 负责 30s 后管理非关键负载,不承担毫秒级安全切换。

五、多模型路由配置#

问题#

Hermes 只有一个主模型。但日常问答、复杂架构设计、图片识别对模型能力要求不同。全部用最强模型浪费 token,全部用最便宜模型质量不够。

方案#

利用 Hermes 的 auxiliary 和 delegation 机制,实现多模型分工:

Hermes
│
DeepSeek V4 Flash(主模型)
日常对话、RAG、工具调用、记忆管理
│
┌──────────────┼──────────────┐
│ │ │
▼ ▼ ▼
GLM-5.2 DeepSeek V4 Pro Doubao Seed 2.0 Pro
───────── ───────────── ─────────────────
子任务 压缩 vision_analyze
delegate 后台审查 OCR/截图/电路图
策展

配置#

model:
default: deepseek-v4-flash
provider: custom
delegation:
model: glm-5.2 # 子任务自动走 GLM
provider: custom
auxiliary:
vision:
model: doubao-seed-2-0-pro-260215
base_url: "https://ark.cn-beijing.volces.com/api/coding/v3"
timeout: 120
compression:
model: deepseek-v4-pro # 压缩质量优先,不丢关键约束
background_review:
model: deepseek-v4-pro
curator:
model: deepseek-v4-pro

限制:delegation.model 是”所有子任务固定走 GLM”,不是智能路由。Hermes 目前没有内置根据任务难度自动切换模型的能力。

六、清理与取舍#

放弃的方案#

过去几个月尝试过的一些路线,最终都放弃了:

项目放弃原因替代方案
knowledge-base-mcpPyTorch ~2GB + BGE-M3 ~2.2GB,ARM64 极慢OpenViking FTS5
Supermemory同样太重,Gemini 配额限制每天 20 次直接放弃,改为 OpenViking
lottery-agent(彩票分析)不再需要已删除

清理命令#

Terminal window
rm -rf ~/knowledge-base-mcp ~/kb-mcp-server
rm -rf ~/lottery-agent

七、三层系统整合#

NAS、AI Agent、家庭能源系统形成三层架构:

Layer A: AI Agent(智能决策层)
├── HA API 读取能源状态
├── SSH 管理 NAS 服务
├── cron 定时任务(日报/异常检测)
└── OpenViking 知识库
Layer B: NAS(基础设施层)
├── 数据存储(InfluxDB/SQLite)
├── Grafana 可视化
├── nginx 反向代理
└── Ghost 博客
Layer C: HA 能源管理层
├── 状态机执行
├── 逆变器 Modbus 通信
├── 米家设备集成
└── SOC 管理 / 负载调度

总结#

当前状态#

组件评分
SOUL.md(行为准则)8.5/10
OpenViking 知识库8/10
知识分类8/10
知识调用策略7/10
多模型路由已完成

经验教训#

  1. 分层比堆叠重要 — 把行为准则、知识、事实、技能分开,比往一个文件里塞更多内容有效
  2. 事实约束比模型能力重要 — 再强的模型,如果不尊重用户已有事实,输出也是错的
  3. 轻量方案优先 — ARM64 上跑 PyTorch 是不归路,FTS5 全文搜索足够快
  4. AI Agent 需要反馈闭环 — 一次回答不够,需要设计验证、修正、迭代的机制

下一步#

做一个 delegate 触发规则 skill,让 Hermes 能自动判断什么时候需要走 GLM-5.2 子任务,接近真正的多模型智能路由。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
构建个人 AI 工程知识操作系统:Hermes + OpenViking 多层记忆架构实践
https://foxlesbiao.github.io/blog/posts/building-personal-ai-engineering-knowledge-os/
作者
Illya-Lily-Iris·Alice
发布于
2026-07-31
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Illya-Lily-Iris·Alice
修车、折腾、写代码
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
最新动态
站点统计
文章
12
分类
3
标签
46
总字数
23,825
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录