跳到主内容
Hindsight中文

Concepts

核心概念

Hindsight 用仿生数据结构组织智能体记忆:世界事实、经历、观察与心智模型。所有记忆都通过 retain、recall、reflect 三个操作进出 bank。

记忆类型

多数智能体记忆实现依赖基础的向量检索,偶尔使用知识图谱。Hindsight 采用仿生数据结构来组织智能体记忆,更接近人类记忆的工作方式。

世界事实

World facts

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

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

经历

Experiences

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

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

观察

Observations

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

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

心智模型

Mental models

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

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

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

三个核心操作

Retain保留

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

它告诉 Hindsight 保留你作为输入传入的信息。抽取出的规范化实体、时间序列、搜索索引与元数据,共同构成后续 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",
)

Retain 文档

Recall召回

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

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 种检索策略:

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

各路结果会被合并,先以倒数排名融合(reciprocal rank fusion)按相关性排序,再用交叉编码器(cross-encoder)重排模型重排,最后按需裁剪以适配 token 上限。

Recall 文档

Reflect反思

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

reflect 操作对已有记忆做更深入的分析。它让智能体在记忆之间建立新的联系,并对自身世界形成更透彻的理解,适合回答那些需要深度思考、而非简单查表的问题。

reflect
client.reflect(bank_id="my-bank", query="What should I know about Alice?")

例如,reflect 适用的场景包括:

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

Reflect 文档

观察

被保留的事实不会始终堆成一摊。在后台,Hindsight 会把相关事实整合为观察,也就是 bank 随时间积累起来的、已去重的信念。

每条观察都保留支撑证据(含原文引用)与证明计数。当新证据到来时,它会被精炼而非覆盖,因此新信息会强化、削弱或延展既有信念,而不是悄无声息地替换掉它。

观察文档

心智模型与知识页

读取心智模型只是一次数据库读取,无需检索,也无需调用 LLM。于是智能体可以带着一页已成定论的知识启动,而不必每次会话都重新发现。

记忆库(Banks)

bank 是一个相互隔离的记忆存储,可以理解为一个用户、智能体或项目的「一颗大脑」。隔离是严格的,bank 之间不会泄漏。

bank 带有背景上下文与倾向特质(disposition traits,如怀疑、拘泥字面、共情),这些特质塑造了 reflect 在其记忆上推理的方式,并可由声明式的bank 模板创建。

默认多语言

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

记忆防御(Memory Defense)

一项可按 bank 启用的策略,针对 45 种模式扫描每次 retain 中的密钥与 PII,要么对命中项做脱敏,要么在存入前直接拦截。

启用记忆防御
# 每行一个标识,命中即拦截
HINDSIGHT_MEMORY_DEFENSE=github_token,aws_access_key,email,phone