外观
AI 记忆到底是什么?
项目版本说明
这些问答整合历史设计与实现资料;当前 main 分支 README 以工作包描述建设状态。具体能力、实验数据与设计目标的边界见项目状态与证据。
标准回答
AI 长期记忆的基本做法:把值得保留的信息存到外部,回答新问题时再找出相关部分,提供给模型。
先把模型当作“拿着材料回答的人”
你向模型提问时,应用会把问题、指令、相关历史等组成一份输入材料。这份材料叫上下文(Context)。模型根据这份材料和训练时学到的能力生成回答。
普通推理调用不会因为你说“我主要写 Java”,就自动把这句话永久写进模型参数。下一次调用能否知道,取决于应用有没有重新提供相关信息,以及它使用了什么记忆机制。
四个容易混淆的东西
| 概念 | 通俗理解 | 例子 |
|---|---|---|
| 模型参数 | 训练后形成的能力与知识 | 模型知道 Java 的基本语法。 |
| 上下文 / 短期工作记忆 | 这次回答拿到的材料 | 当前对话中的问题、近期消息、工具结果。 |
| 长期记忆 | 跨会话保存、可按需找回的外部信息 | “这个项目使用 PostgreSQL”以及来源和时间。 |
| 聊天记录 | 发生过什么的原始记录 | 几十页对话;其中只有一部分值得提炼成记忆。 |
为什么不把所有聊天都塞回去
输入长度有上限,传入更多内容通常也增加成本和处理时间。大量无关、重复、已过时的信息还会干扰回答。例如旧方案和新方案一起放进去,却没有说明哪个仍有效,模型可能选错。
所以长期记忆需要做两件事:保存有价值的信息;在当前问题下选出仍然适用的信息。
记忆的四个基本动作
- **提取:**从“聊了很多内容”中选出可能长期有用的陈述。
- **存储:**保存文字,以及属于哪个项目、来自哪里、何时有效等信息。
- **检索:**新问题来了,查找相关且允许使用的记忆。
- **提供上下文:**把选中的记忆交给 Agent 或回答流程,由其用于生成回复。
RAG、记忆、Agent 的关系
RAG即检索增强生成:先查资料,再让模型结合资料作答。长期记忆可以采用这条读取路径,同时还需要管理信息如何写入、纠正、过时和撤销。
Agent可以理解为围绕模型运行的一套程序:接收目标、调用工具、观察结果、继续行动。EachOf 提供可调用的上下文能力;Agent 负责何时调用,以及如何使用结果。
你可以这样复述
“模型一次回答只能使用当次获得的材料。长期记忆把重要信息保存起来,需要时再检索并放回上下文,让下一次会话接得上。”
自查:存进数据库后,模型就自动知道了吗?
没有。还需要应用或 Agent 发起检索,并把返回内容放进模型本次输入。存储、返回、实际使用,是三个不同环节。
内容来源
- EachOf Wiki · 记忆与上下文 · 原条目
basics