感知记忆

这里的感知记忆指对最近观测的短暂保留,让智能体接续行动,同时知道眼前信息何时可能已经过时。

返回概念图谱 →

理解与应用

感知记忆在不同理论和系统里有不同含义。本篇用它描述一个具体的工程职责:暂存刚看到的截图、传感器读数或工具观测,供下一步决策使用。例如网页助手看到一张报销单上的“上传发票”按钮,会保留页面内容和按钮位置;这是一份带时间的观测,不是关于网页永远如此的知识,也不意味着模型天生有一个同名模块。

假设助手准备点击时,用户已经切到另一张报销单。旧截图只过去三秒,仍然可能完全失效。观测因此需要与页面、对象或环境版本一起保存,不能只看获取时间。点击完成后再次观察,又能确认页面是否真的发生变化。这样的短期保留减少重复读取,也把“我刚才看到了什么”与“环境现在是什么状态”区分开来。若操作后无法确认状态,继续沿用旧截图通常比重新观测更危险。

保留多久取决于信息变化速度和任务用途。静态文档页面可以在未变更时复用,报价、库存和按钮状态则需要更及时的核对。观测本身还可能包含遮挡、加载不全或外部指令;新鲜不代表完整,更不代表可信。任务结束后,屏幕里偶然出现的个人信息也没有理由自动变成长期记忆。长期记录应该另有保存目的和权限,而不是短期缓存的自然延长。

关系速览
智能体记忆包含 →感知记忆

短期感知缓冲是实现记忆系统的一种组件,并非所有 Agent 都需要该层。

动手试一试:同时检查观测年龄和页面版本

时间和页面版本均为手工数据。这个缓存判定把“够新”“仍是原页面”和“仍是原对象”同时作为条件;五秒是示例策略,不是网页状态有效期的普遍标准。

将代码保存为 example.py,使用 Python 3.10+ 运行 python3 example.py。仅使用标准库,无需密钥,不会调用外部模型。

Python 代码

observation = {"page_version": 4, "seen_at": 100, "record": "R-204"}
def usable(now, page_version, record, ttl=5):
    age = now - observation["seen_at"]
    return (0 <= age <= ttl
            and page_version == observation["page_version"]
            and record == observation["record"])
print("同页新观测:", usable(103, 4, "R-204"))
print("观测已过期:", usable(110, 4, "R-204"))
print("页面已变化:", usable(103, 5, "R-204"))
print("报销单已切换:", usable(103, 4, "R-205"))

运行结果

同页新观测: True
观测已过期: False
页面已变化: False
报销单已切换: False

常见误区

  • 刚刚获取的截图也可能已经过时,尤其是在页面跳转或用户切换对象之后。
  • 一次局部观测没有覆盖全部环境,不能把没看到的状态当成不存在。
  • 短期需要读取的信息,不等于有必要长期保存的信息。

前置与延伸

建议先读

相关概念

参考与版本

Apollo 原创讲解与教学示例。参考资料用于核对技术定义;核验日不代表资料的发布日期。

  • Gymnasium:Env API ↗

    核对动作后返回观测的环境接口;并未把“感知记忆”称为 Gymnasium 的标准存储模块。 · 核验:2026-10-10

  • Spinning Up:Key Concepts in RL ↗

    核对状态/观测、策略、轨迹、奖励与回报的定义;标准库示例是离散算例。 · 核验:2026-10-10