Skip to main content
长期记忆跨会话、跨时间保存重要信息,包括用户偏好、任务历史、知识要点或长期状态。短期记忆只在单次会话内有效,而长期记忆让智能体在不同会话之间也能记住事实。 为什么需要它:
  • 支持跨会话的连续对话体验;
  • 让智能体在多次交互中保留学习成果和用户特定信息;
  • 减少重复询问,提升满意度与效率;
  • 支撑长期策略优化,如个性化推荐或任务追踪。

统一入口:LongTermMemory

无论使用哪种后端,均通过统一的 veadk.memory.long_term_memory.LongTermMemory 接入。它可直接作为智能体的记忆服务,并根据 backend 选择存储后端。

参数

向量类后端(local、opensearch、redis)会对记忆做向量化,需要安装扩展依赖并配置 embedding 模型。viking、mem0、openviking 与 tos_context 使用外部服务,无需本地 embedding。

选择后端

调试可以用 local;生产环境可根据已有云服务和数据管理要求选择 viking、mem0 或 tos_context。

绑定到智能体

把 long_term_memory 传给 Agent 后,智能体会自动获得 load_memory 工具,可在运行时检索过往会话。

记忆管理

写入:add_session_to_memory

会话结束或达到某个节点时,调用异步方法 add_session_to_memory 把会话持久化。LongTermMemory 会根据自动保存策略过滤事件,默认只保留用户文本事件以提升检索质量;你也可以通过 auto_save_memory_policy 参数自定义过滤规则,再交给后端写入。
add_session_to_memory 接受可选的 auto_save_memory_policy 关键字参数,用于覆盖默认过滤策略:

检索:search_memory

除了智能体运行时通过 load_memory 自动检索,你也可以直接调用异步方法 search_memory 做语义搜索,用于调试或自定义 RAG:
get_user_profile(user_id) 仅 viking 后端支持,用于获取用户画像;其他后端会返回空字符串。

自动保存会话

在初始化 Agent 时开启 auto_save_session=True 并配置好长期记忆,VeADK 会自动把会话写入长期记忆,无需手动调用 add_session_to_memory。
为避免索引被频繁初始化,VeADK 提供 MIN_MESSAGES_THRESHOLD 与 MIN_TIME_THRESHOLD 两个环境变量自定义保存周期:默认在累计 10 条 event 或间隔 60 秒时触发保存;此外,当切换 session_id 并发起新问答时,VeADK 会自动把上一个会话写入长期记忆。 自动保存采用增量写入:每次触发保存时只持久化自上次保存以来新增的事件,而非整个会话。如果两次保存之间没有新事件,则跳过写入。

控制保存内容:auto_save_memory_policy

Agent 接受 auto_save_memory_policy 参数,用于控制自动保存时哪些事件会被写入长期记忆。该参数同样作为 auto_save_memory_policy 关键字参数传递给 add_session_to_memory。 参数类型为 MemoryAutoSavePolicyInput,接受以下形式之一:
  • 字符串预设值:"default"、"all" 或 "custom";
  • MemoryAutoSavePolicy 实例;
  • 与 MemoryAutoSavePolicy 字段同构的 dict;
  • None(等效于 "default")。
使用预设字符串:
使用 MemoryAutoSavePolicy 实例进行精细控制:
MemoryAutoSavePolicy 的完整字段: MemoryEventType 包含以下事件类型:text、thought、function_call、function_response、tool_call、tool_response、media、executable_code、code_execution_result、transcription、error。
预设字符串提供快捷配置。传入 MemoryAutoSavePolicy 实例或 dict 时,以 preset 指定的基础预设为起点,仅显式设置的字段会覆盖预设值,其余字段保持预设的默认行为。

跨会话示例

下面是端到端流程:会话 #1 告诉智能体一个事实并自动归档,然后在全新的会话 #2 提问,智能体通过检索长期记忆(而非上下文窗口)回忆起该事实。这里用 local 后端,需要 pip install "veadk-python[extensions]"。
智能体能在会话 #2 中识别同一用户在会话 #1 留下的偏好,给出连贯、个性化的回答,如推荐一道无花生的素食菜品。
最后修改于 2026年9月19日