返回知识库
🔮

Hindsight 记忆系统深度解析

Agent Memory That Learns

15.4k
GitHub Stars
873
Forks
1562
Commits
SOTA
LongMemEval
💡

什么是 Hindsight?

核心概念

Hindsight™ 是由 Vectorize, Inc. 开发的 Agent 记忆系统,核心理念是:让 Agent 学习,而不只是记住

🎯
大多数 Agent 记忆系统(如 Mem0、Zep)聚焦于「回忆对话历史」,而 Hindsight 的目标是让 Agent 从经验中学习、形成心智模型、随时间变得更聪明。这就像人类不只是记住发生过的事,而是从中总结规律、形成直觉。
🧠

仿生记忆架构

模拟人类记忆的三层结构:世界事实、个人经验、心智模型,而非简单的向量检索。

📊

基准测试 SOTA

在 LongMemEval 基准测试中排名第一,性能数据由 Virginia Tech 独立复现验证。

🏭

生产级部署

已被 Fortune 500 企业和众多 AI 创业公司用于生产环境,Docker 一键部署。

🏗️

仿生记忆架构

Architecture

Hindsight 的核心创新是采用仿生数据结构(Biomimetic Data Structures)组织记忆,模拟人类记忆的分层机制:

Hindsight 三层记忆架构
🏦
Memory Bank(记忆库)
所有记忆的容器,支持多 Bank 隔离
🌍
World Facts
世界事实
"火炉会烫"
Experiences
个人经验
"我碰了火炉,很痛"
🧩
Mental Models
心智模型
"高温物体要远离"
🏷️ Entities
实体抽取
🔗 Relationships
关系抽取
📅 Time Series
时序数据
📊 Sparse/Dense
向量表示
与传统方案的本质区别:传统 RAG 只做「文本切片 → 向量化 → 相似度搜索」,Hindsight 则从记忆中提取实体、关系、时序信息,构建结构化的知识表示,并通过 Reflect 操作形成更高层次的「心智模型」。
⚙️

三大核心操作

Operations

Hindsight 提供三个简洁的操作接口:Retain(保留)、Recall(回忆)、Reflect(反思),覆盖记忆的写入、读取和深度思考。

📥

Retain — 记忆写入

将新信息存入 Hindsight。系统会自动使用 LLM 提取关键事实、实体、关系和时序数据,经过归一化处理后生成规范化的实体、时序和搜索索引。

🔍

Recall — 记忆检索

从记忆库中检索相关信息。同时执行四种检索策略:语义向量、关键词 BM25、图谱关系、时序过滤,然后通过 Reciprocal Rank Fusion + Cross-Encoder 重排序合并结果。

🧩

Reflect — 深度反思

对已有记忆进行深度分析,形成新的关联和洞察,构建「心智模型」。例如:AI 项目经理反思项目风险、销售 Agent 分析哪种话术更有效。

hindsight_demo.py — 三大操作演示
from hindsight_client import Hindsight

client = Hindsight(base_url="http://localhost:8888")

# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# 1. RETAIN —— 存入记忆
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
client.retain(
    bank_id="my-agent",
    content="Alice 在 Google 担任高级工程师,擅长分布式系统"
)

# 带上下文和时间戳
client.retain(
    bank_id="my-agent",
    content="Alice 晋升为 Staff Engineer",
    context="职业变动",
    timestamp="2026-06-01T10:00:00Z"
)

# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# 2. RECALL —— 检索记忆(四路并行检索)
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
results = client.recall(
    bank_id="my-agent",
    query="Alice 的职业背景是什么?"
)
# 自动执行: 语义搜索 + BM25 + 图谱 + 时序
# 返回按相关性排序的融合结果

# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# 3. REFLECT —— 深度反思
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
insights = client.reflect(
    bank_id="my-agent",
    query="关于 Alice,我应该了解什么?"
)
# 系统分析所有相关记忆,生成心智模型
🔎

四路并行检索引擎

Retrieval

Recall 操作的核心优势——同时执行四种互补的检索策略,确保不遗漏任何相关记忆:

🎯 语义向量搜索(Semantic)

使用 Embedding 模型将查询和记忆都转化为高维向量,计算余弦相似度。能理解同义词、近义表达。

💡
例如搜索「Alice 的工作」能匹配到「Alice 在 Google 任职」,因为两者在语义空间中距离很近。

🔤 关键词精确匹配(BM25)

经典的 BM25 算法,擅长精确匹配专有名词、数字、日期等语义搜索可能遗漏的细节。

📌
例如搜索「2026年6月」能精确匹配包含该日期的记忆,而语义搜索可能匹配到「最近」这种模糊表达。

🕸️ 图谱关系链接(Graph)

利用实体和关系构建的知识图谱,支持多跳推理和关系发现。

🔗
例如查询「Alice 的同事」可以通过图谱路径 Alice → works_at → Google → colleague → Bob 找到关联人物。

📅 时序过滤(Temporal)

基于时间戳的范围过滤,支持「最近一周发生了什么」「6月份有哪些事件」等时间维度查询。

时序数据在 Retain 阶段就从文本中提取并归一化,查询时可以直接做范围过滤,不需要语义理解。
Recall 检索融合流程
🎯 语义
🔤 BM25
🕸️ 图谱
📅 时序
↓ 并行执行
🔀 Reciprocal Rank Fusion
多路结果融合排序
🏆 Cross-Encoder Reranking
精排 + Token 限制裁剪
🗂️

三层记忆详解

Memory Types

Hindsight 将记忆分为三个层级,每一层都有独特的处理逻辑和检索路径:

🌍

World Facts(世界事实)

关于世界的客观事实,如「Python 是一种编程语言」「北京是中国首都」。这些是通用知识,不依赖特定经验。

客观 · 持久

Experiences(个人经验)

Agent 自身的经历和交互记录,如「用户上次问了关于 Redis 的问题」「上次部署失败是因为端口冲突」。

主观 · 时序
🧩

Mental Models(心智模型)

通过对世界事实和个人经验的反思(Reflect)形成的高层理解。例如「这个用户偏好简洁的代码风格」「周一下午用户通常比较忙」。

抽象 · 学习
🔮
Mental Model 是 Hindsight 的杀手锏:其他记忆系统只能存取原始信息,Hindsight 能通过 Reflect 操作从记忆中提炼出规律和洞察,让 Agent 的回答越来越精准、越来越「懂你」。

快速开始

Quick Start
Docker 一键部署(推荐)
# 设置 LLM API Key
export OPENAI_API_KEY="sk-..."

# Docker 启动(API + UI)
docker run --rm -it --pull always -p 8888:8888 -p 9999:9999 \
  -e HINDSIGHT_API_LLM_API_KEY="sk-..." \
  -v $HOME/.hindsight-docker:/home/hindsight/.pg0 \
  ghcr.io/vectorize-io/hindsight:latest

# API: http://localhost:8888
# UI:  http://localhost:9999
Python 嵌入模式(无需服务器)
pip install hindsight-all -U

import os
from hindsight import HindsightServer, HindsightClient

with HindsightServer(
    llm_provider="openai",
    llm_model="gpt-5-mini",
    llm_api_key=os.environ["OPENAI_API_KEY"]
) as server:
    client = HindsightClient(base_url=server.url)
    client.retain(bank_id="demo", content="Alice 在 Google 工作")
    results = client.recall(bank_id="demo", query="Alice 在哪工作?")
    print(results)
⚠️
LLM Provider 支持:OpenAI、Anthropic、Gemini、Groq、Ollama、LM Studio、MiniMax。通过 HINDSIGHT_API_LLM_PROVIDER 环境变量切换。
🔌

2 行代码集成

Integration

Hindsight 提供了 LLM Wrapper 模式——只需替换你的 LLM 客户端,记忆就会自动存取,无需修改任何业务逻辑:

LLM Wrapper 集成模式
原始 LLM 调用
client.chat()
Hindsight Wrapper
自动 Retain + Recall
增强的 LLM 响应
带记忆上下文
llm_wrapper_demo.py — 2 行代码加记忆
from hindsight_client import HindsightLLMWrapper

# 替换你的 LLM 客户端,记忆自动生效
llm = HindsightLLMWrapper(
    base_url="http://localhost:8888",
    bank_id="my-agent"
)

# 之后的所有调用都会自动存取记忆
response = llm.chat("帮我回顾一下上次的项目进展")
# → 自动 Recall 相关记忆,注入上下文
# → 响应后自动 Retain 新的交互
⚖️

与其他记忆方案对比

Comparison
特性 Hindsight Mem0 传统 RAG LangChain Memory
心智模型 ✅ Reflect 生成 ❌ 无 ❌ 无 ❌ 无
四路检索 ✅ 语义+BM25+图谱+时序 ⚠️ 语义+图谱 ⚠️ 仅语义 ❌ 无
仿生架构 ✅ 三层记忆 ❌ 扁平结构 ❌ 文本切片 ❌ 键值对
时序支持 ✅ 原生时序 ⚠️ 元数据 ❌ 无 ❌ 无
LLM Wrapper ✅ 2 行集成 ⚠️ 需改代码 ❌ 需自建 ⚠️ 需配置
基准测试 🏆 SOTA ⚠️ 未公开 ❌ 不适用 ❌ 不适用
部署方式 ✅ Docker / 嵌入 ✅ pip install ❌ 需自建 ✅ pip install
🏆
选择建议:如果你需要 Agent 从经验中学习并持续进化,Hindsight 是最佳选择;如果只需要简单的跨会话记忆,Mem0 更轻量;如果需要完全自定义,可以基于 LangChain 自建。
🚀

典型应用场景

Use Cases
🤖

AI 员工

处理开放式任务、根据用户反馈调整行为、学习执行复杂任务,达到接近人类员工的工作水平。

📊

AI 项目经理

通过 Reflect 反思项目风险、识别瓶颈、总结经验教训,持续优化项目管理策略。

💼

销售 Agent

分析哪种话术获得回复、哪些客户有购买意向,从每次交互中学习提升转化率。

🎧

客服 Agent

记住每位用户的历史问题、偏好和情绪模式,提供越来越精准的个性化服务。

👨‍💻

编程 Copilot

记住开发者的编码风格、项目架构决策、常见 bug 模式,随使用越来越「懂你」。

🔗

多 Agent 协作

通过 Memory Bank 隔离实现多 Agent 共享记忆层,支持团队协作场景。

👤

Per-User 记忆隔离

Multi-User

Hindsight 通过 Metadata 机制实现用户级记忆隔离,天然支持多租户场景:

per_user_memory.py — 用户级隔离
from hindsight_client import Hindsight

client = Hindsight(base_url="http://localhost:8888")

# Alice 的记忆 —— 通过 metadata 隔离
client.retain(
    bank_id="customer-support",
    content="Alice 喜欢简洁的回答风格",
    metadata={"user_id": "alice_123"}
)

# Bob 的记忆 —— 不同的 user_id
client.retain(
    bank_id="customer-support",
    content="Bob 偏好详细的解释",
    metadata={"user_id": "bob_456"}
)

# 检索时只返回 Alice 的记忆
results = client.recall(
    bank_id="customer-support",
    query="用户的回答偏好",
    metadata={"user_id": "alice_123"}
)
💾

存储与模型支持

Infrastructure
🐘

PostgreSQL

默认存储后端,Docker 自带

🏢

Oracle AI DB

企业级部署,功能完全对等

🤖

OpenAI

默认 LLM Provider

🧠

Anthropic

Claude 系列模型

💎

Gemini

Google 系列模型

🦙

Ollama

本地模型推理

🔗

相关资源

Resources