Hindsight — Agent 长期记忆引擎(与 OpenViking 同赛道对比)

基本信息

  • 仓库/链接:https://github.com/vectorize-io/hindsight(Vectorize.io 出品,商业化公司)
  • Star / Fork:37,984 / 4,930(2026-09-28 实测),open issues 96
  • 创建时间:2025-10-30(约 11 个月);main 最新提交 2026-09-26,release 活跃(integrations/hermes v1.1.0 于 9-25 发布)
  • 主要语言:Python(PyPI hindsight-api/client);许可证 MIT
  • 论文:arXiv 2512.12818;在线 benchmark:benchmarks.hindsight.vectorize.io
  • 部署:单容器 Docker(内嵌 PG0)即可跑,支持外部 PostgreSQL+pgvector / Oracle AI Database / Helm;pip 嵌入模式(hindsight-all)免服务器

它是什么

专做 agent 长期记忆的引擎,口号是”让 agent 学习,而不只是回忆”。三个操作:retain(LLM 抽取事实/实体/关系/时间线入库)、recall(语义+BM25+图谱+时间四种检索并行,RRF 融合+cross-encoder 重排)、reflect(对记忆做深度综合推理)。记忆分四层:world facts / experiences / observations(多条记忆合并成的带证据信念,新证据强化而非覆盖)/ mental models(预生成的”沉淀答案”,读取是数据库读,零检索零 LLM)。记忆按 bank 隔离,支持多语言原生保留(张伟不会被转成 Zhang Wei)、45 种密钥/PII 模式的 Memory Defense 防御。

技术评估

  • 成熟度:接近生产就绪。自称 Fortune 500 生产使用(营销口径待验证),但 Virginia Tech 和 Washington Post 独立复现过 benchmark,LongMemEval SOTA 声明有背书;release 节奏快
  • 部署难度:简单偏中等——单容器内嵌 PG 十分钟起;但 retain/reflect 每次都要 LLM 调用,运行成本是真金白银
  • 依赖:PostgreSQL+pgvector 系;LLM provider 25+(含 litellm、ollama、deepseek,甚至能复用 Claude Pro 订阅)
  • 扩展性:Python/Node/Go SDK、REST、每 bank 自带 MCP endpoint、60+ 集成(LangGraph/CrewAI/n8n/Dify/Claude Code…)

与我们的直接关系(重要)

Hermes 官方支持 Hindsight 记忆提供方:hermes plugins install vectorize-io/hindsight/hindsight-integrations/hermes → hermes memory setup 选 hindsight。三种模式:cloud / local_embedded(自动拉起本地 daemon+内嵌 PG,5 分钟闲置自动停)/ local_external。pre_llm_call 自动召回注入 + post_llm_call 自动存储 + hindsight_retain/recall/reflect 三工具。原独立 pip 插件已废弃(有 async 报错),现在由 Hindsight 团队在自己仓库维护。官方明确提示:与内置 MEMORY.md 同时开会导致模型偏向内置记忆,切换时需关闭内置。

与 OpenViking 对比

两者都是”agent 记忆/上下文层”,但哲学不同:

维度HindsightOpenViking (字节火山引擎开源)
抽象范式记忆引擎:bank + 事实/实体/图谱/时间线,黑盒索引上下文数据库:viking:// 虚拟文件系统,知识/记忆/资源/技能都是可浏览的”文件”
知识可见性记忆是抽取后的结构化条目,人读原始文档放不进去完整上下文一等公民,URI 可浏览可定位,人可干预
推理能力reflect 深度综合 + observations 信念合并 + mental models 预生成答案——这是它独有强项检索为主(search/browse/read),综合靠调用方 agent 自己
检索四路并行+RRF+重排,LongMemEval SOTA(有独立复现)语义排序 + abstract/overview/full 三级细读控制 token
生态美系:Claude Code/Codex/LangGraph/n8n,Hermes 原生 provider中系:火山系工具链,Hermes 同样已接入(本会话即在用)
部署单容器/嵌入模式极简,但 retain 持续烧 LLM token服务端部署(我们在用自建实例 viking.fengmujun.com)
许可MITMIT

结论口径:不是谁替代谁——OpenViking 长于”知识与上下文的组织、可见、可治理”,Hindsight 长于”记忆的加工、综合、学习”。Hindsight 的 mental models(把高频问题的答案预计算成数据库读)和 observations(带证据计数的信念合并)是 OpenViking 没有的机制,恰好打在 agent 记忆最痛的”每轮重新检索重新拼”问题上。

当前价值(对我们)

  1. Hermes 原生支持 + local_external 模式:Pi 上不用跑重容器,指一个 Hindsight 实例(自建或 cloud 免费额度)即可把记忆层换/叠加成加工型记忆。实验成本极低,值得开一个 bank 并行试两周再评。
  2. 待验证点:Pi 性能下 retain 的 LLM 调用延迟;与现有 OpenViking 双轨并行的注入噪音(两套记忆同时注入每轮 prompt 可能互相打架——官方对内置 MEMORY.md 已有此警告,同理适用)。
  3. 概念可白嫖:mental models 的思路(高频问题预生成答案、读取即数据库读)可以直接搬进自己的 wiki 工作流——把常问问题的答案做成静态页,而不是每次检索现拼。

未来价值

客户交付 agent 方案时”记忆层选型”会是标配问题:Hindsight(学习型、SOTA benchmark、有云托管可转售)vs OpenViking(文件范式、可治理、中文生态)。两者都握在手里,按客户生态选。

同类对比(品类全景)

  • mem0 / Letta(MemGPT) / Zep:同为 agent 记忆,mem0 偏轻量抽取、Zep 偏时间知识图谱;Hindsight 差异化在 reflect/observations/mental models 这套”加工流水线”和 benchmark 营销做得最猛。
  • OpenViking:见上表,范式不同。
  • 内置文件记忆(Hermes MEMORY.md / Claude Code memory):零成本但无检索质量保障,只适合小体量。

结论

[值得关注→建议小成本实测] — 品类内 benchmark 有独立复现、部署极轻、Hermes 官方通道现成;风险是 retain 持续 LLM 成本和双记忆系统打架。行动建议:开一个 bank 用 local_external 模式并行试用两周,验证召回质量与延迟后再决定是否叠加/替换 OpenViking。

关键链接

部署实测数据(2026-09-28 补充)

  • 镜像:ghcr.io/vectorize-io/hindsight 有官方 arm64/linux 镜像,压缩层约 850MB(22 层),Pi 4/5 可拉可跑
  • 模型分工(官方 models 文档核实):
    • LLM:必须自备(retain 抽取/实体归一/reflect/mental models 全靠它)。支持 DeepSeek、火山引擎、Volcano、OpenRouter、任意 OpenAI 兼容、LiteLLM 100+。建议挂 LiteLLM 下复用现有 key
    • Embedding:默认 BAAI/bge-small-en-v1.5(~130MB),首次运行自动从 HF 下载,本地 CPU 推理,无需配置
    • Reranker:默认 cross-encoder/ms-marco-MiniLM-L-6-v2(~70MB),同样本地自动下载
    • 即:只需配一个 LLM,嵌入和重排是自动的小模型,Pi 上 CPU 可扛但首次要能访问 HF
  • 存储:不配 DATABASE_URL 时自动起内嵌 pg0(PG+pgvector 单二进制,数据在 ~/.hindsight/pg0/),生产再换外部 PG 15+
  • 开销估算:单容器(API+内嵌PG+两个小模型)稳态内存约 1.5-2GB,CPU 日常低;主要延迟在每次 retain/reflect 的 LLM 调用(远端 API 往返)。Pi 4GB 机型偏紧,8GB 可行;更优姿势是 Hindsight 跑在 x86 小服务器上,Hermes 在 Pi 上用 local_external 指过去
  • 三条路线开销排序:cloud(零本地开销,用量计费+免费额度)< local_external 指远程实例 < local_embedded/docker 本地跑

关联