Hindsight 入门:Agent 跨会话记忆到底保存了什么
安全运营 Hindsight:敏感记忆与 bank 权限
长期保存用户信息前,先验证写入、防护、授权和删除路径。
安全运营 Hindsight:敏感记忆与 bank 权限知识学习CN编辑简报更新 2026-09-26
你将学会
- 写入前给内容分类
- 在读取边界测试隔离
- 规划更正与删除
开始前需要
- Python 客户端基础
- 合成记忆测试样例和明确的部署边界
保存更正、误召回和费用,让下一次测试能重现同样的问题。
先看结论
- 持久记忆增加保留责任。
- bank ID 仍需应用层授权。
- 召回文本不能授予工具权限。
写入前给内容分类
记忆服务会让信息长期存在。发送到 retain 前,应判断文本是否包含个人数据、凭据或客户资料。README 描述了可按 bank 启用的 Memory Defense;既然是可选功能,就必须检查目标 bank 是否真的开启。
模式匹配式脱敏不能代替少收集数据。用合成密钥测试,检查存储表示,并确认日志和模型提供方请求没有保留原值。本次没有执行这项测试。
在读取边界测试隔离
项目描述了 bank 隔离和每个 bank 的 MCP 端点。多用户系统应由应用根据已认证身份映射 bank,然后尝试未经授权的读写。不能只把客户端传入的 bank ID 当成授权依据。
进入 Agent 提示词的记忆可能包含先前文本中的恶意指令。应把召回内容当作数据,保留来源,并在 bank 之外控制工具权限。存一条要求授权的句子,不应让 bank 获得新权限。
规划更正与删除
用户可能更改偏好或要求删除。要能找到原始记录,以及受它影响的观察和心理模型。界面上的删除按钮,不能单独证明备份、日志和模型提供方副本也执行了相同保留策略。
运营清单还应包含端口限制、密钥轮换、备份期限和事故负责人。这些需要在部署时核对;本次源码审阅没有为受监管数据场景作安全认证。
如何选择
| 比较维度 | 方案 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
检查派生记录的更正与删除。
可复制示例
yaml
memory_policy:
bank_owner: authenticated-user
sensitive_input: synthetic-test-only
defense: verify-opt-in
deletion: test-derived-records
network: restricted常见问题
Memory Defense 默认开启吗?
README 说它按 bank 可选启用,处理敏感数据前须核实配置。
自托管意味着内容完全不出本机吗?
取决于所选模型提供方;托管模型可能接收记忆内容。
资料来源
- Hindsight / README.md来源核查 2026-09-26
- Hindsight / hindsight-api-slim/hindsight_api/engine/memory_engine.py来源核查 2026-09-26