news 2026/9/13 13:45:41

Hindsight vs Hermes Holographic Memory:Hermes Agent 记忆提供商的架构权衡与选型指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Hindsight vs Hermes Holographic Memory:Hermes Agent 记忆提供商的架构权衡与选型指南

Hindsight vs Hermes Holographic Memory:Hermes Agent 记忆提供商的架构权衡与选型指南

【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight

本文以 Hermes Agent 的 Holographic(全息)记忆方案为切入点,解析其 HRR 代数表示、本地 SQLite 存储与信任度评分的设计动机,并对照 Hindsight 的结构化事实记忆与多策略召回架构,给出两者的架构差异、Hermes 侧的真实配置参数(hermes memory setupconfig.yaml/config.json、记忆模式)以及一份可落地的选型决策指南。读完你可以判断:什么场景该用轻量本地记忆,什么场景需要跨会话、跨工具、多 Agent 共享的持久记忆层。

Hermes 的 Holographic 记忆是什么

Hermes 目前对外暴露了多个可插拔的记忆提供商,其中 Holographic(全息)是最特殊的一个:它不依赖云 API,也不走标准的向量数据库流水线,而是被 Hermes 的记忆提供商文档描述为一个HRR 基础的本地记忆系统,配套 SQLite 存储、信任度评分(trust scoring)以及极低的召回延迟。

这使它和 Hindsight 因不同的原因而具有吸引力:

  • 当你想要一个紧凑、本地、代数式的记忆层,依赖最少时,Holographic 是合适的;
  • 当你想要结构化事实抽取、多策略检索、可跨会话/工具/团队共享的记忆时,Hindsight 更合适。

两者解决的是相邻的问题,但设计哲学完全不同。本文先解释 Holographic 想做什么、它的架构与 Hindsight 有何不同、各自的优势区间,最后给出在 Hermes 中启用两套方案的具体配置示例。

Holographic 的三个核心概念

HRR 风格的代数表示

"Holographic"(全息)指的是Holographic Reduced Representations(全息简化表示)这一类表示方法。

其核心思想是:记忆以代数方式表示,而不是切成文本块后仅靠语义相似度检索。从工程视角不必深入数学细节,只需要理解三点实用推论:

  • 记忆存储在一个压缩的表示空间中;
  • 检索是代数运算而非标准的 chunk 相似度搜索;
  • 系统为速度与局部性而优化。

这与"知识图谱 + 多策略检索栈"的路线形成了鲜明的设计对立。Hermes 记忆提供商文档给出的整体图景是:

  • 本地 SQLite 存储
  • 零额外外部服务
  • 对召回记忆进行信任度评分
  • 最小化的工具面(tool surface)
  • 极快的本地检索

信任度评分(Trust Scoring)

Hermes 资料中一个颇有意思的设计是信任度评分。其声明的目标是:在多个会话中被反复确认的记忆权重上升,而与更新信息相矛盾的记忆权重随时间下降。概念上,这让存储趋向"自我修正"而非单纯累积。

这是一个有实质意义的设计选择,因为在长生命周期记忆系统中,噪声是最难处理的问题之一——累积式存储会不断放大早期对话中的错误信息,而信任度衰减机制则给了系统一种内建的纠错方向。

本地优先存储(Local-first)

Holographic 被定位为基于本地 SQLite 的提供商,这使它天然适合:

  • 气隙(air-gapped)环境
  • 依赖轻量级的安装
  • 单用户本地工作流
  • 快速的实验性迭代

也正因为如此,它的默认叙事与 Hindsight Cloud 或多 Agent 共享 bank 的模式截然不同:Holographic 优化的是"一个用户在本地把记忆用起来",而不是"记忆在多端、多工具之间流动"。

重要边界说明:Holographic 属于 Hermes Agent 生态内的提供商,其 HRR、SQLite、信任度评分等描述来自 Hermes 侧的文档叙述,本仓库不包含其实现代码,因此本文对 Holographic 的论述均视为该生态的公开资料陈述;而对 Hindsight 一侧的论述则可以直接在本仓库源码与文档中找到证据。

Hindsight 的不同之处:结构化事实记忆

Hindsight 走的是几乎相反的路线。它不强调最小依赖和代数检索,而是强调结构化记忆

  • retain 时进行事实抽取(fact extraction)
  • 实体解析(entity resolution)
  • 关系构建(relationship building)
  • 时间推理(temporal reasoning)
  • 多策略召回(multi-strategy recall)
  • 重排序与综合(reranking and synthesis)

换句话说,Hindsight 被构建来回答这样的问题:

  • 随时间推移发生了什么变化?
  • 这些相互关联的记忆合起来意味着什么?
  • 围绕某个实体或项目发生了什么?
  • 多个 Agent 之间应该共享什么?

这一模型在召回架构文档 retrieval.md 中有完整描述:recall()会并行运行TEMPR 四种检索策略(语义、关键词、图谱遍历、时间检索),再经 RRF 融合与 Cross-Encoder 重排序,最后按 token 预算裁剪结果(见 retrieval.md 中的流程图)。这正是与"单一代数检索机制"最本质的差别。

架构对比:逐维度拆解

维度Hermes HolographicHindsight
核心思想HRR 风格的代数记忆结构化事实记忆
默认存储本地 SQLite本地或云
抽取方式不以 LLM 事实抽取为定位retain 时的结构化抽取
检索侧重极快的本地召回语义 + 关键词 + 图谱 + 时间
信任模型显式信任度评分演进式的事实、实体与观察(observations)
跨工具共享记忆非主打一等公民
最佳适配本地轻量记忆持久的跨会话 Agent 记忆

从表格可以看出,二者优化的目标函数不同:Holographic 优化本地响应性与依赖面,Hindsight 优化检索质量与共享性

在 Hermes 中配置两套记忆方案

启用 Holographic 提供商

Hermes 通过记忆向导暴露提供商设置:

hermes memory setup

然后选择holographic

或者直接在~/.hermes/config.yaml中配置提供商:

memory: provider: holographic

这种本地优先的极简设置,正是该提供商吸引力的一部分。

启用 Hindsight 提供商

改用 Hindsight 时:

hermes memory setup

然后选择hindsight。或者直接把提供商设为:

memory: provider: hindsight

对于云端共享记忆,还需按 Hermes 集成文档 提供 Hindsight 端点与凭据。集成文档给出的两条实际路径是:

# 方式一:向导(提示输入 API key 与 API URL,自动完成配置) hermes memory setup # select "hindsight" # 方式二:手动配置 hermes config set memory.provider hindsight echo "HINDSIGHT_API_KEY=your-key" >> ~/.hermes/.env echo "HINDSIGHT_API_URL=https://api.hindsight.vectorize.io" >> ~/.hermes/.env

配置完成后,用hermes memory status确认记忆已激活。

注意:旧的独立 pip 插件hindsight-hermes弃用(在新版 Hermes 上工具会报Timeout context manager should be used inside a task),应改用原生提供商;迁移方案见 迁移指南。

Hindsight 提供商的关键配置项(真实默认值)

以下参数取自仓库中的集成文档 hermes.md,全部位于~/.hermes/hindsight/config.json,且都可用环境变量覆盖(环境变量优先):

连接与守护进程

配置项默认值环境变量说明
modecloudHINDSIGHT_MODEcloudlocal
api_urlhttps://api.hindsight.vectorize.ioHINDSIGHT_API_URLHindsight API 地址
api_keynullHINDSIGHT_API_KEY云端鉴权 token
apiPort9077HINDSIGHT_API_PORT本地 Hindsight 守护进程端口

本地模式的 LLM 提供商(仅local模式需要)

配置项默认值环境变量说明
llm_provideropenaiHINDSIGHT_LLM_PROVIDER支持openaianthropicgeminigroqminimaxollamalmstudio
llm_api_keyHINDSIGHT_LLM_API_KEY所选提供商的 API key
llm_model各提供商默认模型HINDSIGHT_LLM_MODEL模型覆盖

记忆银行(Memory Bank)

配置项默认值环境变量说明
bank_idhermesHINDSIGHT_BANK_ID记忆银行 ID
bankMission""HINDSIGHT_BANK_MISSION该银行的 Agent 身份/目的

自动召回与自动留存

配置项默认值环境变量说明
autoRecalltrueHINDSIGHT_AUTO_RECALL通过pre_llm_call钩子启用自动召回
recallBudget"mid"HINDSIGHT_RECALL_BUDGET召回力度:low/mid/high
recallMaxTokens4096HINDSIGHT_RECALL_MAX_TOKENS召回响应最大 token 数
autoRetaintrueHINDSIGHT_AUTO_RETAIN通过post_llm_call钩子启用自动留存

集成模式

配置项默认值说明
memory_modehybridhybrid(自动注入 + 工具)/context(仅自动注入)/tools(仅工具)
prefetch_methodrecallrecall(注入原始事实,快)/reflect(LLM 综合摘要,更连贯但慢)

这套配置表本身就说明了两种方案的定位差异:Holographic 几乎不需要这类配置面,而 Hindsight 在 Hermes 内部暴露了召回预算、token 上限、记忆模式等一整套可调参数,因为其背后是一个多策略检索系统。

生命周期钩子与显式工具

原生 Hindsight 提供商向 Hermes 注册了 5 个组件(见 hermes.md):

组件作用
pre_llm_call钩子自动召回——查询记忆并作为临时系统提示上下文注入
post_llm_call钩子自动留存——把本轮用户/助手对话存入 Hindsight
hindsight_retain工具显式记忆存储(模型主动调用)
hindsight_recall工具显式记忆检索(模型主动调用)
hindsight_reflect工具基于已存记忆的 LLM 综合回答

这意味着 Hindsight 的自动留存发生在每次响应之后(异步抽取事实、实体与关系),而自动召回发生在下一次调用之前——当前轮次写入的记忆要到下一轮才会被召回,这是刻意的异步设计,用来保证每次 LLM 调用的低延迟。

性能特征:先分清"哪种性能"

讨论性能时必须区分两个维度,否则结论没有意义。

Holographic 的性能

Hermes 资料将 Holographic 定位为:

  • 亚毫秒级的本地检索
  • 最小开销
  • 无外部服务延迟

这对本地响应性是一个很强的性能画像:单用户、单机、低延迟。

Hindsight 的性能

Hindsight 的性能叙事不同。它并不试图成为"最轻量的本地记忆提供商",而是试图在更难的记忆工作负载下准确检索,包括 BEAM 这类大规模记忆基准。据仓库博客 Hindsight Is #1 on BEAM 的叙述,BEAM 测试了 1000 万 token 量级、上下文塞入在物理上不可能的记忆场景,Hindsight 在该量级取得 64.1%,次高的已公开结果约 40.6%(数据以该仓库博客为准)。

因此权衡不是"哪个更快",而是"哪个为我的真实工作负载做了优化":Holographic 优化检索路径的延迟,Hindsight 优化复杂查询(时间、实体、多跳关系)下的召回质量。

选型决策指南

选择Hermes Holographic,当:

  • 你的部署是本地优先的
  • 你希望依赖越少越好
  • 你最看重轻量记忆与快速召回
  • 跨工具共享记忆不是主要需求

选择Hindsight,当:

  • 你希望记忆在跨会话、跨工具间持久
  • 你需要比单一本地机制更丰富的检索
  • 时间与实体的连续性很重要
  • 多个 Agent 或客户端需要共享上下文
  • 你希望有一套在规模下有公开基准证据的系统

如何理解这个权衡

Holographic 的有趣之处在于它从系统角度切入记忆问题:保持本地、保持轻量、保持代数化。

Hindsight 则从Agent 记忆角度切入:retain 时保留结构、检索时走多条策略、让记忆在更大的工作流中可用。

这两个都是正当的设计目标,只是优化了不同的环境。一个务实的判断标准是:如果你的 Agent 只是单机的连续对话伙伴,Holographic 的极简路线已经足够;如果 Hermes 只是更大 Agent 系统的一部分——多设备、多工具、多 Agent 共享同一个记忆银行——那么结构化的事实记忆与多策略召回会直接决定"上周说过的事这周还能不能想起来"。

参考路径(本仓库内)

  • Hermes 集成文档(配置表、钩子、连接模式、故障排查):hermes.md
  • Hindsight 召回架构(TEMPR 四策略、融合与重排序):retrieval.md
  • BEAM 基准结果博客:beam-sota.md
  • Hermes 原生记忆提供商发布说明:hermes-native-memory-provider.md
  • 内置记忆与 Hindsight 规模化对比:comparison-hermes-built-in-memory-vs-hindsight-at-scale.md
  • 旧插件迁移指南:guide-migrate-hindsight-hermes-to-native-hermes-memory.md

【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 13:43:55

AI代理(Agent)实战指南:从工具到虚拟员工的跃迁

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 13:40:07

3步跑通gs-quant:Python量化金融工具包如何打通数据、定价与回测

3步跑通gs-quant:Python量化金融工具包如何打通数据、定价与回测 【免费下载链接】gs-quant Python toolkit for quantitative finance 项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant 做量化策略的人常遇到一个割裂感:取行情是一套…

作者头像 李华
网站建设 2026/9/13 13:39:58

ClkLog无埋点技术:用户行为分析的革新方案

1. 埋点分析的痛点与ClkLog的解决方案在用户行为分析领域,传统埋点方案存在一个显著痛点:需要预先设计完整的事件体系。这往往导致两个问题:一是前期规划耗时费力,二是后期发现数据缺失时难以补救。ClkLog的创新之处在于&#xff…

作者头像 李华
网站建设 2026/9/13 13:37:53

Redis在Linux下的完整部署与生产配置实践

1. 项目概述与配置思路1.1 Redis在Linux环境中的定位Redis可以说是后端服务里最常见的一个中间件了。一提到它,大部分人想到的是缓存,但它真正能做的事情远不止这些——分布式锁、排行榜、消息队列、限流计数器、会话共享,几乎每个业务系统里…

作者头像 李华
网站建设 2026/9/13 13:37:37

跟踪微分器TD详解:从PID误解到自抗扰仿真调参

简介:面向自动控制领域学生与工程师,这份资料聚焦跟踪微分器在自抗扰控制中的仿真实现,解决建模、参数调整及干扰估计等实际应用问题。跟踪微分器可平滑提取微分信号、抑制高频噪声,是自抗扰控制器设计中的关键前置环节。包内共五…

作者头像 李华
网站建设 2026/9/13 13:37:17

嵌入式开发强度本质:硬件约束下的工程直觉训练

1. “实话难听”不是态度问题,是嵌入式工程师的生存反射弧“实话难听”这四个字,放在2026年谈嵌入式入行,已经不是一句情绪化吐槽,而是一条被无数项目现场反复淬炼出的生理反应路径——它直接对应着你第一次在示波器上看到UART波形…

作者头像 李华