记忆:让 Agent 在长期任务中保留关键上下文
Pipora 的记忆模块用于保存 Agent 在长期工作中需要继续使用的信息。它不是简单保存完整聊天记录,而是把对任务有用的资料、偏好、约束和阶段性结论沉淀下来,让后续对话可以接着之前的上下文继续工作。
记忆在创建会话时选择,不属于 Agent 的 YAML 定义。同一个 Agent 可以在无记忆会话中运行,也可以在不同记忆空间、分区和会话中运行;Agent ID 相同不代表它们共享记忆。
记忆适合保存稳定、可复用的信息,例如用户的沟通偏好、常用办公流程、项目背景、固定交付格式、自动化规则和重要决策。临时问题、一次性闲聊和不确定的信息不应该长期写入记忆。
记忆由什么组成
记忆空间
记忆空间决定一套记忆规则,包括是否保存长期信息、是否整理对话要点、是否开启搜索,以及记忆在不同会话之间如何共享。
Pipora 内置了常用记忆空间:
- 长期记忆:适合项目、办公任务和自动化任务,会在记忆分区中持续积累上下文
- 不保存记忆:只使用当前对话上下文,不写入长期资料, 适合一次性的调用
你也可以创建自定义记忆空间,调整模板、整理方式和共享范围。
记忆分区
记忆分区是同一记忆空间下的隔离范围。不同项目、客户、团队或工作场景可以使用不同分区,避免记忆互相污染。
例如:
个人办公:保存日常写作、汇报和文件整理偏好销售项目 A:保存客户背景、跟进节奏和交付格式财务自动化:保存固定报表路径、审批规则和执行频率
新建对话时选择记忆空间和记忆分区,再创建具体 thread;Agent 只会在这次会话绑定的范围里读取和更新记忆。
记忆偏好
记忆偏好保存相对稳定的资料和规则,适合人工查看和直接编辑。它通常包括:
- 用户称呼、语言、时区和沟通偏好
- 当前重点、长期项目、职责和约束
- 常用文档、表格、模板、系统和交付格式
- 适合自动化的重复任务、触发条件和确认规则
- 隐私、外部发送、发布、付费等安全边界
当这些信息有误或过期时,可以在记忆面板里手动修改。
记忆要点
记忆要点由系统从对话中自动整理,用来压缩长对话和保留阶段性结论。它更适合保存过程性信息,例如最近讨论过的方案、已确认的限制、下一步计划和历史决策。
当对话变长时,Agent 会把旧内容整理成更短的要点,减少重复解释,也避免上下文过长影响后续任务。
搜索记忆
如果记忆空间开启了语义搜索,可以在记忆页搜索历史消息和已整理内容,用来找回之前聊过的主题、决策或资料线索。
什么时候使用记忆
长期办公任务
当 Agent 需要持续帮助你写周报、整理会议纪要、维护项目材料或准备汇报时,可以把稳定偏好和固定格式保存到记忆里。
自动化任务
当 Agent 需要反复执行同类动作时,记忆可以保存触发条件、执行频率、输入输出位置和需要人工确认的步骤。
多轮项目协作
当一个项目跨越多次对话时,记忆可以保存项目背景、关键约束、已做决策和未解决问题,避免每次重新说明。
使用建议
在创建会话时选择
一次性问答、Agent smoke test 和标准化评测通常使用不保存记忆。持续项目再选择记忆空间和分区;同一分区可创建多个 thread,以保留相同项目边界下彼此独立的对话。
按场景拆分记忆分区
不要把所有内容都放进一个分区。不同客户、项目或职责边界明确时,建议单独创建分区。
只保存长期有效的信息
记忆不是待办清单,也不是完整日志。只把后续还会用到的信息写入记忆;临时草稿、一次性数据和不确定结论可以留在当前对话里。
定期检查和清理
如果 Agent 开始引用过期规则,打开记忆面板查看记忆偏好和记忆要点,直接删除或改写错误内容。
敏感操作保留确认
对外发送、发布、删除文件、付款、授权和调用外部系统等操作,应在记忆中写清楚确认规则。Agent 可以记住偏好,但不应该绕过你设定的边界。
一句话总结
记忆 = 记忆空间 + 记忆分区 + 记忆偏好 + 记忆要点 + 搜索。它让 Agent 在办公和自动化任务中保留长期有效的上下文,同时仍然保持可查看、可编辑、可清理。