Hindsight 入门:Agent 跨会话记忆到底保存了什么
Hindsight 快速上手:用小样例验证 retain、recall 与 reflect
只用虚构数据走通文档示例,并分别检查三个操作的输出。
你将学会
- 先限定服务范围
- 依次调用三个动作
- 把失败也保留下来
开始前需要
- Python 客户端基础
- 合成记忆测试样例和明确的部署边界
保存更正、误召回和费用,让下一次测试能重现同样的问题。
先看结论
- README 命令是起点,本站没有执行。
- 整个实验保持同一个 bank ID。
- 重试 retain 前先定义去重规则。
先限定服务范围
README 给出带嵌入式数据卷的 Docker 镜像、Python 安装和外部 PostgreSQL 路线。本地试用只选其中一条,并核对发行版本后固定镜像或包。文档使用 latest 便于演示,却不利于复现实验。
示例 API 使用 8888 端口,界面使用 9999 端口。评估时应绑定到本机或受限网络。把模型服务凭据放在代码和 shell 历史之外,停容器之前确认数据卷的位置。
依次调用三个动作
Python 示例用 base URL 创建 Hindsight 客户端,随后用 retain 送入文本,用 recall 提问,再用 reflect 提出更宽的问题。三个请求要使用同一个 bank ID,并保存各自的原始响应。只看最终生成的答案,会遗漏是否真正写入了预期陈述。
让合成文本包含一条后来被修正的事实,分别询问旧内容和新内容,再与写入记录核对。这是学习用例,不能据此声称产品在真实环境中的准确率。
把失败也保留下来
服务不可用、模型凭据缺失或 bank ID 写错都应留下明确错误。记录 HTTP 状态或异常、可用的请求 ID 和所用版本。不要无条件重试 retain;重复写入可能改变 bank 的状态。
审阅过的 Python 包装层提供同步方法。正式业务也许要使用异步或批量接口,但第一步仍应建立可检查的单次请求与响应。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
选择并固定一种文档支持的安装方式。
- 2
用虚构 bank 分别打印三个操作的响应。
- 3
记录一个正确结果和一个故意触发的错误。
可复制示例
from hindsight_client import Hindsight
client = Hindsight(base_url="http://localhost:8888")
bank = "fictional-project"
client.retain(bank_id=bank, content="Release review is on Friday")
print(client.recall(bank_id=bank, query="When is the review?"))
print(client.reflect(bank_id=bank, query="What should the team prepare?"))常见问题
必须使用 OpenAI 吗?
README 列出多种托管和本地模型提供方,应选一个受支持的配置进行验证。
本文运行了 Docker 示例吗?
没有。命令来自固定版本的上游源码,需要读者在本机验证。
资料来源
- Hindsight / README.md来源核查 2026-09-26
- Hindsight / hindsight-clients/python/hindsight_client/hindsight_client.py来源核查 2026-09-26