跳到主内容
Hindsight中文

Agent Memory That Learns

让智能体学会而不只是记住

Hindsight 把每次对话提炼为事实、经历、观察与心智模型,让智能体随时间不断精炼记忆,而不是回放历史。

Hindsight 记忆架构智能体通过保留、召回、反思三个操作,与世界事实、经历、观察、心智模型四类记忆交互。四类记忆共同构成一个记忆网络, 每个 bank 之间严格隔离。记忆网络BANK世界事实FACTS经历EXPERIENCE观察INSIGHTS心智模型MODELSAGENT保留RETAIN存入信息召回RECALL检索记忆反思REFLECT生成洞见

基准成绩

被测过的最准确方案

LongMemEval 广泛用于评估对话式 AI 的记忆表现。Hindsight 在综合得分上领先 Zep、SuperMemory 等方案,也高于直接使用 GPT-4o 的基线。

数据已由弗吉尼亚理工 Sanghani 人工智能与数据分析中心及《华盛顿邮报》的研究合作方独立复现,其余分数由各家厂商自行上报。

LongMemEval / Overall Score

  • Hindsight94.6%
  • SuperMemory85.92%
  • Zep71.2%
  • GPT-4o60.2%

记忆如何进出

记忆存放在 bank 中。新记忆加入时会被推入「世界事实」或「经历」通道之一,再以实体、关系、时间序列的组合形式表示,并辅以稀疏与稠密向量表征,以便后续召回。

Retain保留

把新记忆推入 Hindsight

retain 借助 LLM 抽取关键事实、时间数据、实体与关系,再经归一化流程转换为规范化实体、时间序列、搜索索引与元数据。这些表征构成了 recall 与 reflect 精准检索记忆的通路。

retain
client.retain(
    bank_id="my-bank",
    content="Alice got promoted to senior engineer",
    context="career update",
    timestamp="2025-06-15T10:00:00Z",
)
Recall召回

检索任意类型的记忆

recall 并行执行四路检索,结果先以倒数排名融合按相关性排序,再用交叉编码器重排,最后按需裁剪以适配 token 上限。

并行检索

  • 语义向量相似度
  • 关键词BM25 精确匹配
  • 图谱实体 / 时间 / 因果关联
  • 时间时间范围过滤

倒数排名融合交叉编码器重排按 token 上限裁剪

Reflect反思

在记忆之上生成新的洞见

reflect 让智能体在记忆之间建立新联系,并对自身世界形成更透彻的理解,适合需要深度思考而非简单查表的问题。

  • AI 项目经理反思项目中需要规避的风险。
  • 销售智能体反思为何某些外联消息有回应,另一些没有。
  • 支持智能体反思客户现有产品文档没能解答的问题。

四类记忆结构

多数智能体记忆依赖基础的向量检索,偶尔用上知识图谱。Hindsight 采用更接近人类记忆工作方式的组织方式。

World facts

世界事实

关于外部世界的事实性知识,不依赖智能体自身的经历。

“炉子开着的时候会变烫。”

Experiences

经历

智能体自身的第一手体验,带有主体视角与时间戳。

“我摸了炉子,真的很疼。”

Observations

观察

由大量记忆凝练出的、有证据支撑的信念,会被精炼而非覆盖。

“这个厨房里的操作台总是很烫。”

Mental models

心智模型

从观察与事实中综合出的、对所处世界的习得性理解。

“张伟习惯先验证再动手。”

默认多语言

输入语言会被检测并端到端保留。事实保持原始语言,实体保留原生文字,张伟仍然是张伟,而不是「Zhang Wei」。

记忆防御

可按 bank 启用的策略,针对 45 种模式扫描每次 retain 中的密钥与 PII,要么脱敏为[REDACTED:github_token],要么在存入前直接拦截。

快速开始

把服务端跑起来

API :8888,UI :9999,数据卷 hindsight-data

docker run(推荐)
export OPENAI_API_KEY=sk-xxx

docker run -it --pull always --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

连接客户端

安装客户端
# Python
pip install hindsight-client -U

# Node.js / TypeScript
npm install @vectorize-io/hindsight-client

# Go
go get github.com/vectorize-io/hindsight/hindsight-clients/go

# CLI
curl -fsSL https://hindsight.vectorize.io/get-cli | bash
Python
from hindsight_client import Hindsight

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

# Retain:存储信息
client.retain(bank_id="my-bank", content="Alice works at Google as a software engineer")

# Recall:检索记忆
client.recall(bank_id="my-bank", query="What does Alice do?")

# Reflect:生成带倾向性的回答
client.reflect(bank_id="my-bank", query="Tell me about Alice")
Node.js / TypeScript
const { HindsightClient } = require('@vectorize-io/hindsight-client');

const main = async () => {
  const client = new HindsightClient({ baseUrl: 'http://localhost:8888' });

  await client.retain('my-bank', 'Alice loves hiking in Yosemite');

  const results = await client.recall('my-bank', 'What does Alice like?');
  console.log(results);
};

main();

完整参考:Python、Node.js、Go、CLI、REST API

不用重写,接入已有 Agent

60+ 项集成,多数无需改代码。编程智能体一条命令装好,框架与无代码平台各有现成适配,每个服务端还自带 MCP 端点。

  • Claude Code
  • Codex
  • Cursor
  • GitHub Copilot
  • opencode
  • Cline
  • Aider
  • Zed
  • Continue
  • Roo Code
  • OpenHands
  • LangGraph / LangChain
  • LlamaIndex
  • CrewAI
  • Pydantic AI
  • OpenAI Agents SDK
  • Google ADK
  • Agno
  • Strands
  • AutoGen
  • Microsoft Agent Framework
  • Vercel AI SDK
  • Haystack
  • n8n
  • Zapier
  • Dify
  • Flowise
  • ChatGPT
  • Perplexity
  • Obsidian
  • Pipecat
  • Vapi
  • Claude Code
  • Codex
  • Cursor
  • GitHub Copilot
  • opencode
  • Cline
  • Aider
  • Zed
  • Continue
  • Roo Code
  • OpenHands
  • LangGraph / LangChain
  • LlamaIndex
  • CrewAI
  • Pydantic AI
  • OpenAI Agents SDK
  • Google ADK
  • Agno
  • Strands
  • AutoGen
  • Microsoft Agent Framework
  • Vercel AI SDK
  • Haystack
  • n8n
  • Zapier
  • Dify
  • Flowise
  • ChatGPT
  • Perplexity
  • Obsidian
  • Pipecat
  • Vapi

最简单的方式是 LLM 包装器:把客户端换成包装后的版本,此后每次调用都会自动存储与检索记忆。底层基于 LiteLLM,同一套集成覆盖 100+ 模型。

wrap_openai
from openai import OpenAI
from hindsight_litellm import wrap_openai

# 包装你已有的 LLM 客户端即可完成接入。
# 默认指向 Hindsight Cloud;传入 hindsight_api_url 可改用自托管服务端。
client = wrap_openai(
    OpenAI(),
    bank_id="user-123",
    hindsight_api_url="http://localhost:8888",
)

# 调用前 Hindsight 会召回相关记忆,
# 调用后会保留本次对话。
response = client.chat.completions.create(
    model="gpt-5-mini",
    messages=[{"role": "user", "content": "What do you know about me?"}]
)
查看全部集成
编程智能体
11 项,Claude Code、Codex、Cursor等
智能体框架
12 项,LangGraph / LangChain、LlamaIndex、CrewAI等
无代码 / 低代码
4 项,n8n、Zapier、Dify等
应用与工具
5 项,ChatGPT、Perplexity、Obsidian等

编程智能体

npx @vectorize-io/hindsight-coding-agents install all

自动构建「每仓库一个 bank」,数据摄取无需任何初始化命令。

最理想的应用场景

需要应对开放式任务、根据用户反馈改变行为、并学习执行复杂任务以逼近人类工作水平的 AI 员工。用于 n8n 之类的简单工作流也能跑通,只是有些大材小用。

按用户记忆与聊天历史

为聊天机器人做个性化:存储与召回单个用户相关的记忆,用自定义元数据隔离那些需要限定给特定用户的内容。

摄入
用户输入与工具调用经 retain 进入 Hindsight
隔离
自定义元数据限定记忆归属的用户
过滤
召回时按需过滤原始记忆与心智模型
按用户记忆的典型需求示意:按会话保留历史、在用户之间学习、定制用户体验。
典型需求:偏好、事实、对话连续性、数据隔离。
Hindsight 实现按用户记忆的分步指南:安装 SDK、准备元数据、用 retain 存入带元数据的记忆。
实现路径:retain 附元数据,recall 与心智模型按需过滤。

为生产环境而建

已在多家财富 500 强企业的生产环境中使用,被越来越多 AI 初创公司采用。

让你的智能体开始学习

用 Docker 跑起本地服务端,或把客户端指向托管端点,两分钟接入。