大数跨境

10 分钟,给 Hermes 接上云端长期记忆:AgentArts Memory 插件实战

10 分钟,给 Hermes 接上云端长期记忆:AgentArts Memory 插件实战 华为云AI
2026-09-01
7
导读:本文适合谁: 已经部署 Hermes,希望获得跨会话、跨设备云端记忆的开发者你会得到什么: 不修改 Herm

本文适合谁:已部署 Hermes,希望获得跨会话、跨设备云端记忆的开发者

你会得到什么:无需修改 Hermes 核心代码,通过 Memory Provider 插件实现自动写入、相关记忆召回、压缩前保护和主动检索

写给正在用 Hermes 的你

Hermes 很强但还可以更强

Hermes 是一个功能完善的开源 Agent,具备工具调用、技能学习及子 Agent 委派能力,并提供 MEMORY.md、USER.md 及历史会话搜索等基础记忆功能。

然而,在多设备运行、临时容器或长期在线服务器场景下,用户常面临以下挑战:

  • 重要信息分散在本地文件和历史会话中,换设备后无法自然延续
  • 难以按“语义”查找过往经验,仅能依赖关键词匹配
  • 希望对话结束后自动沉淀用户偏好、项目事实和历史经验;
  • 上下文压缩后,Agent 仍需要从长期记忆中找回相关内容
  • 不愿为记忆抽取、向量检索和云端存储自行维护基础设施

Hermes 的内置本地 Markdown 记忆简单透明,适合保存高频规则。但当记忆规模扩大且需跨设备或语义检索时,我们需要一个增强层

AgentArts Memory 提供增强层实现

AgentArts Memory 的 Hermes 插件旨在解决上述问题:

保留 Hermes 原有记忆机制,将 AgentArts Memory 接入为外部长期记忆 Provider。

该插件基于 Hermes 现有的 Memory Provider 接口工作,无需修改核心代码或业务逻辑。接入后可实现:

  • 每轮对话结束 → 自动同步
  • 每次回答之前 → 检索相关记忆
  • 需要时 → 主动搜索云端长期记忆
原来的限制 接入后获得的能力
记忆主要保存在本地环境 提取后的长期记忆保存在云端,支持跨环境使用
依赖文件或会话关键词搜索 支持围绕当前问题进行语义检索
需要手动维护重要事实 每轮对话后自动同步,由策略提取有价值信息
上下文压缩可能丢失早期细节 压缩前再次检索与任务相关的长期记忆
需自建存储与提取流程 AgentArts Memory 提供全托管记忆能力

AgentArts Memory 内置语义记忆、用户偏好、会话摘要和情景记忆等策略,支持按空间、会话和用户维度管理。其核心价值在于让有用信息被提取、检索并在后续会话中复用。

一、快速接入步骤

Step 1:准备工作(5 分钟)

1.1 确认 Hermes 环境

确认 Hermes 版本及主目录:

hermes --version
# 确保 Hermes 已正确安装,主目录默认为 ~/.hermes/

若未安装,请参考 Hermes 官方安装文档。

1.2 创建 AgentArts 记忆库

登录华为云控制台,在"组件库 → 记忆库"中创建一个新的记忆库。建议启用以下长期记忆策略:

  • 语义记忆:保存项目事实和上下文知识;
  • 用户偏好:保存稳定的沟通与使用偏好;
  • 会话摘要:提炼会话主题、结论和历史决策;
  • 情景记忆:保存带有具体过程和结果的历史经验。

创建后获取三个关键参数:

参数 环境变量 说明 获取方式
记忆库 ID AGENTARTS_MEMORY_SPACE_ID AgentArts 记忆库唯一标识 控制台记忆库列表
API Key HUAWEICLOUD_SDK_MEMORY_API_KEY 记忆库数据面接口密钥 创建时弹出,仅展示一次
区域 HUAWEICLOUD_SDK_REGION 创建记忆库时所在的 Region 控制台所选 Region

相关入口

  • AgentArts 控制台:访问华为云官网进入
  • AgentArts Memory 记忆库概述:参考华为云支持文档
  • 创建记忆库指南:参考华为云支持文档

1.3 安装 agentarts-sdk

Linux/macOS/Windows 环境下执行:

pip install agentarts-sdk

查看版本号(要求>0.1.5):

agentarts --version

Step 2:给 Hermes 安装 agentarts 记忆插件(1 分钟)

通过命令安装插件:

agentarts memory install hermes

配置 Hermes 插件,选择agentarts hermes memory setup

工程细节:敏感与非敏感信息分离存储

插件将配置信息分类存储:

  • API Key → 写入.env文件(敏感字段,不提交至 Git);
  • Space ID、Region → 写入$HERMES_HOME/agentarts.json(非敏感配置,可版本管理)。

此设计便于 CI/CD 流程中仅需注入 API Key 环境变量,其余配置随代码仓库管理。

Step 3:验证连接(2 分钟)

重新打开命令行窗口,查看插件状态:

hermes memory status

若返回Provider:agentarts,表明插件安装成功。

认证失败排查指南

  1. API Key 有效性:检查是否重置过,重置后旧 Key 失效;
  2. 区域一致性:确认HUAWEICLOUD_SDK_REGION与创建时所选区域一致;
  3. 记忆库状态:确认控制台显示状态为running

90% 的问题源于以上三点。可使用hermes memory setup选择agentarts重置参数。

二、插件工作机制:7 个生命周期钩子

了解插件如何通过 Hermes 定义的 7 个生命周期钩子实现云端记忆:

钩子 调用时机 插件行为 通俗理解
system_prompt_block 构造系统提示词时 注入 AgentArts Memory 能力说明 告知 Agent 可使用云端记忆
prefetch 每次 LLM 调用前 搜索并注入相关记忆 回答前先"回忆"
sync_turn 每轮对话完成后 后台写入用户输入与助手回复 将这轮对话"记下来"
on_pre_compress 上下文压缩前 无需操作 逐轮已落库
on_memory_write Hermes 内置记忆写入时 同步内容至 AgentArts 本地记忆镜像至云端
on_session_end Session 结束时 无需操作 逐轮已落库
shutdown Hermes 退出时 等待后台写入并关闭客户端 完整收尾

三个核心设计解析

1. 非阻塞写入——零感知延迟

每轮对话结束后,sync_turn通过后台线程将数据同步至 AgentArts Memory,由云端策略完成提取与沉淀,不阻塞 Hermes 主循环。用户体验流畅,同时实现默默记录。

2. 上下文注入——让 Agent"想起来"

每次 LLM 调用前,prefetch根据当前对话内容检索相关记忆(用户画像、情景记忆、语义记忆、历史摘要)并注入上下文。模拟人类"先回忆再回答"的逻辑。

3. MEMORY.md 镜像——兼容现有体系

on_memory_write将 Hermes 原有的MEMORY.md写入操作镜像同步至 AgentArts Memory。本地与云端双向一致,既保留原有功能,又增强后端能力。

三、两个主动检索工具:按需"回忆"

除自动注入(prefetch)外,插件注册了两个工具供 Agent 主动搜索记忆。

ltm_search:搜索长期记忆

参数 类型 必填 默认值 说明
query string 搜索查询字符串
top_k integer 5 返回前 K 个结果

效果示例:

用户:我上次提到的问题解决了吗?

# Agent 自动调用记忆检索
ltm_search(query="用户上次提到的是什么问题?", top_k=3)

# 检索结果:
# - 用户上次咨询了订单 #20260811 的物流延迟问题
# - 包裹在转运中心滞留 2 天,已联系物流加急处理
# - 用户同意等待,未要求退款

# Agent 回答:
# "您上次咨询的是订单 #20260811 的物流延迟问题,
# 当时包裹在转运中心滞留了 2 天,我们联系了物流加急处理,
# 您同意了等待。请问这个订单现在收到了吗?"

Agent 不仅回忆起问题,还掌握了完整的处理过程和用户决策,超越了传统MEMORY.md的能力。

ltm_search_summary:获取记忆摘要列表

参数 类型 必填 默认值 说明
limit integer 10 返回条目数量

该工具适合在对话开始时调用,快速浏览 Agent 已记住的关于当前用户的信息。

四、实验验证:30 秒看到跨会话记忆

第一轮会话:告诉 Agent 一些信息

用户:我叫李四,是一名数据工程师,主要用 Python 和 Spark。
Agent:你好李四!很高兴认识你。作为数据工程师,Python 和 Spark 是很好的技术栈组合...

结束会话,等待 30 秒

等待原因:AgentArts Memory 需调用大模型进行策略化提取和向量化存储,约需 30 秒。prefetch检索的是已生成的记忆,而非刚写入的数据。

开启新会话:验证记忆

用户:你还记得我是谁吗?
Agent:当然记得!你是李四,一名数据工程师,主要使用 Python 和 Spark 进行数据处理工作。有什么我可以帮你的吗?

这就是跨会话记忆。无需数据库查询或手动传递上下文,Agent 自主"回忆"。

💡 搜索无结果?99% 因时间不足。sync_turn写入后需等待约 30 秒方可检索。

五、通用集成范式:不止于 Hermes

该集成思路适用于其他 Agent 框架,核心包含四个环节:

集成环节 Hermes 实现 通用模式 核心原则
记忆写入 sync_turn非阻塞写入 对话结束后异步写入 不阻塞主流程
记忆注入 prefetch检索注入 LLM 调用前检索相关记忆 先回忆,再回答
压缩保护 on_pre_compress 上下文压缩前重新注入 关键记忆保留在上下文中
主动检索 ltm_search工具 注册为 Agent 工具 Agent 按需主动回忆

写入(异步)+ 注入(检索)+ 保护(压缩前重注入)+ 工具(主动检索),掌握这四个关键词即可适配任何框架。

AgentArts Memory 集成生态

目前 SDK 已提供:

  • Python SDK:原生 Python 接口,4 个 API 搞定记忆管理
  • LangGraph 集成:AgentArtsMemorySessionSaver + recall_memory 工具
  • Hermes 插件:完整的生命周期钩子集成
  • 更多框架适配:持续开发中,欢迎在 GitHub 仓库提 Issue

小结

为 Hermes 用户提供10 分钟记忆升级方案

  • 不改业务代码:插件机制,复制文件 + 运行配置命令
  • 7 个生命周期钩子:自动管理记忆,无需手动调用 API
  • 核心机制:非阻塞写入 + 自动检索注入 + 压缩保护,用户零感知
  • 兼容现有设计:MEMORY.md 镜像同步,本地云端双向一致
  • 通用集成范式:写入 + 注入 + 保护 + 工具,换框架亦适用

插件代码完全开源,欢迎在 GitHub 查看、提 Issue 或贡献代码。

给你的 Hermes 升个级

AgentArts Memory 已在通用智能体、智能座舱、办公 IM 等场景验证可靠性。现在即可体验:

  • 开通服务:华为云控制台 → AgentArts → 创建记忆库(新用户享免费额度)
  • 安装插件agentarts memory install,1 分钟完成
  • 查看源码:访问 GitHub 仓库
  • 加入社区:提 Issue、贡献代码、分享集成实践
【声明】内容源于网络
0
0
华为云AI
1234
内容 211
粉丝 0
华为云AI 1234
总阅读3.7k
粉丝0
内容211