面向 Agent 集群的共享记忆:hermes-memory-pgvector
当你运行不止一个 AI agent——一个营销小助手、一个交易小助手、一个事件响应小助手——它们都需要记忆。内置记忆工具会给每个 agent 各自的一份。这没问题,直到你想让它们共享,或者直到你想回忆 agent 六周前学到的内容,而不想仅仅为了查找它就支付一次 LLM 往返调用的费用。
hermes-memory-pgvector 是一个小型的 Postgres + pgvector 插件,它会把 agent 的记忆写入镜像到一个共享的、嵌入式、可查询的存储中。已在 PyPI 发布,版本为 v0.4.2。
v0.4.2 新增内容 — 原生 pip 安装
hermes-agent 通过扫描插件 目录(内置的 plugins/memory/<name>/,用户的 $HERMES_HOME/plugins/<name>/)来发现记忆提供程序——它从不查看 site-packages,因此仅仅 pip install 会让插件正确安装,却完全不可见。v0.4.2 弥补了这一缺口:pip install 把代码放到机器上,而一条 hermes-pgvector install 命令会生成框架实际读取的发现 shim。
v0.4.1 新增内容 — 混合召回(向量 + 全文)
recall_memory 和 recall_conversation 现在使用 Reciprocal Rank Fusion(k=60)将 HNSW 余弦排序与 PostgreSQL 全文排序融合在一起。只要 任一 排序器喜欢某一行,它就会浮现出来,这修复了纯向量搜索的两个盲点:余弦相似度会抹平的精确词法命中(错误代码、主机名、标志位、罕见标识符),以及仅包含文本、NULL 嵌入的行——这些行是在嵌入端点宕机时写入的——向量索引根本看不到它们。混合召回也可作为这些行在下一次 backfill 运行之前的尽力恢复手段。
v0.4.0 添加了什么
那个版本保留了“关键路径上没有 LLM”这一规则,并增加了四项存储层能力:
- 身份治理。 直接消息会话密钥会折叠到一个单一的、隐私安全的桶中——没有按联系人扩散的主题,没有 PII——基准测试流量被隔离,而可选的允许列表会将拼错的主题名称路由到安全默认值,而不是悄悄创建一个新的主题。
- Agent 归属与委派。 新的注册表和来源边会记录哪个 agent 把什么委派给了谁,并可通过数据库视图查询。纯粹的谁/何时来源信息——绝不是事实存储。
- 嵌入回填。 在嵌入端点故障期间以纯文本写入的行不再被困住:一条幂等命令会重新生成它们的嵌入,使其再次可搜索。
- 会话 TTL 与成本控制。 由操作员运行的清理会修剪旧聊天轮次(持久记忆从不受影响),而嵌入策略可以上调或下调嵌入成本。
所有这些都通过维护 CLI(hermes-pgvector)提供,其中具有破坏性的命令默认采用 dry-run。0.4.x 线是从 v0.3.x 直接升级的替换式升级——应用追加迁移后,新钩子就会启用;如果跳过它们,其余一切都会按原样运行。
它实际做什么
一句话:“一个存储层,为内置记忆模型提供持久的、多租户的、可语义搜索的后端,而且不让 LLM 处在关键路径上。”
两张表,都带有 HNSW 向量索引。memory_entries 会把写入镜像到 agent 的 MEMORY.md/USER.md 文件。conversations 存储实质性的聊天轮次(≥40 个字符,过滤掉模板化内容)。嵌入是 768 维,由外部端点计算——Ollama、OpenAI 兼容接口,任选其一。agent 从不会在这里被阻塞:写入在微秒级返回,而嵌入工作器会在后台队列中处理其余部分。
默认按每个 agent 的主题隔离
每个请求都会携带一个 X-Hermes-Session-Key 标头,它按 agent_identity 对数据进行作用域划分。营销的笔记不会污染交易的召回结果。当你确实想进行跨主题搜索时,请显式传入 scope='all'。默认值是安全的那个。
为什么是独立项目,而不是分支
hermes-agent 按政策关闭了其内置记忆提供程序列表,因此这里作为一个独立的 /plugins 目录扫描存在,而不是上游分支。把它放到 agent 旁边,设置几个配置键,然后重启。回滚是对称的:禁用提供程序,必要时删除这些表。没有需要迁移的长期状态,也没有需要维护的内核补丁。
它不是什么
不是 Honcho 的替代品。不是知识图谱。不是 RAG 框架。它有意做成一层很薄的层,只做一件事——把内置记忆工具变成一个共享、持久、可向量搜索的存储——然后让开。没有 LLM 生成器,没有辩证循环,也不对你应如何分块或重排序发表意见。只有向量数学。
获取它
pip install hermes-memory-pgvector
hermes-pgvector install
源代码、迁移和配置都在 GitHub 上:
