Hindsight:让 AI 代理从经验中持续学习的 Agent 记忆系统
2026/9/6 17:16:49 网站建设 项目流程

Hindsight:让 AI 代理从经验中持续学习的 Agent 记忆系统

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

Hindsight 是一个开源的 Agent 记忆系统(Agent Memory),它要解决的不是"把聊天记录存下来",而是把代理在多轮交互中积累的经验变成可检索、可沉淀、可复用的知识。系统围绕 Retain(写入)、Recall(检索)、Reflect(反思)三个操作运转,支持 Docker、pip 直装、Python 内嵌和 MCP 四种接入方式。如果你正在做需要长期运行、按用户个性化、能从反馈中调整行为的代理,它可以在一个下午内完成接入并验证效果。

为什么"更大的上下文"不等于"有了记忆"

长上下文窗口本质上是会话级缓冲:会话结束即清零,且往往在填满之前检索质量就开始退化。这意味着代理每次都要重新解释背景、重复犯同样的错,团队知识也无法在多个代理之间流转。

Hindsight 处理的正是会话之外的那部分问题:把交互持久化为结构化记忆,并在需要时主动取回。它与 RAG、知识图谱的定位也不同——RAG 检索的是"文档",Hindsight 管理的是"记忆",其中包含时间序列、实体关系和因果链接。关于两者的具体差异,仓库文档里有专门对比:rag-vs-hindsight.md。

核心三操作:Retain 写入、Recall 检索、Reflect 反思

Hindsight 把一次完整的记忆生命周期拆成三个明确的操作,你可以按任务类型选用。

Retain:把原始交互变成结构化记忆

Retain 接收文本后,由 LLM 提取关键事实、时间信息、实体和关系,再经过规范化流程转成可检索的表示(实体、时间序列、稠密/稀疏向量索引)。写入时可以附带自定义元数据和时间戳,这为"按用户隔离记忆"提供了天然过滤维度。

Recall:四条检索路径并行

Recall 不是单一关键词匹配,而是同时执行四种策略:语义相似度(向量检索)、关键词精确匹配(BM25)、图关系(实体/时间/因果链接)、时间范围过滤。四路结果用倒数排名融合(RRF)合并,再经交叉编码器重排,最后按 token 预算裁剪,适合直接放进提示词。

Reflect:让记忆产出结论而非罗列

Reflect 对已有记忆做深度分析,用于需要"想清楚"而不是"查得到"的问题:项目风险复盘、分析为什么某些外联消息有回复而另一些没有、找出用户文档没覆盖的疑问。每个 bank 还可以配置"性情特质"(如怀疑度、共情度),让 Reflect 的输出风格随角色调整。

从"事实堆积"到"观察"与"心智模型"

零散事实不会永远以扁平列表存在。后台的整合(Consolidation)机制会持续把相关事实归并成Observations(观察):去重后的信念,每条都保留支撑证据的原文引用和计数;新证据到来时是对已有信念做"修正强化",而不是静默覆盖。

再往上两层是Mental Models(心智模型)Knowledge Pages(知识页)

  • 心智模型是对一个固定问题(如"这个用户的偏好是什么?")的常备答案,你定义一次问题,系统自动撰写并在后台随新经验持续改写;读取它只是一次数据库读取,不触发 LLM 调用,代理可以带着现成结论启动,而不是每个会话重新发现一遍。
  • 知识页是心智模型的文档化形态:bank 自己维护的活文档,按文件夹组织、可检索,还能导出为普通 Markdown 落盘。
  • 所有记忆存放在Bank(记忆库)中,一个 bank 是一个用户、代理或项目的独立"大脑",隔离是严格的,不存在跨 bank 泄漏。

最小启动步骤:一条命令跑起 Hindsight 记忆系统

官方推荐 Docker 方式,一条命令同时获得 API(8888 端口)和管理界面(9999 端口):

docker run -it --name hindsight --restart unless-stopped -p 8888:8888 -p 9999:9999 \ -e HINDSIGHT_API_LLM_API_KEY=$OPENAI_API_KEY -v hindsight-data:/home/hindsight/.pg0 \ ghcr.io/vectorize-io/hindsight:latest

启动前只需准备一个 LLM 密钥;Hindsight 支持 25 家以上模型提供方,也兼容 Ollama、LM Studio 等纯本地方案。如果不想独立部署服务,pip install hindsight-all可以获得 Python 内嵌版本,在进程内启动服务器和客户端,连数据库都内置了。

接入现有 Agent 流程的三条路径

按改造成本从低到高,你通常有三条路线可选。

  • LLM Wrapper:安装hindsight-litellm后,用包装器替换现有 LLM 客户端即可。每次调用前自动 Recall 相关记忆,调用后自动 Retain 对话内容,其余业务代码不动。
  • MCP 端点:每个 bank 自带一个/mcp/{bank_id}端点,任何 MCP 客户端指向它就能把 retain、recall、reflect 作为工具使用,适合不想写代码的接入。
  • 编码代理一键包:一条npx命令即可为 Claude Code、Codex、Cursor 等 CLI 代理建立按仓库隔离的长期记忆,从 git 历史和过往会话自动构建,无需额外配置。

仓库中的 hindsight-integrations/ 目录收录了 60 多个现成集成,覆盖 LangGraph、CrewAI、AutoGen、OpenAI Agents SDK、n8n、Dify 等框架与低代码平台。

效果验证:先看基准分数,再做 5 分钟自测

官方在 LongMemEval(500 条长期记忆评测题)上报告 94.6% 的准确率,作为对照的纯 RAG(Qdrant)基线为 74.0%;该结果已由 Virginia Tech 研究团队独立复现。不过对外部数字保持怀疑是合理的,建议用下面的最小验证步骤在自己的数据上确认:

  1. 用 Retain 写入几条带时间维度的事实(如某次晋升、某个偏好),并附上时间戳;
  2. 用 Recall 分别提问语义问题("Alice 是做什么的?")和时间问题("六月发生了什么?");
  3. 用 Reflect 要求一个综合判断,对比它与纯检索结果的深度差异。
from hindsight_client import Hindsight client = Hindsight(base_url="http://localhost:8888") client.retain(bank_id="my-bank", content="Alice works at Google as a software engineer") print(client.recall(bank_id="my-bank", query="What does Alice do?"))

如果第二步的时间类问题能被正确回答、第三步产出了超出原文的归纳,说明整合链路在你的数据上生效了。

谁适合用,谁不适合

  • 适合:需要按用户隔离记忆并个性化的聊天/客服代理;需要项目级长期记忆的编码代理;依赖用户反馈持续调整行为的自主任务代理。
  • 不适合:一次性批处理任务、简单的低代码流程串联——这类场景收益低于部署与推理成本,官方也直言对简单工作流"可能 overkill"。
  • 注意事项:运行需要 LLM API 密钥或本地模型;默认存储为 PostgreSQL 加 pgvector(Docker 镜像内置,也可外接);涉及用户数据时建议开启 Memory Defense 策略,它会在写入前按 45 种模式拦截密钥和 PII。

常见误区

  • 以为上下文窗口越大越好:窗口每次会话重置,它替代不了跨会话记忆。
  • 把记忆系统等同于向量库:向量相似度只是 Hindsight 四条检索路径之一。
  • 写入几次就期望效果:Observations 整合与心智模型的价值要在事实积累到一定量后才显现。
  • 用一个 bank 服务所有用户:bank 按设计相互隔离,按用户或项目拆分应在第一天就规划好。

行动建议与相关资源

如果你的代理正在重复犯同样的错、每次会话从零开始解释背景,可以先按上面的最小验证步骤跑一遍,再决定是否投入生产。生产环境还需要考虑多租户配置(全局 → 租户 → bank 三级覆盖)、Prometheus 监控和 Webhook 事件,这些在仓库文档中都有对应章节。

  • Hindsight README:项目总览与完整能力清单
  • 快速上手文档:安装与首个 retain/recall 调用
  • RAG vs Hindsight 对比:选型时读这一篇即可
  • 集成目录:60+ 框架与工具的接入方式
  • Docker Compose 示例:外接 PostgreSQL、TEI、Timescale 等部署变体

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询