10 分钟,给 Hermes 接上云端长期记忆:AgentArts Memory 插件实战
本文适合谁: 已经部署 Hermes,希望获得跨会话、跨设备云端记忆的开发者
你会得到什么: 不修改 Hermes 核心代码,通过一个 Memory Provider 插件完成自动写入、相关记忆召回、压缩前保护和主动检索
写给正在用 Hermes 的你

Hermes 很强但还可以更强
Hermes 已经是一个相当完整的开源 Agent:它能调用工具、学习技能、接受子 Agent 委派,也提供了 MEMORY.md、USER.md 和历史会话搜索等记忆能力。
但当你真的把 Hermes 用起来,尤其是运行在多台设备、临时容器或长期在线服务器上时,可能会遇到另一类问题:
-
重要信息分散在本地文件和历史会话里,换设备后不能自然延续; -
想按“意思”查找过去的经验,而不只是做关键词匹配; -
希望对话结束后自动沉淀用户偏好、项目事实和历史经验; -
上下文压缩后,仍希望 Agent 能从长期记忆中找回相关内容; -
不想为了记忆抽取、向量检索和云端存储,自己维护一整套基础设施。
Hermes 的内置记忆并不是“不好”。恰恰相反,本地 Markdown 简单、快速、透明,适合保存最重要的规则和高频事实。只是当记忆规模变大、需要跨设备或语义检索时,我们需要的是一个增强层。
AgentArts Memory提供增强层实现
这正是 AgentArts Memory 的 Hermes 插件所做的事:
保留 Hermes 原有记忆,同时把 AgentArts Memory 接入为外部长期记忆 Provider。
插件通过 Hermes 已有的 Memory Provider 接口工作,不需要修改 Hermes 核心,也不需要改你的业务代码。
接入后:
-
每轮对话结束 → 自动同步 -
每次回答之前 → 检索相关记忆 -
需要的时候 → 主动搜索云端长期记忆
| 原来的限制 | 接入后获得的能力 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AgentArts Memory 内置语义记忆、用户偏好、会话摘要和情景记忆等策略,并支持按空间、会话和用户等维度管理记忆。对于 Hermes 用户,它的价值不是“存下更多聊天记录”,而是让有用的信息能被提取、检索并在下一次会话中继续使用。
一、快速接入步骤

Step 1:准备工作(5 分钟)
1.1 确认 Hermes 环境
你应该已经有 Hermes 了。确认一下版本和主目录:
hermes --version
# 确保 Hermes 已正确安装,主目录默认为 ~/.hermes/
如果尚未安装,请参考 Hermes 官方安装文档(https://hermes-agent.nousresearch.com/docs/getting-started/installation)。
1.2 创建 AgentArts 记忆库
这一步是唯一的"新东西"——去华为云控制台创建一个记忆库。
进入华为云 AgentArts 控制台,在“组件库 → 记忆库”中创建一个记忆库。
建议先启用以下长期记忆策略:
-
语义记忆:保存项目事实和上下文知识; -
用户偏好:保存稳定的沟通与使用偏好; -
会话摘要:提炼一次会话的主题、结论和历史决策; -
情景记忆:保存带有具体过程和结果的历史经验。
创建后获取三个关键参数:
| 参数 | 环境变量 | 说明 | 获取方式 |
|---|---|---|---|
|
|
AGENTARTS_MEMORY_SPACE_ID |
|
|
|
|
HUAWEICLOUD_SDK_MEMORY_API_KEY |
|
|
|
|
HUAWEICLOUD_SDK_REGION |
|
|
🔗 相关入口
AgentArts 控制台: https://console.huaweicloud.com/agentarts/ AgentArts Memory 记忆库概述: https://support.huaweicloud.com/highcode-agentarts/agentarts_10_015.html 创建记忆库: https://support.huaweicloud.com/highcode-agentarts/agentarts_10_017.html
1.3 安装agentarts-sdk
Linux/macOS/Windows:
pip install agentarts-sdk
查看agentarts版本号(要求版本号>0.1.5):
agentarts --version
Step 2:给Hermes安装agentarts记忆插件(1 分钟)
通过agentart命令进行插件安装:
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 分钟)
插件装好后,查看 agentarts 记忆插件状态(需要重新打开一个命令行窗口):
hermes memory status
返回Provider:agentarts 即表明 Hermes 的 AgentArts Memory 插件已安装完成。
⚠️ 认证失败?别慌,按这个顺序排查
API Key 是否有效——有没有在控制台重置过?重置后旧 Key 就失效了 区域是否一致—— HUAWEICLOUD_SDK_REGION的值和创建记忆库时选的区域对得上吗记忆库状态——控制台看一下是不是 running,还在创建中就等一下90% 的问题都是这三个原因。
可使用
hermes memory setup选择agentarts,进行agentarts记忆库参数重置
二、插件做了什么:7 个生命周期钩子
到上一步你的 Hermes 已经有云端记忆了。但如果你想知道"它到底怎么工作的"——这部分才是精华。

Hermes 的插件体系定义了 7 个生命周期钩子,AgentArts Memory 插件进行了合理的设计:
| 钩子 | 调用时机 | 插件行为 | 通俗理解 |
|---|---|---|---|
| system_prompt_block |
|
|
|
| prefetch |
|
|
|
| sync_turn |
|
|
|
| on_pre_compress |
|
|
|
| on_memory_write |
|
|
|
| on_session_end |
|
|
|
| shutdown |
|
|
|
三个核心设计,逐个拆

1. 非阻塞写入——你不会感觉到任何延迟
每轮对话结束后,sync_turn 会通过后台线程将用户输入和助手回复同步到 AgentArts Memory,由云端记忆策略继续完成提取与沉淀。不阻塞 Hermes 主循环。
用户体验:对话流畅度和之前一模一样,但每轮对话都已经被默默记下来了。
2. 上下文注入——让 Agent"想起来"
每次 LLM 调用前,prefetch会根据当前对话内容从 AgentArts Memory 检索相关记忆,作为补充注入到上下文里。
检索四类内容:用户画像、情景记忆、语义记忆、历史摘要。注入之后,Agent 回答时就能"回忆起"之前的信息。
这模拟的是人类的记忆方式:你听到一个问题,大脑自动联想相关记忆,然后才能回答。先回忆,再回答——Agent 也是这个逻辑。
3. MEMORY.md 镜像——兼容你现有的东西
Hermes 原本就有一个 MEMORY.md 文件用于本地记忆。on_memory_write会把这个文件的写入操作镜像同步到 AgentArts Memory。
这意味着你原有的记忆功能不受影响,本地和云端双向一致。万一以后想换回本地记忆,数据不会丢。不是替换你的东西,是给你加一层更强的后端。
三、两个主动检索工具:让 Agent 按需"回忆"
除了自动注入(prefetch),插件还注册了两个工具让 Agent 主动搜索记忆。区别是:prefetch 是系统自动做的,Agent 不知道自己被注入了记忆;而工具是 Agent 自己决定"我现在需要回忆什么"。

ltm_search:搜索长期记忆
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| query |
|
|
|
|
| top_k |
|
|
|
|
效果示例:
用户:我上次提到的问题解决了吗?
# Agent 自动调用记忆检索
ltm_search(query="用户上次提到的是什么问题?", top_k=3)
# 检索结果:
# - 用户上次咨询了订单 #20260811 的物流延迟问题
# - 包裹在转运中心滞留 2 天,已联系物流加急处理
# - 用户同意等待,未要求退款
# Agent 回答:
# "您上次咨询的是订单 #20260811 的物流延迟问题,
# 当时包裹在转运中心滞留了 2 天,我们联系了物流加急处理,
# 您同意了等待。请问这个订单现在收到了吗?"
注意看——Agent 不只回忆起了问题本身,还回忆起了完整的处理过程和用户的决定。这在之前用 MEMORY.md 的时候是很难做到的。
ltm_search_summary:获取记忆摘要列表
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| limit |
|
|
|
|
这个工具适合在对话开始时调用,快速浏览 Agent 记住了哪些关于当前用户的信息。
四、跑个实验:30 秒看到跨会话记忆

装好了,来验证一下。
第一轮会话:告诉 Agent 一些信息
用户:我叫李四,是一名数据工程师,主要用 Python 和 Spark。
Agent:你好李四!很高兴认识你。作为数据工程师,Python 和 Spark 是很好的技术栈组合...
结束会话,等 30 秒
为什么要等?因为 AgentArts Memory 从对话生成记忆需要调大模型做策略化提取和向量化存储,大概 30 秒。prefetch 搜索的是之前轮次已生成的记忆,不是当前轮次刚写入的。
开新会话:看 Agent 还记不记得
用户:你还记得我是谁吗?
Agent:当然记得!你是李四,一名数据工程师,主要使用 Python 和 Spark 进行数据处理工作。有什么我可以帮你的吗?
这就是跨会话记忆。 没有数据库查询,没有手动传递上下文,Agent 自己"想起来"了。
💡 搜索没结果?99% 是时间不够
sync_turn写入后不会立即可搜索。等 30 秒后重试,基本就好了。
五、一套通用范式:不只是 Hermes
如果你以后换到别的 Agent 框架,Hermes 插件的集成思路照样能用。核心就是四件事:
| 集成环节 | Hermes 实现 | 通用模式 | 核心原则 |
|---|---|---|---|
|
|
sync_turn
|
|
|
|
|
prefetch
|
|
|
|
|
on_pre_compress |
|
|
|
|
ltm_search
|
|
|
写入(异步)+ 注入(检索)+ 保护(压缩前重注入)+ 工具(主动检索)
记住这四个词,任何框架集成的思路就有了。
💡 AgentArts Memory 的集成生态
Hermes 只是第一步。目前 SDK 已提供:
Python SDK:原生 Python 接口,4 个 API 搞定记忆管理 LangGraph 集成:AgentArtsMemorySessionSaver + recall_memory 工具 Hermes 插件:完整的生命周期钩子集成 更多框架适配持续开发中,欢迎在 GitHub 仓库(https://github.com/huaweicloud/agentarts-sdk-python)提 Issue 告诉我们你的需求
小结
如果你已经在用 Hermes,这篇文章给你的是一个10 分钟的记忆升级方案:
-
不改业务代码——插件机制,复制文件 + 跑一条配置命令 -
7 个生命周期钩子自动管理记忆——你不用手动调任何记忆 API -
核心机制:非阻塞写入 + 自动检索注入 + 压缩保护——用户零感知,Agent 有记忆 -
兼容现有设计——MEMORY.md 镜像同步,本地和云端双向一致 -
通用集成范式:写入 + 注入 + 保护 + 工具——换框架也用得上
插件代码完全开源,欢迎在 GitHub 查看、提 Issue 或贡献代码。
🚀 给你的 Hermes 升个级
AgentArts Memory 从 4 月 15 日公测至今,已经在通用智能体、智能座舱、办公IM等场景中验证了可靠性。
现在,你可以让自己的 Hermes 也用上同一套记忆能力:
开通服务:华为云控制台 → AgentArts → 创建记忆库(新用户有免费额度)
安装插件:agentarts memory install,1 分钟搞定
加入社区:提 Issue、贡献代码、分享你的集成实践
🔗 控制台:https://console.huaweicloud.com/agentarts/
🔗 产品文档:https://support.huaweicloud.com/highcode-agentarts/agentarts_10_015.html
🔗 SDK 仓库:https://github.com/huaweicloud/agentarts-sdk-python
推荐体验AI办公智能体,华为云智果OfficeAce,你身边的AI办公工作台:https://www.huaweicloud.com/product/agentarts/officeace.html

关注魔方公众号,获取更多前沿资讯
- 点赞
- 收藏
- 关注作者
评论(0)