如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Hindsight™ 是一个智能体记忆系统,旨在创建能够随时间推移学习的更智能的智能体。大多数智能体记忆系统专注于回忆对话历史,而 Hindsight 则专注于打造能够学习而非仅仅记忆的智能体。
它消除了诸如 RAG 和知识图谱等替代技术的缺点,并在长期记忆任务上提供了最先进的性能。
目录
Hindsight 是经基准测试验证的最准确的智能体记忆系统。它在 LongMemEval 基准测试中取得了最先进的性能,该基准广泛用于评估各种对话式 AI 场景下的记忆系统性能。截至 2026 年 1 月,Hindsight 和其他智能体记忆解决方案的当前报告性能如下:
实时、持续更新的结果(包括每个模型的准确性、延迟和成本)发布于 benchmarks.hindsight.vectorize.io。
Hindsight 的基准性能数据已由弗吉尼亚理工大学 Sanghani 人工智能与数据分析中心 和《华盛顿邮报》的研究合作者独立复现。其他分数由软件供应商自行报告。
Hindsight 已在财富 500 强企业的生产环境中使用,并被越来越多的 AI 初创公司采用。
🤖 正在使用编码智能体? 安装 Hindsight 文档技能,以便在编码时即时访问文档:
> npx skills add https://github.com/vectorize-io/hindsight --skill hindsight-docs
>
适用于 Claude Code、Cursor 和其他 AI 编码助手。
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 通过 HINDSIGHT_API_LLM_PROVIDER 支持 25 种以上 LLM 提供商——托管型(openai、anthropic、gemini、groq、bedrock、vertexai、minimax、deepseek、atlas、meta 等)、完全本地型(ollama、lmstudio、llamacpp)、任何 OpenAI 兼容端点,以及可连接其他提供商的网关(litellm、litellmrouter)。现有订阅也适用:openai-codex(*** Plus/Pro)、claude-code(Claude Pro/Max)和 github-copilot(GitHub Copilot)无需 API 密钥。详见 支持的模型。
为现有智能体添加记忆的最简单方法是使用 LLM 包装器。将您的 LLM 客户端替换为包装后的客户端——之后每次调用都会自动存储和检索记忆,无需对代码进行其他更改。
pip install hindsight-litellm
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?"}],
)
wrap_anthropic() 为 Anthropic SDK 提供相同功能,并且每个设置(存储库、召回预算、事实类型、使用反思而非召回等)都可以通过 hindsight_* 参数在每次调用时覆盖。底层使用 LiteLLM,因此同一集成支持 100 多种模型。请参阅 LiteLLM 集成。
如果您需要明确控制记忆的存储和召回时机,请直接使用 SDK 或 REST API。
60 多种集成——大多数无需代码更改。
👉 浏览所有集成
一个包为 CLI 编码智能体提供长期项目记忆:从 git 历史和过往会话自动构建的每个仓库存储库,在智能体开始工作时注入,外加涵盖架构、约定和进行中工作的精选知识页面。
npx @vectorize-io/hindsight-coding-agents install all # 所有检测到的智能体,原生连接
npx @vectorize-io/hindsight-coding-agents install claude-code # 或仅安装一个
支持 Claude Code、Codex CLI、Cursor CLI、GitHub Copilot CLI、opencode、Kilo CLI、Cline CLI、Antigravity CLI、Devin CLI、pi、Prime Agent、Grok Build 和 DeepSeek Harness。数据摄入是自动的——无需设置命令。请参阅 编码智能体集成。
每个服务器都内置了 https://modelcontextprotocol.io/ 端点,每个存储库一个,默认启用:
将任何 MCP 客户端指向该端点,即可将 retain、recall 和 reflect 作为工具公开。请参阅 MCP 服务器文档。
大多数智能体记忆实现依赖基本的向量搜索,有时也使用知识图谱。Hindsight 使用仿生数据结构来组织智能体记忆,其方式更接近人类记忆的工作原理:
记忆存储在 存储库(banks) 中。添加记忆时,它们会被推入世界事实或经验路径,然后表示为实体、关系和时间序列的组合,并带有稀疏/密集向量表示,以帮助后续召回。
存储(Retain)
retain 操作用于将新记忆推送到 Hindsight 中。它告诉 Hindsight 保留 您作为输入传递的信息。
client.retain(
bank_id="my-bank",
content="Alice got promoted to senior engineer",
context="career update",
timestamp="2025-06-15T10:00:00Z",
)
在幕后,retain 使用 LLM 提取关键事实、时间数据、实体和关系。它通过标准化过程将提取的数据转换为规范实体、时间序列、搜索索引以及元数据。这些表示为 recall 和 reflect 操作中的准确记忆检索创建了路径。
Retain 文档 →
召回(Recall)
recall 操作用于检索记忆。这些记忆可以来自任何记忆类型(世界事实、经验等)
client.recall(bank_id="my-bank", query="What does Alice do?")
client.recall(bank_id="my-bank", query="What happened in June?") # 时间相关
Recall 并行执行 4 种检索策略:
各个结果被合并,使用 reciprocal rank fusion 和交叉编码器重排序模型按相关性排序,然后根据需要裁剪以适应令牌限制。
Recall 文档 →
反思(Reflect)
reflect 操作对现有记忆进行更深入的分析。这使智能体能够在记忆之间建立新的联系,更全面地理解其世界——或者回答需要深入思考而非简单查找的问题。
client.reflect(bank_id="my-bank", query="What should I know about Alice?")
例如,reflect 支持以下用例:
Reflect 文档 →
存储的事实不会保持扁平堆积。在后台,Hindsight 将相关事实合并为 观察结果(observations)——存储库随时间积累的去重信念。每个观察结果都保留其支持证据,包括确切引用和证据计数,并且在新证据到来时会被完善而非覆盖,因此新信息会强化、削弱或扩展现有信念,而不是无声地替换它。
观察结果文档 →
bank 是一个隔离的内存存储——一个用户、代理或项目的“大脑”。隔离是严格的:不存在跨bank泄漏。Banks 携带背景上下文和 disposition traits(怀疑主义、字面主义、同理心),这些特质会影响其对记忆的反思推理方式,并且可以通过声明式 bank 模板 创建。
另外两个值得了解的特性:
[REDACTED:github_token]),要么在项目到达存储前阻止它。文档 →Hindsight 旨在支持对话式 AI 代理以及旨在自主执行任务的代理。Hindsight 的理想用例是需要融合这些功能的代理,例如需要处理开放式任务、根据用户反馈改变行为、学习执行复杂任务以实现接近人类水平的工作自动化的 AI 员工。Hindsight 可用于简单的 AI 工作流,如使用 n8n 和其他类似工具构建的工作流,但对此类应用可能过于复杂。
Hindsight 较简单的用例之一是通过存储和召回与单个用户相关的记忆,来个性化 AI 聊天机器人和其他对话代理。
此用例的需求通常如下:
在 Hindsight 中满足这些要求很简单。当使用 retain 操作将新的用户输入和工具调用摄入 Hindsight 时,可以使用自定义元数据来丰富新记忆。元数据提供了一种便捷的方式来隔离需要限制给特定用户的记忆。一旦将这些输入 retain 操作,在检索相关记忆时,可以过滤掉任何创建的原始记忆和心智模型。
更多模式参见 Cookbook 和 最佳实践。
| 类别 | 说明 |
|---|---|
| 存储 | PostgreSQL + pgvector,或 Oracle AI Database 23ai(功能完全对等)——存储 |
| 配置 | 分层结构:全局环境变量 → 每租户 → 每bank — 配置 |
| 监控 | Prometheus 指标和仪表板,用于 LLM 调用、令牌和延迟监控 — 监控 |
| 运维 | 用于迁移、bank 修复和卡住操作的管理 CLI — 管理 CLI |
| 事件 | 用于 retain、整合和刷新生命周期事件的 Webhook — Webhook |
| 可扩展性 | 租户、身份验证和存储扩展点 — 扩展 |
| 托管服务 | 使用 Hindsight Cloud 可省去所有这些麻烦 — 托管服务,按使用付费,99.9% 正常运行时间 SLA |
文档:
客户端:
社区:
参见 CONTRIBUTING.md。
MIT — 参见 LICENSE
由 Vectorize.io 构建
来自真实用户的反馈,见证轩辕镜像的优质服务