Hermes Agent: 记忆系统

最后更新:2026-08-31

记忆系统是 Hermes 最核心的差异——它不是"聊完就忘"的聊天机器人,而是一个跨会话记住你一切的智能助手。

💡 提示:Hermes 的记忆不是简单的文本存储,而是包含语义检索、自动分类、用户画像建模的完整系统。Honcho 是 Nous Research 专门开发的用户理解引擎。

📋 前置知识:第3课 配置文件

1. 你将学到

编号 内容
三层记忆架构详解
工作记忆机制
长期记忆与语义检索
Honcho 用户建模
记忆管理命令

2. 故事

(1) 痛点:每次都要重新介绍自己

Bob 每天和 AI 聊天,每次都要重新说:"我是前端开发,用 React + TypeScript,偏好 ESLint……"AI 永远记不住。

(2) 解法:Agent 真正记住你

Alice 的 Hermes Agent 记住了一切:

BASH
# 第1天:告诉 Agent 你的偏好
me: 我是 Alice,后端开发,用 Python + FastAPI
Agent: ✅ 已记住!我会长期记住你的技术栈和偏好。

# 第30天:Agent 自动回忆
me: 帮我写个 API
Agent: [回忆] 你用 Python + FastAPI,偏好 type hints...
       直接给你 FastAPI 版本:
       ```python
       from fastapi import FastAPI
       app = FastAPI()
       ...
       ```

3. 三层记忆架构

100%
graph TD
    A[用户输入] --> B[工作记忆<br/>Working Memory]
    B -->|自动提炼| C[长期记忆<br/>Long-term Memory]
    C -->|深度建模| D[用户模型<br/>Honcho User Model]
    D -->|个性化| E[响应输出]
    
    B -->|会话内检索| F[上下文理解]
    C -->|跨会话检索| G[偏好回忆]
    D -->|预测| H[主动建议]
层级 存储内容 生命周期 容量
工作记忆 当前对话的上下文、意图、实体 单次会话 50条
长期记忆 用户偏好、项目信息、常用模式 永久 无限
用户模型 行为画像、能力评估、沟通风格 永久+自动更新 动态

4. 工作记忆

(1) 工作记忆内容

工作记忆保存当前对话的活跃上下文:

JSON
{
  "session_id": "abc123",
  "entities": [
    {"name": "React Dashboard", "type": "project"},
    {"name": "TypeScript", "type": "tech_stack"},
    {"name": "Alice", "type": "user"}
  ],
  "intent": "code_review",
  "context_window": [
    "用户要求审查 React 组件",
    "组件使用 TypeScript",
    "之前审查过3个类似组件"
  ],
  "active_skills": ["react-component-review"],
  "pending_actions": []
}

(2) 工作记忆限制

YAML
memory:
  working_memory_limit: 50      # 最多50条
  auto_compress: true           # 超限时自动压缩
  compress_threshold: 0.8       # 80%时开始压缩

5. 长期记忆

(1) 自动记忆提取

Hermes 自动从对话中提取重要信息保存到长期记忆:

BASH
# 你说了以下内容:
me: 我在做电商项目,用的是 Next.js 14 + Prisma + PostgreSQL

# Hermes 自动提取并分类保存:
📝 长期记忆更新:
  - 项目: 电商项目
  - 技术栈: Next.js 14, Prisma, PostgreSQL
  - 项目类型: Web应用

(2) 语义检索

长期记忆不是关键词匹配,而是语义理解:

BASH
# 你不会说"电商项目",而是说:
me: 帮我加个商品列表页

# Hermes 语义检索到你的电商项目上下文:
Agent: [记忆检索] 你在做电商项目(Next.js 14 + Prisma)
       我用你现有的技术栈来实现:
       ```tsx
       // app/products/page.tsx
       import { prisma } from '@/lib/prisma'
       ...
       ```

(3) /remember 命令

BASH
# 主动保存记忆
/remember 我每周五需要提交周报
/remember 我的 Git commit 风格是 conventional commits
/remember 团队代码审查要求:必须有测试覆盖

# 查看记忆
/remember list
# 输出:
# 1. [偏好] 技术栈: Next.js 14 + Prisma + PostgreSQL
# 2. [习惯] 每周五提交周报
# 3. [规范] Conventional Commits
# 4. [团队] 代码审查必须有测试覆盖

# 删除记忆
/remember delete 3

# 导出记忆
/remember export > my_memories.json

6. Honcho 用户建模

(1) 什么是 Honcho?

Honcho 是 Hermes 的用户理解引擎,它不只是存储偏好,而是建模用户的行为模式:

100%
graph LR
    A[对话历史] --> B[Honcho Engine]
    B --> C[技术能力评估]
    B --> D[沟通风格画像]
    B --> E[决策偏好模型]
    B --> F[知识领域图谱]
    C --> G[个性化响应]
    D --> G
    E --> G
    F --> G

(2) 用户画像维度

维度 示例 用途
技术能力 ⭐⭐⭐⭐ (高级) 调整解释深度
沟通风格 简洁直接 匹配回复风格
代码偏好 类型安全优先 生成代码风格
学习模式 实践导向 教学方式
决策偏好 数据驱动 建议方式

(3) Honcho 自动更新

BASH
# Honcho 观察你的行为并自动更新画像
# 你连续3次要求"加类型注解"→ 更新代码偏好
# 你总是跳过长篇解释 → 更新沟通风格
# 你经常在深夜使用 → 更新活跃时间

# 查看你的画像
/honcho profile

# 输出:
# 🧑‍💻 用户画像
# 技术能力: ⭐⭐⭐⭐⭐ (资深开发者)
# 偏好语言: TypeScript > Python > Go
# 代码风格: 严格类型 + 函数式
# 沟通偏好: 简洁,不要废话
# 学习方式: 先看代码,再看解释
# 活跃时间: 10:00-14:00, 20:00-24:00

7. 记忆管理

(1) 记忆命令一览

命令 功能
/remember <内容> 保存记忆
/remember list 列出所有记忆
/remember search <关键词> 语义搜索记忆
/remember delete <id> 删除记忆
/remember export 导出记忆
/remember import <file> 导入记忆
/honcho profile 查看用户画像
/honcho reset 重置用户画像

(2) 记忆存储格式

JSON
// ~/.hermes/memory/long_term/memories.jsonl
{"id": "mem_001", "content": "偏好 TypeScript + React", "category": "preference", "embedding": [0.12, ...], "created": "2026-03-15", "access_count": 47}
{"id": "mem_002", "content": "项目: 电商平台", "category": "project", "embedding": [0.34, ...], "created": "2026-03-16", "access_count": 23}

(3) 试一试:记忆体验

BASH
# 步骤1:告诉 Agent 你的偏好
/remember 我是全栈开发者,偏好 Python 后端 + React 前端

# 步骤2:开始新对话(模拟第二天)
hermes chat

# 步骤3:验证记忆
me: 帮我写个 API
Agent: [记忆] 你偏好 Python 后端,给你 FastAPI 版本...

❓ 常见问题

Q 记忆会占多少磁盘空间?
A 每条记忆约 1-2 KB(含 embedding),1000条约 2 MB。长期使用通常不超过 50 MB。
Q 记忆数据存在哪里?
A 默认存在 ~/.hermes/memory/。可通过配置修改存储位置,支持加密存储。
Q 如何清除所有记忆?
A /remember delete --all 或删除 ~/.hermes/memory/ 目录。建议先导出备份。
Q Honcho 会泄露隐私吗?
A Honcho 数据完全本地存储,零上传。用户画像只用于个性化响应,不会发送给任何第三方。
Q 多用户共享一个 Hermes 时记忆如何隔离?
A 每个用户有独立的记忆空间和用户模型。通过 --user 参数切换用户。
Q 记忆准确吗?
A 语义检索准确率约 95%。如果记忆被错误关联,可以手动删除和修正。

📖 小节


📝 作业

  1. 基础题(难度⭐):使用 /remember 保存 5 条偏好,在新对话中验证 Agent 能回忆起来。
  2. 进阶题(难度⭐⭐):观察 Honcho 如何自动更新你的用户画像,记录 3 个自动更新实例。
  3. 挑战题(难度⭐⭐⭐):设计一个记忆分类体系(按项目/偏好/习惯/团队规范分类),导入 Hermes 并验证检索效果。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏