博客
文章系列日历
归档关于搜索

鄂ICP备19019526号

© 2026 博客

  1. 文章
  2. Hermes-Agent系列
  3. 持久记忆系统——让 AI 真正“认识”你

持久记忆系统——让 AI 真正“认识”你

2026年5月11日·约 10 分钟·2918 字·30 次阅读·系列第 3/10 篇
Hermes-Agent系列 · 第 3 篇Hermes Agent
Hermes-Agent系列·第 3 篇,共 10 篇
上一篇 · 5 分钟快速上手 Hermes Agent下一篇 · 技术架构全解析——Hermes Agent 是如何设计的
持久记忆系统——让 AI 真正“认识”你

目录

  • 一、为什么记忆是核心竞争力?
  • 1.1 传统 AI 的"健忘症"
  • 1.2 Hermes Agent 的"记忆革命"
  • 1.3 记忆的三个层次
  • 二、第一层:会话记忆(FTS5 全文搜索)
  • 2.1 技术实现
  • 2.2 LLM 摘要压缩
  • 2.3 检索能力
  • 2.4 Periodic Nudge(定期自我提醒)
  • 三、第二层:技能记忆(Skills System)
  • 3.1 什么是技能记忆?
  • 3.2 SKILL.md 格式详解
  • 触发条件
  • 前置检查
  • 分析步骤
  • 第一步:性能测试
  • 第二步:数据库查询分析
  • 第三步:常见问题模式
  • 第四步:优化建议
  • 输出格式
  • 维护记录
  • 3.3 技能调用机制
  • 3.4 技能的进化
  • 四、第三层:用户画像(Honcho)
  • 4.1 Honcho 是什么?
  • 4.2 建模维度
  • 4.3 辩证分析(Dialectica)
  • 4.4 用户画像的数据结构
  • 五、学习闭环:记忆是如何工作的
  • 5.1 完整工作流
  • 5.2 记忆的触发时机
  • 5.3 记忆的优先级
  • 六、数据存储与隐私
  • 6.1 存储结构
  • 6.2 数据安全
  • 6.3 备份与恢复
  • 七、让 Hermes 更快地"认识"你
  • 7.1 最佳实践一:编写 AGENTS.md
  • 项目概述
  • 编码规范
  • API 设计
  • 项目结构
  • 重要提醒
  • 7.2 最佳实践二:主动告诉它重要信息
  • 7.3 最佳实践三:让它解决复杂问题
  • 7.4 最佳实践四:定期查看 Insights
  • 八、记忆维护与优化
  • 8.1 清理过时记忆
  • 8.2 记忆统计
  • 8.3 记忆性能调优
  • 九、与其他工具的深度对比
  • 十、常见问题
  • Q1:记忆会不会泄漏隐私?
  • Q2:记忆出错怎么办?
  • Q3:切换模型后记忆还有效吗?
  • Q4:可以多人共用一个 Hermes 吗?
  • Q5:记忆占太多空间怎么办?
  • 十一、总结

持久记忆系统——让 AI 真正"认识"你

运行越久,越了解你。不再需要每次重新解释上下文。

在上一篇中,我们成功安装并运行了 Hermes Agent,进行了第一次对话。这一篇深入探讨 Hermes Agent 的核心武器——持久记忆系统。

这是 Hermes Agent 与其他 AI 工具的本质区别:它不是"用完即忘"的聊天机器人,而是一个会学习、会记住、会成长的智能体。


一、为什么记忆是核心竞争力?

1.1 传统 AI 的"健忘症"

想象这样一个场景:

你用 ChatGPT 帮你分析项目代码。
每次打开新对话,都要重新解释:
  - 项目的技术栈是什么
  - 你的角色是什么
  - 代码仓库的结构
  - 你的编码偏好
  - 之前遇到过哪些问题

一周后:
  → 重新解释一遍
  → 重新解释一遍
  → 还是重新解释一遍

"每次都要重新开始,效率太低了!"

这就是传统 AI 的"会话隔离"问题。

每个新对话都是一个独立会话,AI 无法记住:

  • 你的项目背景
  • 你的编码风格
  • 你的偏好习惯
  • 你之前解决了什么问题

1.2 Hermes Agent 的"记忆革命"

Hermes Agent 的体验完全不同:

第一次对话(3月1日):
  你:我在做一个 React + TypeScript 的前端项目,组件风格是 Ant Design。
  Hermes:好的,我已经记住了。以后会用 React + TypeScript + Ant Design。

一个月后(4月1日):
  你:帮我写一个表单组件。
  Hermes:(自动知道)
    ✓ 用 React + TypeScript
    ✓ 风格参考 Ant Design
    ✓ 你的命名偏好是 camelCase + 前缀 Form
    ✓ 之前你喜欢用 Form.Item 包装

再过一个月(5月1日):
  你:帮我写一个表单组件
  Hermes:(更精准了)
    ✓ 自动用你偏好的样式
    ✓ 加入了之前发现的性能优化模式
    ✓ 自动应用你常用的验证规则
    ✓ 参考了最近创建的"表单最佳实践"技能

这就是持久记忆的价值:零重复,高效协作,越用越聪明。

1.3 记忆的三个层次

Hermes Agent 的记忆不是简单的"记住你说的话",而是理解你是什么样的人。

┌─────────────────────────────────────────────────────────────┐
│                   Hermes Agent 三层记忆                       │
│                                                             │
│                    ┌─────────────────┐                      │
│                    │  用户画像 (Honcho)│                      │
│                    │  跨会话理解你    │                      │
│                    └────────┬────────┘                      │
│                             │                               │
│                    ┌────────┴────────┐                      │
│                    │ 技能记忆 (Skills) │                      │
│                    │ 自动创建可复用    │                      │
│                    └────────┬────────┘                      │
│                             │                               │
│                    ┌────────┴────────┐                      │
│                    │ 会话记忆 (FTS5) │                      │
│                    │ 可搜索的对话历史  │                      │
│                    └─────────────────┘                      │
│                                                             │
└─────────────────────────────────────────────────────────────┘
层级内容技术特点
用户画像跨会话偏好Honcho 引擎主动学习
技能记忆可复用技能SKILL.md自动创建
会话记忆对话历史FTS5 索引快速检索

二、第一层:会话记忆(FTS5 全文搜索)

2.1 技术实现

会话记忆是 Hermes Agent 最基础的记忆层。

技术选型:

存储:SQLite + FTS5
- SQLite:轻量级嵌入式数据库
- FTS5:全文搜索引擎,支持快速检索

优点:
  ✓ 无需额外服务
  ✓ 完全本地存储
  ✓ 支持复杂查询
  ✓ 零配置

数据模型:

-- 会话表
CREATE TABLE sessions (
    id TEXT PRIMARY KEY,
    timestamp INTEGER,
    platform TEXT,
    message_count INTEGER,
    summary TEXT
);

-- 消息表(带全文搜索)
CREATE VIRTUAL TABLE messages USING fts5(
    session_id,
    role,
    content,
    timestamp,
    tokenize='unicode61'
);

-- 向量索引(可选,用于语义搜索)
CREATE TABLE embeddings (
    message_id TEXT,
    vector BLOB,
    FOREIGN KEY(message_id) REFERENCES messages(id)
);

2.2 LLM 摘要压缩

对话历史会不断增长,直接存储原始内容会:

  • 消耗大量 token
  • 检索变慢
  • 上下文窗口溢出

解决方案:LLM 摘要压缩

对话进行中:
  会话 A → 会话 B → 会话 C → ... → 会话 N

定期压缩(每小时或每 N 条消息):
  会话 A-N → LLM 分析 → 生成摘要 → 删除原始消息

存储结果:
  ┌─────────────────────────────────────────┐
  │ 摘要 #1 (3月1日-3月5日)                  │
  │ - 讨论了项目架构选择                     │
  │ - 确定使用 React + TypeScript            │
  │ - 用户偏好 Ant Design                   │
  │ - 遇到了 CORS 问题,已解决               │
  └─────────────────────────────────────────┘
  ┌─────────────────────────────────────────┐
  │ 摘要 #2 (3月6日-3月10日)                 │
  │ - 开始实现登录模块                       │
  │ - 用户熟悉 Jest 测试                    │
  │ - 创建了"JWT 认证"技能                  │
  └─────────────────────────────────────────┘

摘要压缩的触发条件:

条件说明
会话超过 100 条消息自动压缩历史
对话超过 1 小时触发摘要
上下文窗口接近上限紧急压缩
用户明确要求手动压缩

2.3 检索能力

基本搜索:

/search API authentication

输出示例:

找到 3 条相关对话:

┌──────────────────────────────────────────────────────────┐
│ [3月15日] API 认证问题                                    │
│ "我遇到了 JWT 认证失败的问题,错误是 401 Unauthorized"    │
│ 解决:检查 token 过期时间,刷新 token                     │
└──────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────┐
│ [4月2日] OAuth2 vs JWT                                   │
│ "我们应该用 OAuth2 还是 JWT?"                           │
│ 结论:根据需求选择,JWT 更适合简单场景                    │
└──────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────┐
│ [5月1日] API 认证最佳实践                                 │
│ "帮我总结一下 API 认证的最佳实践"                        │
│ 创建了技能:api-authentication-best-practices            │
└──────────────────────────────────────────────────────────┘

高级查询:

# 按时间范围搜索
/search "登录" --from 2026-03-01 --to 2026-03-31

# 按平台搜索
/search "bug" --platform telegram

# 语义搜索(基于向量)
/search "如何优化数据库查询" --semantic

2.4 Periodic Nudge(定期自我提醒)

Hermes Agent 不只是被动等待用户提问,而是主动回顾记忆。

时间线:
  ┌─────────┐    ┌─────────┐    ┌─────────┐
  │ 用户提问 │ →  │ Hermes  │ →  │ 执行任务 │
  └─────────┘    │ 搜索记忆 │    └─────────┘
                  └─────────┘
                       ↑
  ┌─────────────────────────────────────┐
  │ Periodic Nudge(每小时)            │
  │ → 回顾重要未完成任务                 │
  │ → 检查是否有遗漏的承诺                │
  │ → 主动提醒用户                      │
  └─────────────────────────────────────┘

触发场景:

场景 1:遗漏任务
  Nudge:"记得你之前让我分析性能问题吗?
         当时没分析完,要继续吗?"

场景 2:定时提醒
  Nudge:"你之前让我每周一提醒你 Code Review。
         今天周一,要开始吗?"

场景 3:知识更新
  Nudge:"最近有 2 个新的安全漏洞公告,
         你的项目可能受影响,要检查吗?"

三、第二层:技能记忆(Skills System)

3.1 什么是技能记忆?

当 Hermes 解决了一个复杂问题,它会自动创建可复用的技能文档。

┌─────────────────────────────────────────────────────────────┐
│                     技能创建流程                             │
│                                                             │
│  用户:帮我分析这个性能瓶颈,找出原因并给出优化方案          │
│                                                             │
│  Hermes 分析:                                              │
│  ┌─────────────────────────────────────────────────────┐   │
│  │ 问题:API 响应慢(3.5秒 → 目标 200ms)              │   │
│  │ 原因:N+1 查询问题                                  │   │
│  │ 步骤:1. 找到 N+1 查询                             │   │
│  │       2. 使用 eager loading                        │   │
│  │       3. 添加数据库索引                            │   │
│  │       4. 验证优化效果                              │   │
│  │ 工具:SQL 分析、代码审查、性能测试                  │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  自动创建技能:                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │ skill: api-performance-analysis                    │   │
│  │ - 分析 API 性能问题                                 │   │
│  │ - 检测 N+1 查询                                     │   │
│  │ - 给出优化建议                                      │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  存储到 ~/.hermes/memory/skills/                          │
│                                                             │
└─────────────────────────────────────────────────────────────┘

3.2 SKILL.md 格式详解

agentskills.io 开放标准格式:

---
name: api-performance-analysis
version: 1.0.0
author: Hermes-Auto
created: 2026-03-15
tags: [performance, api, database]
---

# API 性能分析技能

## 触发条件

当用户描述以下场景时自动触发:
- "分析 API 性能"
- "为什么这么慢"
- "优化接口响应时间"
- "N+1 问题"

## 前置检查

1. 确认分析对象(API 端点、函数名)
2. 获取当前性能数据(响应时间、数据库查询数)
3. 检查是否有基准测试

## 分析步骤

### 第一步:性能测试
```bash
# 使用 curl 或工具测试响应时间
curl -w "\nTime: %{time_total}s\n" https://api.example.com/endpoint

第二步:数据库查询分析

  • 开启 SQL 日志
  • 识别 N+1 查询
  • 检查索引使用情况

第三步:常见问题模式

问题特征解决方案
N+1 查询N+1 次数据库调用eager loading
缺索引EXPLAIN 显示全表扫描添加索引
大数据量查询未分页添加分页
同步阻塞主线程等待异步处理

第四步:优化建议

按以下优先级给出建议:

  1. 高优先级:关键性能问题(响应 > 1s)
  2. 中优先级:优化空间(响应 200ms-1s)
  3. 低优先级:改进建议(响应 < 200ms)

输出格式

{
  "issue": "问题描述",
  "root_cause": "根本原因",
  "severity": "high|medium|low",
  "suggestions": [
    {
      "priority": 1,
      "description": "建议描述",
      "code": "示例代码",
      "expected_improvement": "预期改善"
    }
  ]
}

维护记录

  • 2026-03-15: 初始创建(分析 shop-api 性能问题)
  • 2026-04-01: 优化了 N+1 检测逻辑
  • 2026-05-10: 添加了缓存策略建议

### 3.3 技能调用机制

**自动调用:**

用户:帮我分析这个接口为什么这么慢

Hermes 检索: → 搜索 skills 目录 → 匹配 api-performance-analysis → 调用技能 → 执行分析步骤 → 输出结果


**手动调用:**

```bash
/hermes skill run api-performance-analysis --endpoint /users

技能搜索:

/hermes skills list
/hermes skills search performance
/hermes skills info api-performance-analysis

3.4 技能的进化

技能不是静态的,而是在使用中持续优化。

时间线:

T0 (技能创建):
  skill: api-analysis v1.0
  - 基本 N+1 检测
  - 简单索引建议

T1 (使用反馈):
  用户:"这个分析没考虑到 Redis 缓存"
  → 更新技能:添加缓存分析

T2 (多次使用):
  累计 10 次使用
  → 识别常见错误场景
  → 添加错误处理模式

Tn (成熟技能):
  skill: api-analysis v2.3
  - 完整的性能分析框架
  - 缓存、CDN、数据库全面覆盖
  - 可分享给社区

四、第三层:用户画像(Honcho)

4.1 Honcho 是什么?

Honcho 是一个用户建模引擎,来自 Plastic Labs。

核心理念:

不是"记住你说的话"
而是"理解你是什么样的人"

OpenClaw vs Hermes:

OpenClaw (手动记忆):
  用户说:我的名字是张三
  → 写入 MEMORY.md:"名字:张三"
  → 下次需要时读取

Hermes (Honcho 主动建模):
  用户说:我的名字是张三,我在中国,做前端开发
  
  Honcho 分析:
  → 名字:张三
  → 语言:中文为主
  → 职业:前端开发
  → 可能熟悉:React、TypeScript、Web 技术
  → 沟通风格:技术导向
  
  主动推断:
  → 提到"前端"时,可能需要 React/Vue 相关建议
  → 提到"API"时,可能需要 REST/GraphQL 相关
  → 提到"测试"时,可能需要 Jest/Cypress 相关

4.2 建模维度

Honcho 从多个维度理解用户:

维度内容示例
身份名字、职业、公司"张三,前端工程师"
技术栈熟悉的编程语言和框架"React, TypeScript, Node.js"
偏好工作风格、沟通方式"简洁、直接,喜欢代码示例"
背景项目、目标、约束"电商项目,注重性能"
习惯编码风格、命名规则"camelCase,喜欢注释"
目标短期/长期目标"3个月内上线 MVP"

4.3 辩证分析(Dialectica)

Honcho 的独特之处在于辩证分析:

不是简单记录,而是理解"为什么"

用户说:"我不喜欢用 jQuery"

简单记录:
  ✗ 偏好:不使用 jQuery

Honcho 分析:
  ✓ 不喜欢 jQuery 的原因是什么?
    - 可能1:习惯了现代框架的组件化开发
    - 可能2:jQuery DOM 操作繁琐
    - 可能3:性能考虑
  
  ✓ 推断:
    - 用户可能喜欢:React/Vue 的声明式开发
    - 用户可能熟悉:现代 JavaScript (ES6+)
    - 用户可能重视:性能

  ✓ 更深理解:
    用户不是"不喜欢某个工具"
    而是"重视开发效率和代码可维护性"

4.4 用户画像的数据结构

# ~/.hermes/memory/profiles/user.yaml
profile:
  identity:
    name: "张三"
    language: "zh-CN"
    timezone: "Asia/Shanghai"
    
  expertise:
    languages:
      - Python (expert)
      - JavaScript (expert)
      - Go (intermediate)
    frameworks:
      - React
      - FastAPI
      - Next.js
    tools:
      - Docker
      - PostgreSQL
      - Redis
      
  preferences:
    communication: "concise"  # 简洁直接
    code_style: "readable"    # 可读性优先
    documentation: "detailed"  # 需要详细文档
    
  projects:
    - name: "shop-frontend"
      type: "e-commerce"
      stack: ["React", "TypeScript", "TailwindCSS"]
      role: "lead developer"

五、学习闭环:记忆是如何工作的

5.1 完整工作流

┌─────────────────────────────────────────────────────────────────┐
│                    Hermes Agent 学习闭环                          │
│                                                                 │
│                                                                 │
│  ┌─────────┐                                                    │
│  │ 用户输入 │                                                    │
│  └────┬────┘                                                    │
│       │                                                         │
│       ▼                                                         │
│  ┌─────────────┐                                               │
│  │  信息提取   │  分析对话,提取关键信息                         │
│  └──────┬──────┘                                               │
│         │                                                       │
│    ┌────┴────┐                                                  │
│    │         │                                                  │
│    ▼         ▼                                                  │
│  ┌──────┐ ┌──────┐                                             │
│  │短期记忆│ │长期记忆│                                         │
│  │ (会话)│ │(技能/画像)│                                       │
│  └──────┘ └──────┘                                             │
│         │                                                       │
│         ▼                                                       │
│  ┌─────────────┐                                               │
│  │ Periodic    │  每小时自我回顾                                │
│  │ Nudge       │  检查遗漏和待办                                │
│  └──────┬──────┘                                               │
│         │                                                       │
│         ▼                                                       │
│  ┌─────────────┐                                               │
│  │ 技能创建    │  解决复杂问题后自动创建                         │
│  └──────┬──────┘                                               │
│         │                                                       │
│         ▼                                                       │
│  ┌─────────────┐                                               │
│  │ 技能优化    │  使用中持续优化                                 │
│  └──────┬──────┘                                               │
│         │                                                       │
│         ▼                                                       │
│  ┌─────────────┐                                               │
│  │ 下次检索    │  遇到问题时快速调用                             │
│  └─────────────┘                                               │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

5.2 记忆的触发时机

触发条件执行动作目标层级
解决复杂多步骤问题自动创建技能技能记忆
用户说"记住这个"写入长期记忆用户画像
每小时自我回顾检查所有层级
遇到类似问题搜索并调用技能+会话
技能被使用记录效果并优化技能记忆
用户偏好变化更新用户画像用户画像

5.3 记忆的优先级

不是所有信息都同等重要:

高优先级(必须记住):
  - 用户身份(名字、职业)
  - 项目关键信息(架构、技术栈)
  - 重要决策和结论
  - 编码规范和偏好

中优先级(尽量记住):
  - 日常讨论内容
  - 一般性技术知识
  - 工具偏好

低优先级(选择性记住):
  - 闲聊内容
  - 一次性问题
  - 过时信息

六、数据存储与隐私

6.1 存储结构

~/.hermes/
├── memory/
│   ├── sessions/           # 会话记忆
│   │   ├── 2026-03.json    # 按月存储
│   │   ├── 2026-04.json
│   │   └── fts5.db         # 全文搜索索引
│   │
│   ├── skills/             # 技能记忆
│   │   ├── api-analysis/
│   │   │   └── SKILL.md
│   │   ├── github-review/
│   │   │   └── SKILL.md
│   │   └── ...
│   │
│   └── profiles/           # 用户画像
│       └── user.yaml
│
├── workspace/              # 工作区
│   ├── AGENTS.md
│   ├── MEMORY.md
│   ├── USER.md
│   └── ...
│
└── config.yaml             # 配置

6.2 数据安全

零遥测原则:

❌ 无使用追踪
❌ 无数据收集
❌ 无云端上传(除非你主动配置)
❌ 无第三方访问

✓ 100% 本地存储
✓ 加密存储(可选)
✓ 完整控制权在你

加密存储(可选):

# config.yaml
security:
  encrypt_memory: true
  encryption_key: "${HERMES_ENCRYPTION_KEY}"

6.3 备份与恢复

导出记忆:

# 导出所有记忆
hermes memory export --file backup-$(date +%Y%m%d).json

# 只导出技能
hermes memory export --type skills --file skills-backup.json

# 只导出用户画像
hermes memory export --type profile --file profile-backup.json

导入记忆:

hermes memory import --file backup-20260511.json

自动备份:

# config.yaml
backup:
  enabled: true
  schedule: "0 2 * * *"  # 每天凌晨2点
  retention: 7  # 保留7份
  location: "~/.hermes/backups/"

七、让 Hermes 更快地"认识"你

7.1 最佳实践一:编写 AGENTS.md

在工作区根目录创建 AGENTS.md,定义你的项目背景:

# AGENTS.md - 项目说明

## 项目概述
- 名称:MyApp
- 类型:React 前端 + Node.js 后端
- 技术栈:TypeScript, Ant Design, Express
- 目标用户:企业客户

## 编码规范
- 命名:camelCase(变量/函数),PascalCase(组件)
- 文件组织:按功能模块划分
- 测试:Jest,覆盖率 > 80%

## API 设计
- RESTful 风格
- 统一响应格式:{ success, data, error }
- 错误码:1xxx 为客户端错误,2xxx 为服务端错误

## 项目结构

src/ ├── components/ # UI 组件 ├── pages/ # 页面 ├── services/ # API 服务 ├── stores/ # 状态管理 └── utils/ # 工具函数


## 重要提醒
- 生产环境配置在 config.prod.ts
- 不要修改 legacy/ 目录
- 所有 API 需要认证

Hermes 会在每次对话开始时读取这个文件,建立项目上下文。

7.2 最佳实践二:主动告诉它重要信息

在对话中明确说:

请记住:
- 我的 GitHub 用户名是 zhangsan
- 所有 PR 都需要先过 lint 检查
- 生产环境的数据库不能直接操作
- 每周五下午是代码审查时间

Hermes 会将这类信息写入长期记忆。

7.3 最佳实践三:让它解决复杂问题

复杂问题会触发技能创建:

❌ 简单问题(不会创建技能):
  "帮我写一个 Hello World"
  "今天的天气怎么样"

✅ 复杂问题(会创建技能):
  "帮我分析这个性能瓶颈,找出原因并给出优化方案"
  "帮我设计这个数据库 schema,要考虑扩展性"
  "帮我审查这段代码的安全问题"

7.4 最佳实践四:定期查看 Insights

/hermes insights --days 30

查看过去 30 天的摘要,了解 Hermes 对你的认知积累:

📊 Insights - 过去 30 天

关于你:
  - 前端开发者,React + TypeScript 专家
  - 注重代码质量和性能
  - 喜欢简洁的解决方案

你的项目:
  - shop-frontend: 电商前端,使用 Ant Design
  - api-service: Node.js 后端,REST API

最近活动:
  - 3月15日:讨论了性能优化
  - 4月2日:创建了 JWT 认证技能
  - 4月20日:做了数据库设计

未完成任务:
  - 性能分析报告(待完成)

八、记忆维护与优化

8.1 清理过时记忆

# 清理 90 天前的会话记忆(保留技能和画像)
/memory cleanup --older-than 90d

# 清理特定会话
/memory cleanup --session s123456

# 查看清理预览(不实际删除)
/memory cleanup --older-than 30d --dry-run

8.2 记忆统计

/hermes memory stats

输出:

📊 记忆统计

会话记忆:
  - 总会话数:245
  - 总消息数:3,892
  - 存储大小:12.3 MB
  - FTS5 索引大小:4.5 MB

技能记忆:
  - 总技能数:17
  - 最近创建:api-analysis (3天前)
  - 技能使用次数:总计 89 次

用户画像:
  - 更新频率:每天
  - 置信度:85%
  - 建模维度:12 个

8.3 记忆性能调优

FTS5 索引优化:

# config.yaml
memory:
  fts5:
    tokenizer: "unicode61"  # Unicode 分词
    content_rowid: "id"     # 主键映射
    rebuild_interval: 86400 # 每天重建索引

压缩策略:

memory:
  compression:
    enabled: true
    threshold_mb: 100  # 超过 100MB 触发压缩
    compression_level: 6

九、与其他工具的深度对比

特性Hermes AgentChatGPTClaude.aiCursorClaude Code
会话记忆✅ FTS5+摘要❌❌⚠️ 项目内⚠️ 项目内
技能记忆✅ 自动创建❌❌⚠️ Rules⚠️ Rules
用户画像✅ Honcho❌❌❌❌
跨会话连贯✅❌❌⚠️⚠️
数据私有✅ 100% 本地❌❌⚠️⚠️
自我回顾✅ Nudge❌❌❌❌
技能进化✅ 使用中优化❌❌❌❌
导出/导入✅ 完整❌❌⚠️❌

十、常见问题

Q1:记忆会不会泄漏隐私?

答: Hermes Agent 的记忆完全存储在本地(~/.hermes/),没有云端同步,零遥测。你可以通过配置加密来进一步提高安全性。

Q2:记忆出错怎么办?

答: 记忆是 AI 自动生成的,可能存在偏差。你可以通过以下方式修正:

# 查看记忆内容
/hermes memory list

# 修正记忆
/hermes memory update --type profile --field name --value "正确名字"

# 删除错误记忆
/hermes memory delete --id <memory-id>

Q3:切换模型后记忆还有效吗?

答: 有效。记忆存储在文件系统,与模型无关。切换模型后,记忆仍然保留。

Q4:可以多人共用一个 Hermes 吗?

答: 可以,但不推荐。每个用户应该有独立的 ~/.hermes/ 目录,以保持记忆的私密性。

Q5:记忆占太多空间怎么办?

答: 使用清理命令删除过时记忆,或配置自动压缩:

/memory cleanup --older-than 30d
/memory compress

十一、总结

Hermes Agent 的持久记忆系统是它的核心武器:

不是"记住你说的话",而是"理解你是什么样的人"。

三层架构协同工作:

层级功能技术特点
用户画像理解你是谁Honcho主动学习
技能记忆积累解决方案SKILL.md自动创建
会话记忆记住对话FTS5快速检索

运行越久,Hermes Agent 越了解你。

这才是"会成长"的真正含义。


系列文章预告:

  • (四)Skills 系统深度解剖:掌握 Hermes Agent 的技能生态,创建自己的技能。

如果你对 Hermes Agent 的记忆机制有更多问题,欢迎在评论区讨论。

系列:Hermes-Agent系列

第 3 / 10 篇
  • 1. 认识 Hermes Agent(一):会成长的开源 AI 智能体
  • 2. 5 分钟快速上手 Hermes Agent
  • 3. 持久记忆系统——让 AI 真正“认识”你
  • 4. 技术架构全解析——Hermes Agent 是如何设计的
  • 5. Skills 系统深度解剖——掌握 Hermes Agent 的技能生态
  • …
← 5 分钟快速上手 Hermes Agent技术架构全解析——Hermes Agent 是如何设计的 →
继续阅读下一篇

评论

加载评论中…

发表评论

返回文章列表