Hindsight

vectorize-io/hindsight 访问 GitHub ↗
🔤 Python ★ 53139 ⑂ 0 monthly #5 (+28115) 抓取 2026-10-24

一句话简介

一个面向代理系统的长记忆与经验存储库,提供智能检索与反思能力,帮助AI代理跨任务积累并复用知识。

标签

  • AI代理
  • 记忆管理
  • 向量检索
  • Python
  • 经验复用

适用应用场景

  • 为对话代理构建跨会话长期记忆
  • 在多步骤任务中进行经验检索与反思
  • 将历史交互向量化以支持语义查询
  • 为智能体框架提供即插即用的记忆后端

README 中文摘要

项目概述

Hindsight 是一个面向智能体(Agent)的记忆系统,目标是让 Agent 能够随着时间推移持续学习,而不仅仅是对话历史的回放。它针对 RAG 与知识图谱方案的不足进行了优化,在长期记忆任务上达到了业界领先水平。该系统已被多家财富 500 强企业与 AI 初创公司用于生产环境,其基准测试结果由弗吉尼亚理工大学 Sanghani 中心独立复现。

快速开始

启动服务端

推荐使用 Docker 方式启动:

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
# API: http://localhost:8888
# UI:  http://localhost:9999

可通过环境变量 HINDSIGHT_API_LLM_PROVIDER 切换 25 种以上的大模型供应商,包括 OpenAI、Anthropic、Gemini、Bedrock、Vertex AI、DeepSeek、Ollama、LMStudio 等,也支持 ChatGPT Plus/Pro、Claude Pro/Max、Cursor、GitHub Copilot 等订阅渠道。其他部署方式包括 Docker Compose(外置 PostgreSQL)、pip install hindsight-api(裸机)、Helm Chart(Kubernetes),或直接使用免运维的 Hindsight Cloud。

连接客户端

pip install hindsight-client -U
npm install @vectorize-io/hindsight-client
go get github.com/vectorize-io/hindsight/hindsight-clients/go
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")

系统还提供无需启动独立服务的嵌入式模式:pip install hindsight-all,通过 HindsightServer 上下文管理器在进程内启动,并自动连接 HindsightClient。

接入现有 Agent

LLM 包装器(两行代码)

只需将现有 LLM 客户端替换为包装版本,记忆的存储与检索会在每次调用时自动完成:

from openai import OpenAI
from hindsight_litellm import wrap_openai

client = wrap_openai(
    OpenAI(),
    bank_id="user-123",
    hindsight_api_url="http://localhost:8888",
)

response = client.chat.completions.create(
    model="gpt-5-mini",
    messages=[{"role": "user", "content": "What do you know about me?"}],
)

wrap_anthropic() 用于 Anthropic SDK。底层基于 LiteLLM,覆盖 100 多种模型。

集成与 MCP

系统提供 60 多种集成方案,涵盖 Claude Code、Codex、Cursor、Copilot 等编程 Agent,以及 LangGraph、LlamaIndex、CrewAI、Pydantic AI、OpenAI Agents SDK 等 Agent 框架,还支持 n8n、Zapier、Dify 等无代码工具。每个服务端都内置 MCP 端点:http://localhost:8888/mcp/{bank_id}/,可直接将 retain、recall、reflect 暴露为工具。

核心概念

记忆类型

Hindsight 采用仿生数据结构组织记忆:

  • World facts:关于世界的事实("炉子会烫手")
  • Experiences:Agent 自身的经历("我摸了炉子,很疼")
  • Observations:由多条记忆汇聚形成的、有证据支撑的稳定观点
  • Mental models:从观察与事实中提炼出的对世界的理解

所有记忆都存放在 Bank(记忆库)中,每个 Bank 之间严格隔离,并带有 disposition traits(怀疑倾向、字面理解、共情度)等背景配置,影响 reflect 阶段的推理风格。系统还支持多语言端到端保留(中文姓名不会被翻译为拼音),并提供 Memory Defense 功能,可对 45 种敏感模式(密钥、PII)进行打码或拦截。

三个核心操作

  • retain:写入记忆。内部会调用 LLM 抽取事实、时间信息、实体与关系,并归一化为标准实体、时序与索引。
  • recall:检索记忆。并行执行四种检索策略——语义向量、BM25 关键词、实体/时序/因果图谱、时间范围过滤——然后使用倒数排名融合与 Cross-encoder 重排序得到最终结果。
  • reflect:对已有记忆做深度分析,回答需要推理而不仅是检索的问题,例如项目风险评估、销售邮件复盘、文档盲点发现。

观察、心智模型与知识页

被 retain 的事实会在后台被合并为 observation——带有原始证据引用和 proof count 的去重观点,新证据会增强、削弱或扩展现有观点而非直接覆盖。Mental model 是针对某个固定问题的常驻答案,可在启动时直接读取,无需检索或 LLM 调用。Knowledge page 是 wiki 形式组织的活文档,可投射为磁盘上的 Markdown 文件。

运行场景与生产部署

Hindsight 适用于需要长期学习、用户个性化、跨会话记忆的对话与自主 Agent,典型用例包括个性化聊天机器人、AI 项目经理、销售 Agent、客服 Agent 等。

生产环境支持 PostgreSQL + pgvector 或 Oracle AI Database 23ai 作为存储后端,配置体系分全局环境变量、租户级、Bank 级三层,支持 Prometheus 监控指标、Admin CLI、Webhook 事件以及租户、认证、存储扩展点,也可直接使用托管版 Hindsight Cloud。

摘要更新于 2026-09-30 00:30:42 · 原文 24805 字符 · md5 9459849cc890…